---
title: "Get Job Status"
method: GET
path: "/jobs/{id}"
tags: ["Jobs"]
---

# Get Job Status

`GET /jobs/{id}`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/jobs/{id}`
- Auth: HTTP bearer

Poll the status and result of an async job created by an async-capable endpoint. Returns the job envelope; `data` is populated once `status` is `completed`, `error` once it is `failed`. Jobs are org-scoped — another org's job reads as 404.

## Path parameters

- `id` string, required

## Response `200`

Job envelope (pending, completed, or failed).

- JobEnvelope: Returned by async-capable endpoints (202) and by GET /jobs/{id}. `data` holds the endpoint's normal result once `status` is `completed`; `error` is populated once `status` is `failed`.
  - `job` object, required
    - `id` string, required
    - `status` 'queued' | 'running' | 'completed' | 'failed' | 'canceled' | 'expired', required
    - `endpoint` string, required: The endpoint path that created this job.
    - `created_at` string, date-time, nullable, required
    - `finished_at` string, date-time, nullable, required
    - `status_url` string, uri, required: GET this URL to poll the job.
  - `data` object, nullable, required: The endpoint's normal result object once completed; null until then.
  - `error` object, nullable, required: Populated once the job has failed; null otherwise.
    - `type` string, required
    - `code` string, required
    - `message` string, required

## Other responses

- `401`: Missing or invalid API key
- `404`: Job not found
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
