---
title: "Retry a job"
description: "Resume a FAILED job from where it stopped: nothing it already processed runs again, but the rest does (a custom-field delete finishes removing the field from every contact). `POST /api/v1/jobs/{id}/retry`"
url: https://www.unitpost.com/docs/platform/post-jobs-id-retry
section: "Platform API reference"
updated: 2026-10-13
---
# Retry a job

`POST /api/v1/jobs/{id}/retry`

Resume a `FAILED` job from where it stopped: nothing it already processed runs again, but the rest does (a custom-field delete finishes removing the field from every contact). Any other status is a `409`. Takes no body. Needs the capability that starts the kind (`contacts:write` for a custom-field job, `contacts:read` for an export, `topics:write` for a topic opt-out). Requires the `contacts:read` or `contacts:write` capability.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string | yes | — |

## Response fields (202)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | — |
| `id` | string | yes | — |
| `kind` | string | yes | — |
| `status` | enum | yes | One of: `QUEUED`, `RUNNING`, `COMPLETED`, `FAILED`, `CANCELED`. |
| `total` | integer \| null | yes | — |
| `processed` | integer | yes | — |
| `failed` | integer | yes | — |
| `error` | string \| null | yes | — |
| `created_at` | string | yes | — |
| `completed_at` | string \| null | yes | — |

## Responses

| Status | Description |
| --- | --- |
| 202 | The job, queued again. |
| 400 | The body isn't JSON. |
| 401 | Missing or invalid API key. |
| 403 | Insufficient scope for this job's kind. |
| 404 | Job not found. |
| 409 | It isn't `FAILED`. |
| 422 | A body key (this operation takes none). |
| 502 | `engine_unavailable`: the job couldn't be handed back; it stays `FAILED`. Retry. |

## Example request

```bash
curl -X POST 'https://www.unitpost.com/api/v1/jobs/job_123/retry' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'User-Agent: my-app/1.0'
```

## Example response (202)

```json
{
  "object": "job",
  "id": "id_123",
  "kind": "string",
  "status": "QUEUED",
  "total": 1,
  "processed": 0,
  "failed": 0,
  "error": "string",
  "created_at": "2026-01-01T00:00:00.000Z",
  "completed_at": "2026-01-01T00:00:00.000Z"
}
```

## Links

- HTML reference (with Node.js, Python, Ruby, PHP, Laravel, Go, Java, Rust, .NET and CLI examples): https://www.unitpost.com/docs/platform/post-jobs-id-retry
- OpenAPI 3.1 (full schemas): https://www.unitpost.com/api/v1/openapi.json
