---
title: "Poll an async job"
method: GET
path: "/api/ai-jobs/{jobId}"
tags: ["Jobs"]
---

# Poll an async job

`GET /api/ai-jobs/{jobId}`

## Request

- Base URL: `https://clearlist.me`
- URL: `https://clearlist.me/api/ai-jobs/{jobId}`
- Auth: one of:
  - API key in header `X-ClearList-API-Key`
  - OAuth 2 (authorization code, authorization URL `https://clearlist.me/oauth/authorize`, token URL `https://clearlist.me/api/oauth/token`)

Returns the status of an async AI job. Poll with exponential backoff (2s → 10s cap); jobs expire after 15 minutes.

## Response `200`

Job status.

- Job
  - `status` 'processing' | 'completed' | 'failed'
  - `data` object, nullable
  - `error` string, nullable

## Other responses

- `401`: Missing or invalid API key.
- `404`: Resource (or API route) not found. Returned as JSON, never HTML.

---

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