Search Cases
Search for cases using a flexible query language.
Search vs. List Endpoints
The Search and List endpoints serve different purposes and have distinct performance characteristics.
Use the Search endpoint (POST /cases/search) when you need to perform complex queries with boolean logic (AND/OR/NOT), filter by custom fields, assignee, case queue, or SLA expiration, or apply multiple conditions simultaneously. Search is optimized for flexible querying and is faster than paginating through all resources when looking for specific records.
Use the List endpoint (GET /cases) for simple listing with basic filters like status, case template, account, inquiry, or report.
Data Freshness
Do not use search for read-after-write flows because the data will not be immediately available to search. Under normal operating conditions, data is searchable within approximately 1 minute of creation or modification. Propagation of new or updated data could be delayed during an outage. For workflows that require immediate data availability after creating or updating a case, use the List Cases endpoint instead.
Searchable Attributes
The following attributes can be used in query predicates:
Note: Custom fields (fields.*) must be configured as searchable on the Case Template to be queryable.
Note: account_id, inquiry_id, tag_id, case_template_id, case_queue_id, and
resolution cannot be used in sort.
Note: account_id, inquiry_id, and tag_id match against the 50 most recently added
accounts, inquiries, and tags on a case. A case related to more than 50 of one of these will not
match on the older ones.
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Headers
Query parameters
Comma-separated list(s) of attributes to include in the response. This can be used to customize which attributes will be serialized in the response. See Serialization for more details.
Request
Search query using boolean logic (AND/OR/NOT) and comparison operators. Supports predicates with operators: eq (equal), gt (greater than), gte (greater than or equal), lt (less than), lte (less than or equal).
Response headers
The unique identifier of the API log entry that recorded this request. Starts with req_. Include this value when reaching out to Persona support. Present on every authenticated response, including error responses.

