Querying

Filtering

List endpoints typically support filtering. The syntax is the same everywhere. Use a filter query parameter:

filter=<propName>:<op>:<value>

Operators:

  • eq: equals
  • ne: not equals
  • gt: greater than
  • lt: less than
  • in: matches any of several values, separated with |
  • nin: matches none of several values, separated with |

Some endpoints also support contains. Each endpoint's filter parameter says which operators it supports.

Examples:

…/document_types?filter=category:eq:Invoice
…/transactions?filter=transactionStatus:in:COMPLETED|COMPLETED_NO_DELIVERY

in is an OR: an item matches if it has any of the listed values.

Sorting

Sort with the sort and sortOrder query parameters:

sort=<propName>&sortOrder=<asc|desc>

Ascending is the default.

Searching

Search with the search query parameter:

search=<search string>

Unlike filtering and sorting, a search does not name a property. It looks across all the searchable properties of the data type. For example, searching participants for "acm" finds a participant named Acme as well as one whose participantIdentifier contains "acm".

Combining them

You can use all three in one request:

GET /orgs/{orgId}/participants?filter=environment:eq:TEST&sort=name&search=acm

Which properties you can filter, sort and search differs per endpoint. Each endpoint lists them in its parameters in the API reference.

In the API reference

The filter, sort, search and limit parameters are described on each list endpoint in the API reference.