Skip to content

JOB_NOT_RESUMABLE

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.

http status
409
credits
Nothing is billed for a failed request.

What it means

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.

Example response

{
    "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"
    }
}

Every error carries the request_id also sent in the X-Request-Id header; quote it when writing to support.

Related

markdown version: /docs/errors/JOB_NOT_RESUMABLE.md