Pagination, sorting and filters
Cursor​
Listings are paginated by cursor:
| Parameter | Default | Rule |
|---|---|---|
limit | 25 | from 1 to 100 |
cursor | — | the previous page's meta.next_cursor |
curl -H "Authorization: Bearer $KOBANA_TOKEN" \
"https://api.kadu.ia.br/v1/executions?limit=50"
{
"data": [ … ],
"meta": { "next_cursor": "eyJpZCI6IjJmMWMi…", "limit": 50 }
}
Repeat the call with cursor=<next_cursor> until next_cursor comes back
null. The cursor is opaque: do not build or interpret it. An invalid cursor
responds 400 VALIDATION_ERROR.
Sorting​
| Parameter | Default | Values |
|---|---|---|
sort_by | created_at | created_at, updated_at or a filterable field of the resource |
sort_order | desc | asc or desc |
Filters​
Each resource accepts filters on specific fields, in the form field=value or
field[operator]=value:
| Operator | Example | Meaning |
|---|---|---|
| (none) | status=failed | equal |
in | status[in]=failed,cancelled | one of the values, comma-separated |
gte, lte, gt, lt | reference_date[gte]=2026-10-01 | greater than or equal, less than or equal, greater, less |
not | status[not]=success | different |
Examples of filterable fields:
| Resource | Fields |
|---|---|
/v1/tasks | workspace_id, activity_id, skill_slug (equal or in) |
/v1/executions | task_id, workspace_id, activity_id, status (equal or in); reference_date, started_at (gte, lte) |
An operator that the field does not accept responds 400 VALIDATION_ERROR. A
parameter that is not a filter of the resource is ignored.
curl -H "Authorization: Bearer $KOBANA_TOKEN" \
"https://api.kadu.ia.br/v1/executions?status[in]=failed,cancelled&reference_date[gte]=2026-10-01&sort_order=asc"
Lists without a cursor​
Some listings return a fixed set, with no pagination: webhook deliveries (the 50 most recent), organization members (up to 100) and system events (the 100 most recent). Each endpoint's reference says which case applies.