Re-run the checks (optionally correcting input fields)
Allowed in draft, checks_failed, ready and rejected.
Path Parameters
- idstringrequired
Body Parameters
The body is optional.
- business_namestringrequired
At most 120 characters.
- websitestring (uri)required
- use_case2fa, account_notification, customer_care, delivery_notification, fraud_alert, higher_education, marketing, mixed, polling_voting, public_service_announcement, security_alert, low_volumerequired
- opt_in_urlstring (uri)
Page where people enter their number
- privacy_urlstring (uri)
Discovered from homepage links when omitted
- terms_urlstring (uri)
Discovered from homepage links when omitted
- support_emailstring (email)
Used in the generated HELP reply
- sample_messagesarray of string
Real examples of the texts you will send, as a recipient would get them (no template variables). Carriers compare them with your traffic. Each must name your business; marketing and mixed use cases need opt-out wording in at least one. More than 5, or one over 320 characters, is a 400; too few or too short comes back as findings. Omit to get starter drafts; null or [] goes back to them. At most 5 items. At least 2 items. Nullable.
- starter_messagesarray of string
Draft examples suggested for this business (fields.sample_messages from POST /registrations/prefill). Shown instead of the template starter drafts; samples_source stays starter and they are never filed until you edit or confirm them. Drafts that would not pass the example check for the business name and use case are ignored. At most 5 items. Nullable.
- samples_confirmedboolean
true = the starter drafts are right as they are; they become your examples. Ignored when sample_messages is sent.
- descriptionstring
What you send and to whom (40 to 500 characters). Omit or null to file the generated one. At most 500 characters. Nullable.
- opt_in_flowstring
How people opt in, in your own words. It leads the filed opt-in account; the opt-in page, the disclosure and the START keyword are added after it. Omit or null to file the standard sentence. At most 500 characters. At least 40 characters. Nullable.
- stop_replystring
Your wording of the confirmation sent when someone opts out. It must name your business, say they are unsubscribed, and carry no link; anything else is a 400 naming what is missing. Omit or null for the standard wording in your business name. Filed with the registration and sent by its numbers. At most 320 characters. At least 20 characters. Nullable.
- help_replystring
Your wording of the HELP reply. It must name your business, give a way to reach you (email, phone or web page) and keep the STOP instruction. Omit or null for the standard wording. At most 320 characters. At least 20 characters. Nullable.
- includes_linksboolean
Your messages include web links. Also true whenever an example contains one.
- includes_phone_numbersboolean
Your messages include phone numbers. Also true whenever an example contains one.
- age_gatedboolean
Your messages are for adults only (alcohol, cannabis, gambling).
- direct_lendingboolean
Your messages are about loans you make yourself.
- brandobject
The business as the carriers register it. street must be a street address, not a P.O. box; state a 2-letter US state or territory code; postal_code a 5-digit ZIP (optionally +4). Anything else is refused with 400 naming the field.
- brand.legal_namestring
- brand.entity_typePRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, GOVERNMENT
SOLE_PROPRIETOR is a 400: local numbers cannot be registered for a sole proprietor yet; use toll-free verification.
- brand.einstring
Example:
12-3456789. - brand.streetstring
- brand.citystring
- brand.statestring
- brand.postal_codestring
- brand.countrystring
US only.
- brand.verticalstring
- brand.contact_namestring
The authorized representative: a person who works for the business and can act for it. Required to submit. Kept with the registration for business verification; not sent to the registry.
- brand.contact_titlestring
The representative's job title, like Owner or Operations Manager. Required to submit.
- brand.contact_emailstring
The representative's own email at the business's domain. A free mailbox (gmail.com, outlook.com, ...) or a shared inbox (info@, sales@, support@, ...) is refused with 400 (param brand.contact_email). Carriers verify the business by writing to it.
- brand.contact_phonestring
A 10-digit US number the representative answers. Required to submit: the carrier registry refuses a brand without one.
Details
Any RegistrationInput field may be sent to correct it, including sample_messages and description; samples_confirmed: true adopts the starter examples as yours. A body that only changes the examples re-runs the example check and keeps the website verdict.
Responses
- 200Registration
Registration
- 401Error
Missing, malformed, or revoked API key
- 402Error
Billable live calls only: the prepaid credit balance cannot cover the call (insufficient_credits); nothing was done or charged
- 409Error
invalid_state: not recheckable now (message says why)
- 429Error
Rate limit or quota exceeded
Response Fields
- idstring
Example:
reg_a1B2c3D4e5F6. - objectregistration
- statusdraft, checks_failed, ready, submitted, in_review, approved, rejected
- business_namestring
- websitestring
- use_casestring
- opt_in_urlstring
Nullable.
- privacy_urlstring
Nullable.
- terms_urlstring
Nullable.
- support_emailstring
Nullable.
- brandobject
The business details as saved (the brand object of RegistrationInput, including the authorized representative: contact_name, contact_title, contact_email, contact_phone).
- sample_messagesarray of string
The examples as they stand: yours, or starter drafts (see samples_source). These are what a submission files.
- samples_sourcestarter, customer
starter: our drafts, not yet edited or confirmed; the registration cannot be ready. customer: yours.
- descriptionstring
Your own description; null when the generated one (generated.campaign.description) is filed Nullable.
- opt_in_flowstring
Your own account of how people opt in; null when the standard sentence is filed Nullable.
- stop_replystring
Your wording of the opt-out confirmation; null when the standard wording (generated.stop_reply) is filed and sent Nullable.
- help_replystring
Your wording of the HELP reply; null when the standard wording (generated.help_reply) is filed and sent Nullable.
- includes_linksboolean
- includes_phone_numbersboolean
- age_gatedboolean
- direct_lendingboolean
- marketing_pausedobject
Set while marketing from this registration is paused because more than 4% of recipients opted out in 24 hours; our team resumes it. Transactional messages are not paused. Nullable.
- marketing_paused.paused_atstring (date-time)
- marketing_paused.opt_out_ratenumber
Opt-outs divided by messages sent, over the 24 hours that tripped it
- marketing_paused.sentinteger
- marketing_paused.opt_outsinteger
- sample_checkobject
The example-message check. Fixed rules. Recomputed on every read.
- sample_check.passedinteger
- sample_check.failedinteger
- sample_check.warningsinteger
- sample_check.okboolean
- sample_check.findingsarray of SampleFinding
- guidanceobject
The five answers every state gives
- guidance.what_happenedstring
- guidance.whystring
- guidance.next_actoryou, delivered, carriers, nobody
- guidance.next_stepstring
- guidance.afterstring
- checkobject
Nullable.
- check.checked_atstring (date-time)
- check.passedinteger
- check.failedinteger
- check.warningsinteger
- check.urlsobject
- check.findingsarray of Finding
- rejectionobject
Nullable.
- rejection.codestring
- rejection.titlestring
- rejection.explanationstring
- rejection.fixstring
- rejection.notestring
Nullable.
- rejection.related_findingsarray of string
- rejection.rejected_atstring (date-time)
- generatedobject
Deterministic compliant copy and the registry draft
- generated.opt_in_ctastring
- generated.privacy_clausestring
- generated.sms_termsstring
- generated.sample_messagesarray of string
Starter drafts from templates. What is filed is the top-level sample_messages (also in generated.campaign.sample_messages). At most 5 items. At least 2 items.
- generated.help_replystring
- generated.stop_replystring
- generated.opt_in_confirmationstring
- generated.brandobject
- generated.brand.missingarray of string
- generated.campaignobject
- generated.campaign.use_casestring
- generated.campaign.descriptionstring
- generated.campaign.message_flowstring
- generated.campaign.sample_messagesarray of string
- generated.campaign.opt_in_keywordsarray of string
- generated.campaign.opt_in_messagestring
- generated.campaign.opt_out_keywordsarray of string
- generated.campaign.opt_out_messagestring
- generated.campaign.help_keywordsarray of string
- generated.campaign.help_messagestring
- generated.campaign.embedded_linkboolean
- generated.campaign.embedded_phoneboolean
- generated.campaign.number_poolingboolean
- generated.campaign.direct_lendingboolean
- generated.campaign.age_gatedboolean
- generated.campaign.affiliate_marketingboolean
- generated.campaign.privacy_policy_urlstring
- generated.campaign.terms_urlstring
- submissionsinteger
- historyarray of object
- history[].atstring (date-time)
- history[].statusstring
- history[].actorcustomer, delivered, system
- history[].labelstring
- history[].reason_codestring
- history[].notestring
- created_atstring (date-time)
- updated_atstring (date-time)
Errors
Every error has the same JSON shape, and request_id matches the X-Request-Id response header. Errors lists every code and what to do about it.
- 401
Missing, malformed, or revoked API key
- 402
Billable live calls only: the prepaid credit balance cannot cover the call (insufficient_credits); nothing was done or charged
- 409
invalid_state: not recheckable now (message says why)
- 429
Rate limit or quota exceeded