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

# Get Job

`GET /jobs/{job_id}`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/jobs/{job_id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `/authorize`, token URL `/oauth/token`)

Get a job by ID.

## Path parameters

- `job_id` string, required: ID of the job.

## Response `200`

Successful Response

- JobResponse: Job representation in API responses.
  - `_links` JobLinksResponse, required: Hypermedia links for a job.
    - `execution` string, nullable: URL of the related execution record; null if none.
    - `result` string, nullable: URL of the job result; null until the job has completed.
    - `self` string, required: URL of this job.
  - `actor_id` string, nullable: Subject that enqueued the job. Null only for legacy rows with no actor.
  - `actor_type` string, required: Kind of actor that enqueued the job: 'user' or 'agent'. Opaque string: historical rows may carry a retired type such as 'service_account'.
  - `created_at` string, date-time, required: When the job was created (RFC 3339).
  - `error` string, nullable: Error message recorded for the job; null if none.
  - `execution_id` string, nullable: ID of the execution record linked to the job, if any.
  - `job_id` string, required: Unique ID of the job.
  - `kind` string, required: Kind of job, e.g. `import` or `execution`.
  - `status` string, required: Lifecycle state: `queued`, `running`, `completed`, `failed`, `cancelled` or `dead_letter`.
  - `updated_at` string, date-time, nullable: When the job was last updated (RFC 3339); null if never updated.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `422`: Unprocessable Entity
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

> 178 revisions in range; 2 not diffed.

- **2026-10-14** `c516481e6ed8`: 1 info
  - the endpoint scheme security `OAuth2` was added to the API
- **2026-10-12** `3a4d8404e223`: 2 info
  - added the optional property `actor_id` to the response with the `200` status
  - added the required property `actor_type` to the response with the `200` status
- **2026-07-01** `d65fcba0d25a`: 2 breaking, 10 warning, 26 info
  - response property `created_at` list-of-types was widened by adding types `string` to media type `application/json` of response `200`
  - the `detail` response's property type changed from `array` to `string` for status `422`
  - removed the optional property `agent_id` from the response with the `200` status
  - removed the optional property `capability` from the response with the `200` status
  - …34 more
- **2026-06-08** `0d76c7617aae`: 1 breaking, 1 warning, 4 info
  - removed the required property `id` from the response with the `200` status
  - removed the optional property `slug_or_id` from the response with the `200` status
  - added the optional property `agent_id` to the response with the `200` status
  - added the optional property `capability` to the response with the `200` status
  - …2 more
- **2026-05-07** `5a765d68c56f`: 1 info
  - the endpoint scheme security `AgentOauthAccessToken` was added to the API

[Operation history](https://skmtc.dev/jentic/apis/jentic-control-plane-api/changes/jobs/:job_id/get.md)

---

[API](https://skmtc.dev/jentic/apis/jentic-control-plane-api.md) · [All operations](https://skmtc.dev/jentic/apis/jentic-control-plane-api/llms.txt) · [OpenAPI document](https://skmtc.dev/jentic/apis/jentic-control-plane-api/revisions/5116abb5eabe?raw)
