---
title: "Job status and progress"
method: GET
path: "/v1/jobs/{id}"
---

# Job status and progress

`GET /v1/jobs/{id}`

## Request

- Base URL: `https://api.grundfast.dk`
- URL: `https://api.grundfast.dk/v1/jobs/{id}`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `gf_session`

## Path parameters

- `id` string, required

## Response `200`

OK

- JobResponse
  - `job` object, required: An asynchronous job over a list. Poll it; download results and errors as files.
    - `id` string, required: job_…
    - `kind` 'datavask' | 'reverse' | 'bbr' | 'dagi' | 'miljoe', required
    - `status` 'draft' | 'queued' | 'running' | 'paused' | 'completed' | 'failed' | 'cancelled', required
    - `label` string, nullable, required
    - `totalRows` number, required
    - `processedRows` number, required: Rows with an answer or an error on file.
    - `succeeded` number, required
    - `failed` number, required
    - `billedUnits` number, required: Successful rows billed (0 for a test key).
    - `progress` number, required: processedRows / totalRows, 0..1.
    - `columns` object, required: Role → your column name (adresse, vej, husnr, postnr, by, x, y, bfe, adgangsadresse_id).
    - `srid` union, required
      - 4326
      - 25832
    - `inputColumns` string[], required
    - `error` string, nullable, required
    - `createdAt` string, required
    - `startedAt` string, nullable, required
    - `completedAt` string, nullable, required
    - `updatedAt` string, required
    - `resultsAvailable` boolean, required: False once the rows are deleted (JOB_RESULT_RETENTION_DAYS after the job ends).

## Other responses

- `401`: Error
- `404`: Error

---

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