Set DNC bypass

Turn the per-contact DNC bypass on or off — the same toggle as on the contact profile. While bypass is true, the Do Not Call check is skipped before outbound AI calls to this contact.

PUT https://api.centerfy.ai/webhooks/inbound/contacts/:id/dnc

Headers

HeaderRequiredValueDescription
x-api-keyYesyour sub-account API key (cfy_…)Authenticates the request; or use Authorization: Bearer <key>.
X-Webhook-SourceNoyour-system-nameOptional loop-prevention label; the outbound trigger won’t echo this change back to the same source.

Path parameters

NameTypeRequiredDescription
idstring (uuid)YesThe contact id.

Body parameters

NameTypeRequiredDefaultDescription
bypassbooleanYes—true to bypass DNC checks for this contact, false to re-enable them.

Request body

{
  "bypass": true
}

Example

curl -X PUT "https://api.centerfy.ai/webhooks/inbound/contacts/{id}/dnc" \
  -H "x-api-key: $CENTERFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "bypass": true
}'
import { CenterfyClient } from "@centerfy/sdk";

const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });

const result = await centerfy.contacts.setDnc("<contactId>", {
  "bypass": true
});
console.log(result);
centerfy contacts set-dnc <contactId> '{"bypass":true}'

MCP tool: centerfy_contacts_set_dnc (see MCP server)

Response

{
  "status": "success",
  "contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
  "dnc_bypass": true,
  "sms_unsubscribed": false,
  "email_unsubscribed": false
}

Errors

  • 400 — if the id is not a valid UUID or the body is invalid; 404 if the contact is not in this sub-account.

Notes

When the value changes, a system note is added to the contact’s conversation (if it has one). Returns the contact’s current consent flags.

© 2026 Centerfy AI. All rights reserved.