REST API
Listing tasks
GET /api/tasks returns your tasks, newest first: statuses, timings and — for interrupted ones — the pending tool calls.
GET
/api/tasks
The list is for when a task's uuid has already been lost: to find out what's holding the limit after a
429, to clean up leftovers after a process crash, or to show users their queue.
Query parameters
| Parameter | Type | Description |
|---|---|---|
status | string | array | Status filter. A single one (?status=interrupted), several separated by commas (?status=pending,processing) or an array (?status[]=…). An unknown status returns 422 rather than silently listing everything. |
page | integer | Page number, starting from 1. Default 1. |
per_page | integer | Page size, 1–100. Default 25. |
Response
{
"data": [
{
"uuid": "550e8400-…",
"status": "interrupted",
"error": null,
"created_at": "2026-08-06T05:41:00.000000Z",
"completed_at": null,
"pending_tool_calls": [
{ "id": "call_abc", "name": "get_user_location", "arguments": { … } }
]
}
],
"meta": { "current_page": 1, "per_page": 25, "last_page": 3, "total": 64 }
}
pending_tool_calls is present only on tasks in the interrupted status — a single
request shows what each of them is waiting for.
The list doesn't include turn
List rows have no turn field: it's the whole turn, model messages included, and a page of 25
tasks would weigh megabytes. For the result, use GET /api/tasks/{uuid}.
Clearing a maxed-out limit
The standard routine after a 429: see what's pending, then either answer or cancel.
GET /api/tasks?status=interrupted # what's holding the limit POST /api/tasks/{uuid}/tool-results # answer the call… POST /api/tasks/{uuid}/cancel # …or give up on it POST /api/tasks/cancel-interrupted # or cancel every interrupted task at once
More on interrupted tasks and canceling — Client tools; on the limit itself — Errors and limits.
Only your own tasks
Only tasks of the same user (sub in the JWT) are returned. Completed, failed and canceled tasks
are kept for 30 days and then deleted — after that they no longer appear in the list.