---
title: "Get a tool job"
method: GET
path: "/tool_jobs/{uid}"
---

# Get a tool job

`GET /tool_jobs/{uid}`

Poll the status and outputs of a tool run. The `outputs` object's shape depends on which tool created the job — refer to the tool's POST endpoint for the concrete keys.

## Path parameters

- `uid` string, required

## Response `200`

Tool job details

- 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)

## Other responses

- `404` — Tool job not found in this workspace

---

[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)
