The ticket search API lets you find, filter, and analyze support tickets using flexible Typesense-powered queries. You can search by text, filter by any ticket property, and select exactly which fields you want in the response.

Example use cases

  • Get recent tickets assigned to me that are open

    {
      "query_by": "title,description",
      "filter_by": "assignedAgentName:=john.doe@company.com&&statusName:=open",
      "sort_by": "createdAt:desc",
      "per_page": "10",
      "q": "*"
    }
  • Get all tickets from customer A that are high priority in the last 30 days

    {
      "query_by": "title,description",
      "filter_by": "accountName:=CustomerA&&priorityName:=high&&createdAt:>2024-04-01",
      "sort_by": "createdAt:desc",
      "q": "*"
    }
  • Find tickets with the word ‘refund’ that are unresolved

    {
      "query_by": "title,description",
      "q": "refund",
      "filter_by": "statusName:!=resolved"
    }
  • List all escalated tickets for a specific team

    {
      "query_by": "title",
      "filter_by": "teamUid:=T88S900BHN&&isEscalated:=true",
      "q": "*"
    }
  • Get tickets created by a specific requestor in the last week

    {
      "query_by": "title,description",
      "filter_by": "requestorEmail:=user@company.com&&createdAt:>2024-05-01",
      "q": "*"
    }

Ticket search response fields

Below are all the fields you may see in a ticket search result. Many are optional and will only appear if included in your include_fields parameter.

FieldTypeDescription
idstringUnique identifier of the ticket
ticketIdentifierstringTicket identifier (e.g. SPO-42260)
titlestringTitle of the ticket
descriptionstringDescription of the ticket
teamUidstringTeam UID
organizationUidstringOrganization UID
statusNamestringStatus name (e.g. Resolved)
priorityNamestringPriority name (e.g. Medium)
createdAtstringCreation timestamp (ISO8601)
updatedAtstringLast update timestamp (ISO8601)
assignedAgentNamestringName of the assigned agent
accountNamestringName of the associated account
accountPrimaryDomainstringPrimary domain of the account
accountWebsitestringWebsite of the account
accountAnnualRevenuestringAnnual revenue of the account
accountEmployeesstringNumber of employees in the account
accountOwnerIdstringAccount owner ID
accountOwnerEmailstringAccount owner email
accountOwnerNamestringAccount owner name
accountOwnerUserTypestringAccount owner user type
accountOwnerStatusstringAccount owner status
accountOwnerTimezonestringAccount owner timezone
contactEmailstringContact email
contactNamestringContact name
contactPhonestringContact phone
dueDatestringDue date
teamIdentifierstringTeam identifier
[Many more fields, including SLA fields, see API reference for full list]

For a full list, see the TicketSearchResponseDto in the API reference.


Tip: Use the include_fields parameter to limit the response to only the fields you need for performance and clarity.