---
title: "List tool jobs"
method: GET
path: "/tool_jobs"
---

# List tool jobs

`GET /tool_jobs`

Newest first, 20 per page. Same polling shape /v5/images uses — Zapier / integration triggers can dedupe by `uid` and stop once they see a known one.

## Query parameters

- `page` integer

## Response `200`

Paginated list of tool jobs (any tool_type, any status). `outputs` shape varies per-tool — see each tool's POST endpoint.

- object[]
  - `uid` string
  - `tool` string — Tool slug that dispatched this job
  - `status` 'pending' | 'running' | 'completed' | 'failed' — pending → running → completed / failed
  - `progress` integer — 0-100 job progress, 100 once completed
  - `inputs` object — Inputs the job was created with
  - `outputs` object — Tool-specific output. Shape depends on the tool — see each tool's POST endpoint for the concrete keys.
  - `metadata` string, nullable — Arbitrary metadata string round-tripped from the create request
  - `self` string, uri
  - `created_at` string, date-time
  - `completed_at` string, date-time, nullable
  - `error_message` string, nullable — Human-readable failure reason (only present on failed jobs)

---

[API](https://skmtc.dev/bannerbear/apis/bannerbear-v5-api.md) · [All operations](https://skmtc.dev/bannerbear/apis/bannerbear-v5-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bannerbear/bannerbear-v5-api/revisions/6aa425420a10/schema)
