# `JOB_NOT_RESUMABLE` (HTTP 409): the bulk job is not in a state a resume can recover

A resume was asked for a run that did not stop because the credit balance ran out, that has not settled yet, or that is already going again.

A run that stops on an empty balance keeps the rows it paid for and the list it was given, so topping up and resuming re-runs that list from the top instead of asking you to upload it again. That is the only stop a resume recovers: a cancelled run was stopped on purpose, a completed one has nothing left to reach, and a run still queued or processing has not finished writing its result file.

Claiming the run is one conditional write, so two resumes sent at once cannot both queue it: the second answers this code and queues nothing. Nothing is charged either way.

**What to do.** Poll the job (`GET /api/v1/email/bulk/{jobId}` and its phone, IP and address twins): a terminal `status` with `stopped_reason: "insufficient_credits"` is the state a resume takes. Anything else needs a new job.

```json
{
    "success": false,
    "error": {
        "code": "JOB_NOT_RESUMABLE",
        "message": "Only a run that stopped because the credit balance ran out can be resumed, and only once it has finished settling.",
        "request_id": "req_01m1kgdm4xngzmbmff68g94w0c"
    }
}
```

Reference: https://spaw.co/docs/errors/JOB_NOT_RESUMABLE
