IDEMPOTENCY_KEY_REUSED
The Idempotency-Key was already used for a different bulk request
POST /api/v1/email/bulk saw an Idempotency-Key it already knows, but the addresses or webhook URL differ from the request that first used it.
- http status
- 409
- credits
- Nothing is billed for a failed request.
What it means
An Idempotency-Key makes bulk creation safe to retry: a repeat with the same key and the same request answers the job the first attempt created, with status 200 and the Idempotent-Replayed header, instead of queueing a second run. The key is bound to the exact addresses and webhook URL it was first sent with.
The same key with a different list or webhook is refused with this code so a retry can never be answered with the wrong job. Nothing is queued and nothing is charged.
What to do
Generate a fresh key for every distinct request, for example a UUID stored with the record that triggered the run, and reuse it only when retrying that exact request.
Example response
{
"success": false,
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "This Idempotency-Key was already used for a different request.",
"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
- RESULTS_NOT_READY · the bulk job has not finished yet
- JOB_ALREADY_FINISHED · the bulk job cannot be cancelled any more
- JOB_CANCELLED · the bulk job was cancelled before producing results
- All error codes
- Verdicts and the risk score
- API reference
markdown version: /docs/errors/IDEMPOTENCY_KEY_REUSED.md