This page explains the approach with an example. For the full schema — every type, field, and filter argument — the Operations reference is the single source of truth. Always check it for current fields.
Sending a query
Send queries as an HTTPPOST to https://clarus-api.com/graphql.
Example query
This query reads sites. It’s a good way to confirm your connection and credentials work, because it returns data without you having to set anything up first. It is illustrative — see the Operations reference for the full set of fields and arguments.Connections, edges, and nodes
Clarus GraphQL queries return connections. Rather than a plain list, a connection wraps your results so they can be paged:edges— the list of results. Each edge has acursor(a pointer to that item) and anode.node— the actual record and its fields (in the example above, a site’sid,code, andname).pageInfo— paging metadata, such ashasNextPageandendCursor.
Filtering and searching
List queries accept arguments to narrow what comes back — for example filtering by a field value or limiting to records changed within a date range. The arguments available depend on the resource; the Operations reference lists them per query.Pagination
Results are paged with cursors. Request a page withfirst (how many) and after (the cursor to start from), then read pageInfo to decide whether to fetch more:
hasNextPage— whether more records are available.endCursor— pass this as the nextaftervalue to get the following page.

