---
title: "Poll async job status"
method: GET
path: "/api/jobs/:jobId/status"
tags: ["Jobs"]
---

# Poll async job status

`GET /api/jobs/:jobId/status`

## Request

- Base URL: `https://api.cernion.de`
- URL: `https://api.cernion.de/api/jobs/:jobId/status`
- Auth: none declared

Poll the status of a background job started by a long-running endpoint (v0.9.8+).

**Status values**:
- **queued** — job is registered, worker starting soon
- **running** — worker is executing (MCP polling in progress)
- **completed** — result is available at `resultUrl`
- **error** — worker failed; see `error` field

**Polling strategy**: start polling 5 s after submission, then every 10–30 s.
Most jobs complete within 8–12 minutes.

## Path parameters

- `jobId` string, required

## Query parameters

- `token` string

## Response `200`

Job status record

- object
  - `jobId` string
  - `service` string: Originating service name
  - `action` string: Originating action name
  - `status` 'queued' | 'running' | 'recovery_pending' | 'completed' | 'error'
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `completedAt` string, date-time, nullable
  - `error` string, nullable
  - `location` string: URL of this status endpoint (for polling)
  - `resultUrl` string, nullable: Result URL — only set when status is "completed"

## Other responses

- `404`: Job not found (unknown ID or TTL expired)

---

[API](https://skmtc.dev/cernion/apis/cernion-energy-tools-api.md) · [All operations](https://skmtc.dev/cernion/apis/cernion-energy-tools-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cernion/apis/cernion-energy-tools-api/revisions/cdb94473b538?raw)
