Skip to content
RelationsAI
Error codes

contact_on_dnc_list

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

Contact is on the do-not-call list. Deleting a contact must never quietly remove a do-not-call protection. A contact whose number is on the do-not-call list cannot be deleted through the API while the entry exists.

What it means

The API returns HTTP 409 with error.code set to contact_on_dnc_list. The default message is: "This contact is on the do-not-call list. Remove its do-not-call entry before deleting it."

Common causes

  • The contact has do_not_call: true.

How to identify it

Check the response status (409) and error.code (contact_on_dnc_list). 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.

What to do

  • Keep the contact: it is what keeps the number from being called. Do not retry: the same request is refused every time.
  • Only if the person really asked to be called again: remove the entry with DELETE /v1/dnc-entries/{dnc_entry_id} (recorded in the audit log; keep your own record of who asked), then delete the contact.

Retry guidance

Do not resend the request, and do not change settings, to get around this refusal. A new request is appropriate only when the rule genuinely no longer applies: the person asked to be called or gave consent, or the permitted calling window has started.

Did anything happen?

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

Idempotency

No call was placed. If you sent an Idempotency-Key, the refusal is not stored under it. If the rule later stops applying (for example the person gives consent), place a new call (with a new key, if you use one).

Who can fix it

Nobody should change data to make this call go through. Remove a do-not-call entry or record consent only when the person asked you to, and keep a record of who asked and when; these changes are audited. See Consent and DNC.

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": "contact_on_dnc_list", "message": "This contact is on the do-not-call list. Remove its do-not-call entry before deleting it.", "details": {}, "request_id": "req_ibdccc2yocvajobujgsm4msv", "retry": "no", "doc_url": "https://docs.relationsai.com/errors/contact_on_dnc_list" } }

Incorrect and corrected request

Incorrect: The contact is on the do-not-call list (do_not_call: true).

Text
DELETE /v1/contacts/ct_8Rw2Tq5Lm9Xc3Vb7Nz4Kp1

Corrected: Check do_not_call first and keep contacts that are on the list.

Text
GET /v1/contacts/ct_8Rw2Tq5Lm9Xc3Vb7Nz4Kp1

Operations that can return this error

See all codes in the error-code reference.