Skip to content
RelationsAI
Error codes

campaign_recipients_blocked

HTTP status
409
Retry
No
Execution
Nothing was done
Admin needed
No

Recipients now blocked by compliance. Before resuming, every recipient the run could still dial is screened again against the do-not-call list, consent and the per-number daily limit. If any is now blocked, nothing is resumed and the campaign stays paused: a resume continues an existing run and cannot drop recipients from it. details counts the blocked recipients by reason and lists up to 100 of their contact ids. Stopping and starting this campaign again is NOT the way on: a new start calls every recipient of the previous run again, including people already reached, and charges for those calls.

What it means

The API returns HTTP 409 with error.code set to campaign_recipients_blocked. The default message is: "Some recipients of this campaign are now blocked by compliance rules, so it was not resumed."

Common causes

  • A recipient was added to the do-not-call list after the campaign started.
  • A recipient withdrew consent.
  • A number reached its daily call limit.

How to identify it

Check the response status (409) and error.code (campaign_recipients_blocked). Branch on error.code, not on the message text: messages can be reworded, codes do not change within v1. Log error.request_id (also sent as the X-Request-Id header) so support can find the request.

How to fix it

  • List the campaign's recipients with status=pending (the people not reached yet), create a new campaign with those contacts minus the blocked ones in details.contact_ids, and start it.
  • Then stop this campaign. Stopping does not hang up calls already in progress.
  • If a contact was marked by mistake, correct it (remove the do-not-call entry or record consent only if it was really given) and resume.

Retry guidance

Sending the request unchanged fails the same way. Fix the cause first (see How to fix it), then send it again.

Did anything happen?

This request was refused before any call was placed and before anything was charged.

Idempotency

Refused for compliance; nothing was dialled and the refusal is not stored under the Idempotency-Key. Do not retry: resending the same call (with any key) is refused again until the cause has legitimately changed.

Who can fix it

The developer who sends the request can fix it; no administrator action is normally needed.

When to contact support

If the error persists after the steps above, contact support@relationsai.com. See Support for what to include (the request_id, the time in UTC, the operation, and whether you used a test or live key) and what never to send (API keys, Authorization headers, webhook signing secrets, recording links, transcripts or customer data).

Example error response

JSONJSON
{ "error": { "code": "campaign_recipients_blocked", "message": "Some recipients of this campaign are now blocked by compliance rules, so it was not resumed.", "details": { "blocked_total": 2, "by_reason": { "dnc_listed": 1, "consent_required": 1 }, "contact_ids": [ "ct_8Rw2Tq5Lm9Xc3Vb7Nz4Kp1", "ct_2Mh7Yd4Qs8Fv1Kc6Bx9Tn3" ], "contact_ids_truncated": false }, "request_id": "req_e42tftykifj3epsrjh37r2ei", "retry": "no", "doc_url": "https://docs.relationsai.com/errors/campaign_recipients_blocked" } }

Operations that can return this error

See all codes in the error-code reference.