Pagination & Filtering

List-style procedures across the Inklura API follow a shared pagination convention. Because it is a convention rather than a framework-enforced contract, the exact shape can vary from one procedure to the next — always confirm against the specific procedure you are calling.

The page / pageSize convention

List procedures typically accept two inputs:

Input Default Notes
page 1 1-based page number.
pageSize 20 Items per page; capped at 100.

A query request encodes them in the superjson input envelope (see tRPC):

curl -G "https://manage.inklura.fr/api/trpc/products.list" \
  -H "Authorization: Bearer $INKLURA_TOKEN" \
  --data-urlencode 'input={"json":{"page":2,"pageSize":50}}'

Response shape

A paginated procedure returns an object with the items plus the paging metadata, nested (as always) at result.data.json:

{
  "result": {
    "data": {
      "json": {
        "items": [ { "id": "…" } ],
        "total": 137,
        "page": 2,
        "pageSize": 50
      }
    }
  }
}
  • items — the page of results.
  • total — the total number of matching rows.
  • page / pageSize — echo back the request (or the defaults that were applied).

It varies per router

Warning

Pagination is a per-router convention, not a framework guarantee. Not every list procedure paginates, and those that do may name or shape their inputs and response slightly differently. Verify the exact contract for each procedure rather than assuming the shape above.

Filtering & search

Filtering and search inputs also vary per router. Many list procedures accept a search string and/or status filters, but the available filters — and their names — depend on the domain. There is no single, framework-wide filter contract; consult the specific procedure in the router catalog.