Messaging · SMS
Starts a carrier registration.
https://api.pozy.ai/v1/sms/registrationsGuides: US 10DLC registration, SMS
Request
Send your API key as Authorization: Bearer pz_live_.... Read-only keys cannot call it. Keys with the telephony resource group disabled get 403 resource_group_disabled. Authentication
This endpoint is not available yet. Calls return 403 feature_not_available.
Request body
application/json, required
registrationTypestringrequiredOne of
standard_10dlc,sole_prop_10dlc,toll_free.phoneNumbersarray of stringbrandobject15 child fields
entityTypestringrequiredOne of
PRIVATE_PROFIT,PUBLIC_PROFIT,NON_PROFIT,GOVERNMENT,SOLE_PROPRIETOR.displayNamestringrequiredcompanyNamestringeinstringphonestringmobilePhonestringstreetstringrequiredcitystringrequiredstatestringrequiredpostalCodestringrequiredcountrystringrequired2 to 2 characters.
emailstring (email)websitestringrequiredverticalstringrequiredOne of
AGRICULTURE,COMMUNICATION,CONSTRUCTION,EDUCATION,ENERGY,ENTERTAINMENT,FINANCIAL,GAMBLING,GOVERNMENT,HEALTHCARE,HOSPITALITY,HUMAN_RESOURCES,INSURANCE,LEGAL,MANUFACTURING,NGO,POLITICAL,POSTAL,PROFESSIONAL,REAL_ESTATE,RETAIL,TECHNOLOGY,TRANSPORTATION.stockSymbolstring
campaignobject19 child fields
usecasestringrequiredsubUsecasesarray of stringAt least 2 items. Up to 5 items. Each item: one of
2FA,ACCOUNT_NOTIFICATION,CUSTOMER_CARE,DELIVERY_NOTIFICATION,FRAUD_ALERT,HIGHER_EDUCATION,MARKETING,POLLING_VOTING,PUBLIC_SERVICE_ANNOUNCEMENT,SECURITY_ALERT.descriptionstringrequired40 to 4096 characters.
messageFlowstringrequired40 to 2048 characters.
sample1stringrequiredAt least 20 characters.
sample2stringrequiredAt least 20 characters.
helpMessagestring20 to 320 characters.
optinKeywordsstringrequiredoptinMessagestring20 to 320 characters.
optoutKeywordsstringrequiredoptoutMessagestring20 to 320 characters.
helpKeywordsstringrequiredembeddedLinkbooleanembeddedPhonebooleannumberPoolbooleanageGatedbooleandirectLendingbooleanprivacyPolicyLinkstringtermsAndConditionsLinkstring
messagingBrandNamestring2 to 60 characters.
wizardValuesmap of stringresubmitRequestIdstringtollFreeobject22 child fields
businessNamestringrequiredcorporateWebsitestring (URL)requiredphoneNumbersarray of stringrequiredAt least 1 item.
useCasestringrequireduseCaseSummarystringrequiredproductionMessageContentstringrequiredoptInWorkflowstringrequiredUp to 500 characters.
optInWorkflowImageUrlsarray of string (URL)requiredAt least 1 item.
messageVolumestringrequiredOne of
10,100,1,000,10,000,100,000,250,000,500,000,750,000,1,000,000,5,000,000,10,000,000+.additionalInformationstringrequiredbusinessAddr1stringrequiredbusinessAddr2stringbusinessCitystringrequiredbusinessStatestringrequiredbusinessZipstringrequiredbusinessContactFirstNamestringrequiredbusinessContactLastNamestringrequiredbusinessContactEmailstring (email)requiredbusinessContactPhonestringrequiredbusinessRegistrationNumberstringrequiredbusinessRegistrationTypestringrequiredbusinessRegistrationCountrystringrequired
Example
curl -X POST "https://api.pozy.ai/v1/sms/registrations" \
-H "Authorization: Bearer $POZY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"registrationType": "standard_10dlc"
}'const res = await fetch("https://api.pozy.ai/v1/sms/registrations", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.POZY_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
registrationType: "standard_10dlc"
}),
});
const data = await res.json();
if (!res.ok) throw new Error(data?.error ?? `Request failed with status ${res.status}`);
console.log(data);import os
import requests
resp = requests.post(
"https://api.pozy.ai/v1/sms/registrations",
headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
json={
"registrationType": "standard_10dlc",
},
timeout=30,
)
resp.raise_for_status()
print(resp.json())Response
200 on success
registrationIdstringstatusstringOne of
pending.awaitingOtpboolean
{
"registrationId": "63860e5807731168163e54f0",
"status": "pending",
"awaitingOtp": true
}Errors
Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:
| 400 | invalid_request_error | A parameter or body field is missing or invalid. param names it. |
| 401 | authentication_error | The API key is missing, revoked or expired. |
| 403 | permission_error | The key is read-only, scoped to other profiles, or has this resource group disabled. |
| 429 | rate_limit_error | Too many requests this minute. Wait for Retry-After seconds. |
Every code is listed in Errors.