Skip to content

Register this tenant's federal SAN and the area codes it covers

POST
/v1/dnc-subscriptions
curl --request POST \
--url https://api.vocapable.com/v1/dnc-subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "account_ref": "example", "area_codes": [ "example" ], "expires_at": "2026-04-15T12:00:00Z" }'

Register (or refresh) this tenant’s own FTC SAN - its federal DNC authorization.

This records authorization, not data. The federal registry is platform reference data refreshed by ingestion and shared across tenants (the same boundary POST /dnc-entries enforces when it refuses a federal scope); a tenant’s subscription is what gates that tenant’s access to it. Re-registering the same SAN updates its coverage rather than duplicating it. The credential is not accepted here - it is held in the platform vault - so this endpoint records the account reference and coverage only.

Media typeapplication/json
DncSubscriptionRegisterRequest

Register (or refresh) this tenant’s federal SAN and the area codes it covers.

The SAN is the tenant’s own FTC Subscription Account Number, obtained at telemarketing.donotcall.gov - registering it is what authorizes this tenant’s federal Do-Not-Call screening. Re-registering the same SAN updates its coverage rather than duplicating it. One SAN serves one seller (an FTC rule), so a tenant registers its own and attests to that; the credential is never sent here.

This does not load DNC data. The federal registry is platform reference data, refreshed by ingestion and shared across tenants; a customer’s subscription authorizes that tenant’s access to it, and its own upload is not accepted for the same reason a tenant cannot write a federal DNC entry (the shared dataset must not be tenant-writable).

object
account_ref
required
Account Ref
string
>= 1 characters <= 64 characters
area_codes
required
Area Codes
Array<string>
>= 1 items <= 400 items
expires_at
Any of:
string format: date-time
Examplegenerated
{
"account_ref": "example",
"area_codes": [
"example"
],
"expires_at": "2026-04-15T12:00:00Z"
}

Successful Response

Media typeapplication/json
DncSubscriptionSummary

A tenant’s registered DNC registry subscription - its SAN and the NPAs it covers.

The credential behind the SAN is held in the platform vault and is never returned; only the account reference and the coverage are.

object
id
required
Id
string
kind
required
Kind
string
account_ref
required
Account Ref
string
area_codes
required
Area Codes
Array<string>
status
required
Status
string
effective_at
required
Effective At
string format: date-time
expires_at
Any of:
string format: date-time
Examplegenerated
{
"id": "example",
"kind": "example",
"account_ref": "example",
"area_codes": [
"example"
],
"status": "example",
"effective_at": "2026-04-15T12:00:00Z",
"expires_at": "2026-04-15T12:00:00Z"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}