---
title: "List jobs"
locale: en
url: https://tlg.builera.app/en/docs/reference/rest/jobs.list
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# List jobs

The workspace's jobs newest first, like Logs → Jobs: `state` waiting (queued / held / running), failed (failed / unverified / expired), done, cancelled or all; filter by `accountId` / `action`; pages with `next_cursor`. Bookkeeping only — action, status, hold_code, error_code, attempts, times, replay_of — never the payload, the result or raw error text. A connection limited to some accounts sees only their jobs (machine jobs need every account). Use it to pick failed jobs for jobs.redrive.

The workspace's jobs newest first, like Logs → Jobs: `state` waiting (queued / held / running), failed (failed / unverified / expired), done, cancelled or all; filter by `accountId` / `action`; pages with `next_cursor`. Bookkeeping only — action, status, hold_code, error_code, attempts, times, replay_of — never the payload, the result or raw error text. A connection limited to some accounts sees only their jobs (machine jobs need every account). Use it to pick failed jobs for jobs.redrive.

## Overview

| Name | Value |
| --- | --- |
| Code | `jobs.list` |
| Scope needed | `audit.read` |
| Risk | Read |
| May need confirmation | No |
| Runs as | Answers right away |
| Needs `Idempotency-Key` | No |
| Member roles allowed | `owner`, `manager`, `agent`, `viewer` |
| In the app | Logs → Jobs |

## Input fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `state` | `"waiting" \| "failed" \| "done" \| "cancelled" \| "all"` | No |   |
| `accountId` | `uuid` | No |   |
| `action` | `text` | No |   |
| `limit` | `integer` | No |   |
| `cursor` | `text` | No |   |

## Example request

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/jobs.list \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

## Output fields (`data`)

| Field | Type | Required |
| --- | --- | --- |
| `items` | `object[]` | Yes |
| `next_cursor` | `null \| text` | Yes |

## Example answer

```json
{
  "data": {
    "items": [
      {
        "id": "00000000-0000-4000-8000-000000000000",
        "account_id": "00000000-0000-4000-8000-000000000000",
        "node_id": "00000000-0000-4000-8000-000000000000",
        "action": "text",
        "status": "held",
        "hold_code": "text",
        "error_code": "text",
        "source": "text",
        "attempts": 1,
        "effectful": true,
        "quota_group": "text",
        "not_before": "text",
        "retry_at": "2026-10-22T12:00:00.000Z",
        "created_at": "2026-10-22T12:00:00.000Z",
        "finished_at": "2026-10-22T12:00:00.000Z",
        "replay_of": "text",
        "connection_id": "00000000-0000-4000-8000-000000000000"
      }
    ],
    "next_cursor": "text"
  }
}
```

## Using it over MCP

Not listed on any profile: call `tools_describe` then `tools_run` with `code: "jobs.list"`. Tool name when listed: `jobs_list`.
