version=8 the Scrub API returns that answer
as one field, IsCallAllowedAI.
Store consent
Save express written consent as a Permission EBR the moment you capture it
Gate every call
Scrub before dialing; place the call only when
IsCallAllowedAI is 1Honor opt-outs
Add to Internal DNC when the consumer says stop — the next scrub returns
0What IsCallAllowedAI checks
IsCallAllowedAI is 1 only when every row below is satisfied. The flag is
computed per number at scrub time.
Anything else returns
0. In particular:
- A clean number with no consent on file (
ResultCodeC) is0. Clean is not consent. - A Sale (
S) or Inquiry (I) EBR is0. An EBR is a DNC exemption, not consent for an artificial voice. - Wireless and VoIP numbers are
1when a Permission EBR is on file. Express written consent covers §227(b) for wireless.
IsCallAllowedAI is the strictest of the three version=8 flags. If your
agent is 1 here it is also 1 for IsCallAllowedATDS and
IsCallAllowedNonATDS. See Is the call
allowed? for how the
three relate.The loop
1
Capture consent and store it as a Permission EBR
When the consumer opts in (web form, checkbox with the required
disclosures, signed agreement), write it to DNCScrub immediately. Set
You can also do this in the same request as the scrub — see
Scrub + Add EBR.
dateOfLastContact to the date consent was given and keep your evidence
reference in referenceNum.2
Gate every call
Immediately before the agent dials, scrub the number with Place the call only if
version=8.
Pass the contact’s postal code as the third pipe field so calling hours
follow where the person actually is, not where their area code was
assigned.IsCallAllowedAI is "1".3
Honor opt-outs in the conversation
When the consumer asks not to be called again, add the number to your
Internal DNC. Because the Internal DNC
entry is newer than the consent, the next scrub returns
IsCallAllowedAI
0 — no code change on your side. See Opt-outs and
opt-ins for the precedence
rules.Example
A consumer who gave express written consent on 2026-08-15, scrubbed from an AI agent at 2 PM Eastern with their postal code:Building an agent framework or LLM tool?
- Gate in the dialer loop, not in the model. Call the REST endpoint directly from the code that places the call, immediately before dialing. Do not route the check through an LLM tool call — that adds seconds of latency and puts a non-deterministic step in front of a compliance decision.
- Deterministic, not advisory.
IsCallAllowedAIis computed from rules and data, never from a model. Treat it as a hard gate in code, not as context for the agent to reason about. - Cheap to call. The flags add no database work; a single-number scrub is one round trip. Scrub at dial time, every time — consent, DNC status and calling hours all change.
- Log the response. Store the full scrub row with the call record. It is your evidence that consent existed and hours were respected when the call was placed.
What this flag does not cover
Disclosing that the caller is an AI
Disclosing that the caller is an AI
Several states (California, Utah, Colorado and others) and pending FCC rules
require that an artificial or AI caller identify itself and, in some cases,
disclose that the voice is synthetic. That concerns what the call says,
which the scrub cannot see. Build the disclosure into your agent’s opening.
In-call opt-out mechanism
In-call opt-out mechanism
FCC rules require prerecorded and artificial-voice telemarketing calls to
offer an automated opt-out (for example, “press 9 or say stop”) that
immediately ends the call and records the request. Wire that request to the
Internal DNC API.
Consent scope and one-to-one rules
Consent scope and one-to-one rules
DNCScrub stores the fact that consent exists for a number and campaign. It
does not verify that the consent language named your brand, covered AI or
prerecorded calls, or satisfies a particular state’s disclosure
requirements. Review your consent capture with counsel; store it as
Permission only when it meets the standard for the consumer’s jurisdiction.
Informational and non-marketing AI calls
Informational and non-marketing AI calls
Appointment reminders, fraud alerts and similar informational calls have
different consent standards (prior express consent, not written). The flag
assumes a marketing call; a
0 does not by itself mean an informational
call is prohibited. Use ResultCode, LineType and CallingWindow and
apply your own policy.Call recording and two-party consent states
Call recording and two-party consent states
Recording or transcribing the call is governed by state wiretap law, not
the TCPA, and is outside the scrub.