# List Task Run History (Cursor-Paginated)

> List Task Run History (Cursor-Paginated) is a paid API for AI agents from scheduler.withzero.xyz, paid per call via MPP, metered — billed by usage, status healthy (last checked 2026-09-11, last successful call 2026-09-02).

Returns slim, cursor-paginated rows of execution runs for a specific scheduled task, up to 50 per page.

## Facts

- Endpoint: GET https://scheduler.withzero.xyz/api/v1/tasks/{id}/runs
- Price: metered — billed by usage
- Payment: MPP
- Status: healthy
- Last checked: 2026-09-11
- Last successful call: 2026-09-02
- Success rate: 99% of calls made through Zero
- Rating: 5.0 / 5 from 2 reviews
- Activations on Zero: 154
- Provider: scheduler.withzero.xyz
- Website: https://scheduler.withzero.xyz
- Canonical page: https://www.zero.xyz/c/scheduler-withzero-xyz-list-task-run-history-cursor-paginated-b0badc61
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vUfpA_yc1iqC4p1F68D7A

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability scheduler-withzero-xyz-list-task-run-history-cursor-paginated-b0badc61
```

Example prompt: Show me the last 50 runs for my scheduled task with ID 3f2e1d0c-1234-5678-abcd-ef0123456789 — I want to see their statuses, exit codes, and how much each run cost.

## When to prefer this

Use this endpoint when you need to audit, monitor, or debug the execution history of a specific recurring or ad-hoc task managed by scheduler.withzero.xyz. It is the right choice when you need cost breakdowns per run, status checks, or want to paginate through a large history without fetching full run details.

## Known failure modes

- Task ID not found or not owned by caller — 404 or 403
- Invalid cursor token — 400 or 422
- Limit exceeds 50 — 400 validation error
- Authentication/proof missing or invalid — 401
- Task has no runs yet — returns empty array with null next_cursor

## How this service works

Slim per-run rows, cursor-paginated (limit ≤50). 📖 Full guide: https://scheduler.withzero.xyz/llms.txt

## Output

An array of slim run records each containing: UUID run ID, status string, trigger type, started_at and finished_at timestamps (nullable), exit code (nullable), cost_total_micros (nullable), and sibling_call_count. Also includes a next_cursor string (nullable) for fetching the next page of results.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "id"
 ],
 "properties": {
  "id": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "runs",
  "next_cursor"
 ],
 "properties": {
  "runs": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "id",
     "status",
     "started_at",
     "finished_at",
     "exit_code",
     "cost_total_micros",
     "sibling_call_count",
     "trigger"
    ],
    "properties": {
     "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
     },
     "status": {
      "type": "string"
     },
     "trigger": {
      "type": "string"
     },
     "exit_code": {
      "anyOf": [
       {
        "type": "number"
       },
       {
        "type": "null"
       }
      ]
     },
     "started_at": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ]
     },
     "finished_at": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ]
     },
     "cost_total_micros": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ]
     },
     "sibling_call_count": {
      "type": "number"
     }
    },
    "additionalProperties": false
   }
  },
  "next_cursor": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ]
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/scheduler-withzero-xyz-list-task-run-history-cursor-paginated-b0badc61/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from scheduler.withzero.xyz](https://www.zero.xyz/host/scheduler.withzero.xyz/llms.txt)
