# Get Job


GET /jobs/{id}

```
GET /jobs/{id}
```

Returns a job with all its tasks. Use this to check progress, inspect probe results, or get the output URL after processing completes.

## Example

<CodeGroup labels={["CLI", "TypeScript", "Python", "curl"]}>
```bash
ittybit jobs job_abc123
```

```typescript
const res = await fetch('https://api.ittybit.com/jobs/job_abc123', {
  headers: {
    Authorization: `Bearer ${process.env.ITTYBIT_API_KEY}`,
  },
});
const data = await res.json();
```

```python

res = requests.get(
    "https://api.ittybit.com/jobs/job_abc123",
    headers={"Authorization": f"Bearer {api_key}"},
)
data = res.json()
```

```bash
curl "https://api.ittybit.com/jobs/job_abc123" \
  -H "Authorization: Bearer $ITTYBIT_API_KEY"
```

</CodeGroup>

## Response `200`

```json
{
  "id": "job_abc123",
  "object": "job",
  "kind": "video",
  "input": "https://example.com/video.mp4",
  "output": "https://store.ittybit.net/org_123/video.mp4",
  "options": { "format": "mp4", "quality": "high" },
  "metadata": {},
  "status": "succeeded",
  "error": null,
  "tasks": [
    {
      "id": "task_001",
      "object": "task",
      "kind": "probe",
      "input": { "object": "external_file", "url": "https://example.com/video.mp4" },
      "options": {},
      "output": {
        "object": "file",
        "kind": "video",
        "url": "...",
        "format": "mp4",
        "width": 1920,
        "height": 1080,
        "duration": 62.5
      },
      "status": "succeeded",
      "progress": null,
      "error": null,
      "created_at": 1711900000000,
      "started_at": 1711900001000,
      "finished_at": 1711900005000,
      "updated_at": 1711900005000
    }
  ],
  "created_at": 1711900000000,
  "started_at": 1711900001000,
  "finished_at": 1711900045000,
  "updated_at": 1711900045000
}
```

## Statuses

| Status       | Meaning                       |
| ------------ | ----------------------------- |
| `queued`     | Dispatched, not started       |
| `processing` | At least one task running     |
| `succeeded`  | All tasks done                |
| `failed`     | A task failed — check `error` |
| `cancelled`  | Cancelled or sibling failed   |

## Errors

| Status | Kind            |
| ------ | --------------- |
| `404`  | `job_not_found` |

## See also

- [Create Job](/api/create-job) — start a new processing job
- [List Jobs](/api/list-jobs) — list and filter jobs
- [Create Task](/api/create-task) — run individual operations without a parent job