Skip to main content

Toll-Free Verification with Business Registration Fields

Telnyx toll-free verification now supports Business Registration Number (BRN) fields to strengthen business verification and compliance. Starting January 1, 2026, three BRN fields will be required for all new toll-free verification submissions.

Policy Update: January 1, 2026

Beginning January 1, 2026, the following fields are required for all new toll-free verification requests:

  • businessRegistrationNumber
  • businessRegistrationType
  • businessRegistrationCountry

Submissions missing these fields will be rejected.

Why This Matters ​

U.S. wireless carriers require toll-free numbers (800, 888, 877, 866, 855, 844, 833) used for SMS/MMS to complete verification. The new BRN fields provide carriers with verified business identity information, helping to:

  • Reduce verification processing time
  • Improve approval rates
  • Ensure compliance with carrier policies
  • Prevent fraudulent messaging

New Business Registration Fields ​

Required Fields (January 1, 2026) ​

businessRegistrationNumber ​

The official government-issued business registration identifier.

PropertyValue
TypeString
Max Length500 characters
RequiredJanuary 1, 2026
NullableCurrently yes, no after Jan 2026

Examples by Country:

CountryTypeExample Format
United StatesEIN12-3456789 or 123456789
CanadaBusiness Number123456789RC0001
United KingdomCompanies House12345678
AustraliaABN51824753556
GermanyVATDE123456789

Where to Find:

  • US: IRS EIN Lookup - Check your EIN confirmation letter or SS-4 form
  • Canada: CRA Business Number from your registration documents
  • UK: Companies House registration certificate
  • Australia: ABN Lookup
  • EU: VAT registration certificate from your national tax authority

businessRegistrationType ​

The type or classification of your business registration.

PropertyValue
TypeString
Max Length500 characters
RequiredJanuary 1, 2026
NullableCurrently yes, no after Jan 2026

Common Values:

  • EIN - U.S. Employer Identification Number
  • CRA - Canadian Revenue Agency Business Number
  • Companies House - UK company registration
  • ABN - Australian Business Number
  • VAT - European Union VAT registration
  • SSN - For U.S. sole proprietors without EIN

businessRegistrationCountry ​

ISO 3166-1 alpha-2 country code of the authority that issued the registration.

PropertyValue
TypeString
LengthExactly 2 characters
FormatISO 3166-1 alpha-2
RequiredJanuary 1, 2026
NullableCurrently yes, no after Jan 2026

Validation:

  • Must be exactly 2 letters
  • Only alphabetic characters (A-Z)
  • Automatically converted to uppercase ("us" → "US")
  • Returns HTTP 400 if invalid

Example Values: US, CA, GB, AU, DE, FR, JP

See complete list: ISO 3166-1 country codes

Optional Fields ​

These fields are optional but recommended for faster verification processing.

doingBusinessAs ​

DBA, trade name, or brand name if different from your legal business name.

PropertyValue
TypeString
Max Length500 characters
RequiredNo

Example: Legal name "Acme Corporation Inc.", DBA "Acme Services"

entityType ​

Legal business entity classification.

PropertyValue
TypeEnum
RequiredNo
Allowed ValuesSOLE_PROPRIETOR, PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, GOVERNMENT

Value Descriptions:

ValueDescription
SOLE_PROPRIETORIndividual or sole proprietorship
PRIVATE_PROFITPrivate for-profit corporation (most common)
PUBLIC_PROFITPublicly traded for-profit company
NON_PROFIT501(c) or charitable organization
GOVERNMENTGovernment entity or agency

optInConfirmationResponse ​

Message sent to subscribers confirming their opt-in.

PropertyValue
TypeString
Max Length500 characters
RequiredNo

Example: "You are now subscribed to Acme alerts. Reply STOP to unsubscribe. Msg&data rates may apply."

helpMessageResponse ​

Automated response when subscribers text HELP.

PropertyValue
TypeString
Max Length500 characters
RequiredNo

Example: "Acme Support: Call 1-800-555-0123 or email help@acme.com. Reply STOP to unsubscribe."

privacyPolicyURL ​

URL to your business privacy policy.

PropertyValue
TypeString
Max Length500 characters
RequiredNo

Example: "https://www.acme.com/privacy"

note

URL format validation is not enforced. Provide a publicly accessible URL.

termsAndConditionURL ​

URL to your business terms and conditions.

PropertyValue
TypeString
Max Length500 characters
RequiredNo

Example: "https://www.acme.com/terms"

ageGatedContent ​

Indicates if messaging content requires age verification (18+ or 21+).

PropertyValue
TypeBoolean
Defaultfalse
RequiredNo

Set to true for alcohol, tobacco, cannabis, or other age-restricted content.

optInKeywords ​

Keywords subscribers use to opt-in to your messaging program.

PropertyValue
TypeString
Max Length500 characters
RequiredNo

Example: "START, YES, SUBSCRIBE, JOIN"

API Usage ​

Create Verification Request with BRN Fields ​

Endpoint: POST /public/api/v2/requests

Request with BRN Fields:

curl -X POST https://api.telnyx.com/public/api/v2/requests \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"businessName": "Acme Corporation",
"corporateWebsite": "https://www.acme.com",
"businessAddr1": "123 Main Street",
"businessCity": "Chicago",
"businessState": "Illinois",
"businessZip": "60601",
"businessContactFirstName": "John",
"businessContactLastName": "Doe",
"businessContactEmail": "compliance@acme.com",
"businessContactPhone": "+18005551234",
"messageVolume": "100,000",
"phoneNumbers": [{"phoneNumber": "+18773554398"}],
"useCase": "Account Notifications",
"useCaseSummary": "Account security alerts and transaction confirmations",
"productionMessageContent": "Acme Alert: Your password was changed on Dec 15.",
"optInWorkflow": "Users opt-in during account registration",
"optInWorkflowImageURLs": [{"url": "https://www.acme.com/opt-in.png"}],
"additionalInformation": "Messages sent to verified phone numbers only",
"businessRegistrationNumber": "12-3456789",
"businessRegistrationType": "EIN",
"businessRegistrationCountry": "US",
"entityType": "PRIVATE_PROFIT"
}'

Response (HTTP 201):

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"verificationRequestId": "TFV-ABC123",
"verificationStatus": "Pending",
"businessName": "Acme Corporation",
"businessRegistrationNumber": "12-3456789",
"businessRegistrationType": "EIN",
"businessRegistrationCountry": "US",
"entityType": "PRIVATE_PROFIT",
"createdAt": "2025-10-13T12:00:00Z"
}

Retrieve Verification with BRN Fields ​

Endpoint: GET /public/api/v2/requests/{id}

curl -X GET https://api.telnyx.com/public/api/v2/requests/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer YOUR_API_KEY"

Response (HTTP 200):

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"verificationRequestId": "TFV-ABC123",
"verificationStatus": "Approved",
"businessName": "Acme Corporation",
"businessRegistrationNumber": "12-3456789",
"businessRegistrationType": "EIN",
"businessRegistrationCountry": "US",
"entityType": "PRIVATE_PROFIT",
"phoneNumbers": [{"phoneNumber": "+18773554398"}],
"createdAt": "2025-10-13T12:00:00Z",
"updatedAt": "2025-10-15T09:30:00Z"
}

Update BRN Fields ​

Endpoint: PATCH /public/api/v2/requests/{id}

curl -X PATCH https://api.telnyx.com/public/api/v2/requests/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"businessRegistrationNumber": "98-7654321",
"businessRegistrationCountry": "US"
}'

Code Examples ​

Python ​

import requests

# Create verification with BRN fields
payload = {
"businessName": "Acme Corporation",
"corporateWebsite": "https://www.acme.com",
"businessAddr1": "123 Main Street",
"businessCity": "Chicago",
"businessState": "Illinois",
"businessZip": "60601",
"businessContactFirstName": "John",
"businessContactLastName": "Doe",
"businessContactEmail": "compliance@acme.com",
"businessContactPhone": "+18005551234",
"messageVolume": "100,000",
"phoneNumbers": [{"phoneNumber": "+18773554398"}],
"useCase": "Account Notifications",
"useCaseSummary": "Security alerts and account updates",
"productionMessageContent": "Your Acme security code is: 123456",
"optInWorkflow": "Users opt-in during registration",
"optInWorkflowImageURLs": [{"url": "https://www.acme.com/opt-in.png"}],
"additionalInformation": "Messages to verified numbers only",

# BRN Fields (required Jan 2026)
"businessRegistrationNumber": "12-3456789",
"businessRegistrationType": "EIN",
"businessRegistrationCountry": "US",
"entityType": "PRIVATE_PROFIT"
}

response = requests.post(
"https://api.telnyx.com/public/api/v2/requests",
json=payload,
headers={"Authorization": "Bearer YOUR_API_KEY"}
)

if response.status_code == 201:
data = response.json()
print(f"Verification created: {data['verificationRequestId']}")
else:
print(f"Error: {response.status_code} - {response.text}")

JavaScript/TypeScript ​

interface TollFreeVerificationRequest {
businessName: string;
corporateWebsite: string;
businessAddr1: string;
businessCity: string;
businessState: string;
businessZip: string;
businessContactFirstName: string;
businessContactLastName: string;
businessContactEmail: string;
businessContactPhone: string;
messageVolume: string;
phoneNumbers: Array<{ phoneNumber: string }>;
useCase: string;
useCaseSummary: string;
productionMessageContent: string;
optInWorkflow: string;
optInWorkflowImageURLs: Array<{ url: string }>;
additionalInformation?: string;

// BRN Fields (required Jan 2026)
businessRegistrationNumber: string;
businessRegistrationType: string;
businessRegistrationCountry: string;
entityType?: 'SOLE_PROPRIETOR' | 'PRIVATE_PROFIT' | 'PUBLIC_PROFIT' | 'NON_PROFIT' | 'GOVERNMENT';
}

async function createVerification(request: TollFreeVerificationRequest, apiKey: string) {
const response = await fetch('https://api.telnyx.com/public/api/v2/requests', {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(request)
});

if (!response.ok) {
const error = await response.json();
throw new Error(`Verification failed: ${JSON.stringify(error)}`);
}

return response.json();
}

// Example usage
const request: TollFreeVerificationRequest = {
businessName: "Acme Corporation",
corporateWebsite: "https://www.acme.com",
businessAddr1: "123 Main Street",
businessCity: "Chicago",
businessState: "Illinois",
businessZip: "60601",
businessContactFirstName: "John",
businessContactLastName: "Doe",
businessContactEmail: "compliance@acme.com",
businessContactPhone: "+18005551234",
messageVolume: "100,000",
phoneNumbers: [{ phoneNumber: "+18773554398" }],
useCase: "Account Notifications",
useCaseSummary: "Security alerts and account updates",
productionMessageContent: "Your code is: 123456",
optInWorkflow: "Users opt-in during registration",
optInWorkflowImageURLs: [{ url: "https://www.acme.com/opt-in.png" }],

businessRegistrationNumber: "12-3456789",
businessRegistrationType: "EIN",
businessRegistrationCountry: "US",
entityType: "PRIVATE_PROFIT"
};

createVerification(request, 'YOUR_API_KEY')
.then(result => console.log('Created:', result.verificationRequestId))
.catch(error => console.error('Error:', error.message));

Error Handling ​

Validation Errors (HTTP 400) ​

Missing Required Fields (After January 2026) ​

Response:

{
"errors": [
{
"field": "businessRegistrationNumber",
"message": "This field is required as of January 2026"
},
{
"field": "businessRegistrationType",
"message": "This field is required as of January 2026"
},
{
"field": "businessRegistrationCountry",
"message": "This field is required as of January 2026"
}
]
}

Invalid Country Code ​

{
"detail": "businessRegistrationCountry must be a 2-character ISO 3166-1 alpha-2 country code"
}

Invalid Entity Type ​

{
"detail": "entityType must be one of: SOLE_PROPRIETOR, PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, GOVERNMENT"
}

Other Status Codes ​

CodeDescription
200Success (GET, PATCH)
201Created (POST)
204Deleted (DELETE)
400Bad Request - Invalid data
401Unauthorized - Invalid API key
404Not Found - Invalid request ID
422Unprocessable Entity - Invalid format

Migration Guide ​

Timeline ​

PeriodStatusAction
Now - Dec 2025OptionalBRN fields can be included but not required
Jan 1, 2026MandatoryAll 3 required BRN fields must be included

Preparation Steps ​

1. Gather Business Registration Information

Locate your:

  • Business registration number (EIN, VAT, ABN, etc.)
  • Registration type identifier
  • Issuing country code

2. Update Your Integration

Add BRN fields to your API requests:

  const request = {
businessName: "Acme Corp",
corporateWebsite: "https://acme.com",
// ... other required fields
+ businessRegistrationNumber: "12-3456789",
+ businessRegistrationType: "EIN",
+ businessRegistrationCountry: "US"
};

3. Test Your Implementation

  • Submit test requests with BRN fields
  • Verify fields are returned in responses
  • Test validation error handling
  • Confirm country code uppercase conversion

4. Update Error Handling

Prepare for validation errors after January 2026:

try {
const result = await createVerification(request);
} catch (error) {
if (error.status === 400) {
console.error('Validation failed:', error.errors);
// Handle missing BRN fields
}
}

Backward Compatibility ​

Until January 1, 2026:

  • Requests without BRN fields continue to work
  • No breaking changes to existing integrations
  • BRN fields default to null if not provided

After January 1, 2026:

  • Requests without 3 required BRN fields will be rejected (HTTP 400)
  • Update your integration before this date

Frequently Asked Questions ​

When do BRN fields become mandatory? ​

January 1, 2026. All new verification requests must include businessRegistrationNumber, businessRegistrationType, and businessRegistrationCountry.

Do I need to resubmit existing verifications? ​

No. Approved verifications before January 2026 remain valid.

Where do I find my business registration number? ​

  • US: IRS EIN confirmation letter or IRS.gov
  • Canada: CRA Business Number registration documents
  • UK: Companies House certificate
  • Australia: ABN Lookup
  • EU: VAT registration certificate

What if I'm a sole proprietor without an EIN? ​

U.S. sole proprietors can use their Social Security Number as businessRegistrationNumber with type SSN. Other countries may have similar individual tax identifiers.

Can I update BRN fields after submission? ​

Yes. Use PATCH /public/api/v2/requests/{id} to update BRN fields.

Why are country codes converted to uppercase? ​

For consistency. Sending "us" automatically becomes "US" in responses and storage.

Which entity type should I choose? ​

Choose the type matching your official business registration:

  • SOLE_PROPRIETOR - Individual or sole proprietorship
  • PRIVATE_PROFIT - Private corporation (most common)
  • PUBLIC_PROFIT - Publicly traded company
  • NON_PROFIT - 501(c) or charitable organization
  • GOVERNMENT - Government entity

Additional Resources ​

Support ​

Need help with toll-free verification?


Last Updated: October 2025 API Version: v2