Skip to main content
The Job Lookup endpoint (/v1/job/{job_id}) returns the stored result of a completion you already ran, looked up by the job_id its response returned. If a response was lost to a crash, a timeout or a dropped connection, fetch it again here instead of re-running the job and paying for it twice. The same endpoint also takes the batch_id that /v1/agent/batch/completions returns (agent-batch-...) and returns the whole batch response.

Endpoint Information

  • URL: /v1/job/{job_id}
  • Method: GET
  • Authentication: Required (x-api-key header)
  • Rate Limiting: Subject to tier-based rate limits
  • Cost: Free. A lookup is not billed.

Path Parameter

Response Format

The body is the response the original endpoint returned, stored when the run finished, so its shape depends on that endpoint. For example, an agent completion comes back with job_id, success, name, outputs, usage and timestamp, a swarm completion with job_id, status, swarm_type, output and usage, and an agent batch with batch_id, total_requests, execution_time, timestamp and results.

Example Response

GET /v1/job/agent-5c9d985f92586b64b9499b2554718e3e

Which Completions Can Be Fetched

Every endpoint that returns a top-level job_id can be looked up:
  • /v1/agent/completions
  • /v1/swarm/completions
  • /v1/graph-workflow/completions
  • /v1/batched-grid-workflow/completions
  • /v1/auto-agent-builder/completions
  • /v1/reasoning-agent/completions
  • /v1/decision/completions and /v1/systemone
Plus /v1/agent/batch/completions: fetch the whole batch by its batch_id, or one run in it by the job_id that run carries in results. These return no id this endpoint can find, so a lookup returns 404:
  • /v1/chat/completions, /v1/responses and /v1/messages, which return an OpenAI- or Anthropic-style id, not a job_id
  • /v1/swarm/batch/completions
A stream: true run is stored as a summary, not as the events you received. A streamed agent completion stores job_id, agent_name, the assembled output, output_length, usage and stream: true. A streamed swarm completion stores job_id, status, swarm_name, usage, execution_time and timestamp, but not the swarm’s output, so a lookup cannot recover it.

Who Can Fetch a Job

Any API key on the account that ran the job can fetch it, including a job that was run with a key that has since been revoked. A job that belongs to another account returns the same 404 as an id that doesn’t exist, so the endpoint does not reveal whether another account’s id is real.

Status Codes

A 404 looks like this:
To browse your whole completion history rather than one job, use /v1/account/logs.