> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arcade.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Jobs

> Track long-running work.

Pattern generation, refines and product builds run in the background. These requests return a job immediately:

```json theme={null}
{
  "jobId": "3583f242-50ed-4250-94c2-c00ea25249dd",
  "kind": "pattern",
  "status": "running",
  "result": null,
  "error": null
}
```

Poll [`jobs/get`](/api-reference/jobs/retrieve-a-job) until `status` is `succeeded` or `failed`. Poll every 2 to 5 seconds; faster polling counts against the rate limit and doesn't make jobs finish sooner.

| `kind` | Created by | `result` |
| - | - | - |
| `pattern` | `patterns/create` and refines | `patternId` |
| `product` | `products/create` | `productId` |

When a job fails, `error.message` explains why. Refines never change the source pattern.

A succeeded job can still have `result: null`: a `fixDeformity` job that found nothing to repair, or a job whose pattern has since been deleted. Handle a null `result` on success.
