Skip to main content
Every collection endpoint in Orgo (GET /api/v1/users, GET /api/v1/events, GET /api/v1/payments, …) supports the same pagination, filtering, and ordering query parameters. Once you learn the pattern on one endpoint, the rest follow the same shape.

Pagination basics

Defaults: 30 items per page, maximum 100 per page.
pagination=false is only honored on endpoints flagged for it (mostly small reference lists like countries and counties). On large collections it is ignored — you must paginate.

Iterating every page

The reliable way to iterate all pages depends on which response format you accept.

With JSON-LD (the default)

Follow hydra:view.hydra:next until it is absent:

With plain JSON

You do not get totals or next-page links — increment page until the response is shorter than itemsPerPage:
For long-running exports, prefer JSON-LD — hydra:totalItems lets you display progress and hydra:next is a stable signal that the server still has more rows.

Filtering

Filters are query-string parameters. The available filters differ per resource and are listed under each endpoint’s Parameters section in the reference.

Exact-value filter

Filter by relation (IRI)

When filtering by a relation, pass the related resource’s IRI:
You can also pass just the ID — the server resolves both shapes:

Multi-value (OR)

Repeat the parameter to filter against any of several values:
Returns users in local center 4, 7, or 12. Most user-facing collections support a keyword parameter for full-text search across the most-relevant fields:

Date range

Date filters use the [before], [after], [strictly_before], [strictly_after] modifiers:

Boolean

Use true / false:

Custom-field filters

User and Contact resources expose a customFieldValues.value filter that targets the value column of the custom-fields table. Pair with customFieldValues.customField (the custom field IRI) to target a specific field:

Ordering

Use order[field]=asc|desc. Order by multiple fields by repeating the parameter:
The default order varies per resource (usually dateCreated descending for “feed” resources like Events and Newsletters, alphabetic for reference data).

Combining filters, ordering, and pagination

Stack them with &:
URL-encode parameter values that contain spaces or special characters (?keyword=annual%20meeting). Most HTTP clients do this automatically.

Performance notes

  • Collection endpoints fetch and serialize each row’s full read group. For large datasets, prefer narrow filters before broad ones (?status=ACTIVE shrinks the row count before any extra joins).
  • itemsPerPage=100 is the maximum — larger requests return at most 100 and the rest must be paginated.
  • Sorting by a non-indexed column on a large collection can be slow. If a sort feels slow, check whether the column is documented as filterable — those are guaranteed indexed.

  • Content types — the Hydra envelope shape used in JSON-LD pagination
  • Errors — what bad filter / order values produce