---
title: "Get the status of an export"
method: GET
path: "/lists/list/export/jobs/{jobId}"
tags: ["List exports"]
---

# Get the status of an export

`GET /lists/list/export/jobs/{jobId}`

## Request

- Base URL: `https://api.emelia.io`
- URL: `https://api.emelia.io/lists/list/export/jobs/{jobId}`
- Auth: API key in header `Authorization`

Returns the progress of an asynchronous export started with `POST /lists/list/export` and `async: true`. Poll every few seconds until `status` is `done` (then call the download route) or `failed` (read `error`). Jobs are kept 24 hours; after that, or for a job of another account, the route returns 404. A job interrupted by a service restart ends as `failed`: start the export again.

## Path parameters

- `jobId` string, uuid, required

## Response `200`

Job state.

- ListsExportJob
  - `jobId` string, uuid, required
  - `status` 'queued' | 'running' | 'done' | 'failed', required
  - `rows` integer, required: Rows written so far.
  - `total` integer, nullable, required: Rows to write, null until counted.
  - `filename` string, nullable, required: File name, set when done.
  - `error` string, nullable, required: Failure reason when `status` is `failed`.

## Other responses

- `401`: Missing, unknown or disabled API key, or the account of the key no longer exists. Note the body shape: `error` and `code`, not `message`.
- `404`: Unknown, expired or foreign job.
- `500`: Unexpected server error. `error`, when present, is a raw internal message: do not parse it. Retry later.

---

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