---
title: "Get job state"
method: GET
path: "/v1/jobs/{job_id}"
tags: ["Jobs"]
---

# Get job state

`GET /v1/jobs/{job_id}`

## Request

- Base URL: `https://api.cerul.ai`
- URL: `https://api.cerul.ai/v1/jobs/{job_id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Cerul-API-Key`
- TypeScript: <https://skmtc.dev/cerul-ai/apis/cerul-api/docs/v1/jobs/:job_id/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `job_id` string, required

## Response `200`

Job

- JobResponse
  - `request_id` string, required
  - `execution` Execution, required
    - `location` 'local' | 'cloud', required
    - `capability_id` string, nullable
    - `capability_version` string, nullable
  - `usage` Usage, required
    - `billable` boolean, required
    - `quantity` number, required
    - `unit` string, required
    - `credits` number
  - `warnings` string[], required
  - `data` Job, required
    - `id` string, required
    - `status` 'queued' | 'running' | 'succeeded' | 'failed' | 'cancel_requested' | 'canceled', required
    - `capability_id` string, nullable
    - `capability_version` string, nullable
    - `workflow` WorkflowReference
      - `id` string, required
      - `version` string, required
    - `execution_policy` 'local_only' | 'prefer_local' | 'cloud_allowed' | 'cloud_required', required
    - `scope` Scope, required
      - `library_ids` LibraryId[], required
      - `asset_ids` AssetId[], required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `default`: Standard Cerul error envelope

## Changes

- **2026-07-27** `c15615d54993`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cerul-ai/apis/cerul-api/changes/v1/jobs/:job_id/get.md)

---

[API](https://skmtc.dev/cerul-ai/apis/cerul-api.md) - [All operations](https://skmtc.dev/cerul-ai/apis/cerul-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cerul-ai/apis/cerul-api/revisions/c15615d54993?raw)
