Submit A2P 10DLC registration
POST /phone-numbers/a2p/register
Submit the organisation to the US carrier registry. THIS REACHES A THIRD PARTY AND CARRIES CARRIER FEES.
Saves the inputs, then starts a durable registration saga and returns its
workflow_id immediately - registration takes days, not seconds, and the
carriers can reject it. Without an approved registration, US carriers
filter application-to-person SMS from these numbers, so this is not
optional for messaging.
IDEMPOTENT PER ORGANISATION: the workflow id is derived from the org, so a
second call while one is running is a no-op rather than a second
submission. Call /a2p/inputs first if you only want to save a draft.
Authorizations
Parameters
Header Parameters
Request Body required
Brand and campaign details for A2P 10DLC registration.
Mirrors phone_numbers.interfaces.fastapi.dtos.A2pRegisterRequest.
Both dicts are OPEN and forwarded as-is, matching the app, which types
them as bare Dict[str, Any] and stores them in JSONB before handing them
to the carrier registry by name. Closing them here would reject a field
the registry added last week.
object
The legal business behind the messages: legal_business_name (required before registration can start), plus ein, address, website, business_type, vertical and whatever else the carrier registry asks for.
object
What the messages are: use_case, message_samples and opt_in_method are the three the platform checks for before it considers the inputs complete.
object
Responses
202
Successful Response
object
An open envelope for a purchase result, a release, or an A2P job.
Open on purpose. A purchase returns the stored row (whose capability and
provider-metadata keys differ per provider), a workflow start returns a
workflow_id, and the A2P reconcile returns per-number outcomes that grow
as carriers add statuses. Pinning it would silently drop whatever the
provider reported that this contract had not caught up on.
object
object
Whether there are more pages
Items per page
Current page number (1-indexed)
Total number of items
422
Validation Error