Update a brand
Replaces the brand with the body you send and pushes the change to the US 10DLC registry. This is a full replacement, not a patch: send the same shape as create, including name and brandType, and any field you leave out is cleared.
curl --request PUT \
--url https://api.vobiz.ai/api/v1/sms/10dlc/brands/{id} \
--header 'Content-Type: application/json' \
--header 'X-Auth-ID: <api-key>' \
--header 'X-Auth-Token: <api-key>' \
--data '
{
"name": "Example Corp",
"brandType": "TENDLC_PRIVATE_COMPANY"
}
'from vobiz import Vobiz
client = Vobiz(api_key="MA_XXXXXXXX", auth_token="YOUR_AUTH_TOKEN")
from vobiz.sms import BrandAddress
client.sms.brands.update_brand(
id="8e6c4a2f-0d9b-4b7a-a5c3-1e9f7d5b3a10",
name="Example Corp",
legal_name="Example Corporation Inc.",
brand_type="TENDLC_PRIVATE_COMPANY",
website="https://example.com",
support_email="help@example.com",
support_phone="+14155550100",
vertical="TECHNOLOGY",
tax_id="12-3456789",
tax_id_issuing_country="US",
country_code="US",
address=BrandAddress(
street="100 Example Street",
city="San Francisco",
state="CA",
zip_code="94105",
),
business_contact_first_name="Alex",
business_contact_last_name="Doe",
business_contact_email="alex.doe@example.com",
legal_entity_type="PRIVATE_COMPANY",
)
const options = {
method: 'PUT',
headers: {
'X-Auth-ID': '<api-key>',
'X-Auth-Token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({name: 'Example Corp', brandType: 'TENDLC_PRIVATE_COMPANY'})
};
fetch('https://api.vobiz.ai/api/v1/sms/10dlc/brands/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "5f1c3a2e-7b4d-4e8f-9a0b-1c2d3e4f5a60",
"accountId": "MA_XXXXXXXX",
"name": "Example Corp",
"legalName": "Example Corporation Inc.",
"brandType": "TENDLC_PRIVATE_COMPANY",
"stage": "DRAFT",
"website": "https://example.com",
"supportEmail": "help@example.com",
"supportPhone": "+14155550100",
"vertical": "TECHNOLOGY",
"taxId": "12-3456789",
"taxIdIssuingCountry": "US",
"countryCode": "US",
"address": {
"street": "100 Example Street",
"city": "San Francisco",
"state": "CA",
"zipCode": "94105"
},
"businessContactFirstName": "Alex",
"businessContactLastName": "Doe",
"businessContactEmail": "alex.doe@example.com",
"legalEntityType": "PRIVATE_COMPANY",
"createdAt": "2026-10-12T10:30:00Z",
"updatedAt": "2026-10-12T11:02:45Z"
}{
"error": "invalid request: name is required"
}{
"error": "missing or invalid credentials"
}{
"error": "brand not found"
}{
"error": "registration provider rejected the request: brand is under review; wait for the registrar's decision",
"providerError": "registration error 403 (HTTP 403): brand is under review"
}{
"error": "internal error"
}{
"error": "registration provider unavailable",
"providerError": "registration error 500 (HTTP 500): upstream timeout"
}Authorizations
Your Vobiz account Auth ID (MA_XXXXXXXX).
Your Vobiz account Auth Token.
Path Parameters
Brand ID (UUID) returned by POST /10dlc/brands. An unknown ID, an ID from another account, or a value that is not a UUID returns 404 with {"error":"brand not found"}.
Body
The business that will send messages. name and brandType are required; every other value is passed to the US 10DLC registry as given, so use the values the registry accepts (listed per field) and match your official records.
Display name of the brand, usually the name customers know you by. Required.
"Example Corp"
Kind of business. Required. One of TENDLC_PRIVATE_COMPANY (privately held business), TENDLC_PUBLIC_COMPANY (publicly traded company; also goes through brand authentication), TENDLC_NON_PROFIT (registered non-profit), TENDLC_GOVERNMENT (government body) or TOLL_FREE_NUMBER (a business registered for toll-free messaging).
TENDLC_PRIVATE_COMPANY, TENDLC_PUBLIC_COMPANY, TENDLC_NON_PROFIT, TENDLC_GOVERNMENT, TOLL_FREE_NUMBER Your own idempotency reference, any string unique per brand on your account. Repeating a create with the same value reconciles to the same brand instead of creating a second one. Ignored on update.
"brand-example-corp-01"
Registered legal name of the business, exactly as it appears on tax records.
"Example Corporation Inc."
Business website. It must be live, match the business and show your privacy policy.
"https://example.com"
Support email address for the business, ideally on the website's domain.
"support@example.com"
Support phone number for the business, in E.164 format (for example +14155550100).
"+14155550100"
Industry of the business. Values accepted by the US 10DLC registry include AGRICULTURE, COMMUNICATION, CONSTRUCTION, EDUCATION, ENERGY, ENTERTAINMENT, FINANCIAL, GAMBLING, GOVERNMENT, HEALTHCARE, HOSPITALITY, HUMAN_RESOURCES, INFORMATION_TECHNOLOGY_SERVICES, INSURANCE, LEGAL, MANUFACTURING, NGO, POLITICAL, POSTAL, PROFESSIONAL, REAL_ESTATE, RETAIL, TECHNOLOGY, TRANSPORTATION.
"TECHNOLOGY"
Tax identifier of the business, for example the 9-digit US EIN. It must match legalName in the issuing country's records.
"12-3456789"
ISO 3166-1 alpha-2 code of the country that issued taxId, for example US.
"US"
ISO 3166-1 alpha-2 code of the country where the business is registered, for example US.
"US"
Postal address of the business as it appears on its registration records.
Show child attributes
Show child attributes
Alternate business identifier (for example a DUNS or LEI record), passed to the registry as given. Send it only when the registry asks for one.
{ "type": "DUNS", "id": "123456789" }
First name of the person the registry can contact about the brand.
"Alex"
Last name of the person the registry can contact about the brand.
"Doe"
Email address of the business contact. The registry sends brand-authentication and 2FA requests for TENDLC_PUBLIC_COMPANY brands here.
"alex.doe@example.com"
Trading name ("doing business as") when it differs from legalName. Note the casing businessDba on brand requests.
"Example"
Legal form of the business. Values accepted by the US 10DLC registry: PRIVATE_COMPANY, PUBLIC_COMPANY, NON_PROFIT, GOVERNMENT, SOLE_PROPRIETOR.
"PRIVATE_COMPANY"
Type of registration number for a business outside the US. Values accepted by the US 10DLC registry: VAT, CBN, PROVINCIAL_NUMBER, ABN, SIREN, NZBN, CIF, CNPJ, OTHER.
Tax-exempt status of a TENDLC_NON_PROFIT brand.
"501c3"
Exchange where the company is listed, for example NASDAQ or NYSE. TENDLC_PUBLIC_COMPANY brands only.
"NASDAQ"
Ticker symbol on stockExchange. TENDLC_PUBLIC_COMPANY brands only.
"EXMP"
Response
The updated brand.
A brand on your account: the business behind your 10DLC traffic and its state at the US 10DLC registry. Optional fields are omitted when empty, and registry state is refreshed when you retrieve the brand.
Brand ID (UUID) on your account. Use it in every /10dlc/brands/{id} path and as brandId when you create a campaign.
"5f1c3a2e-7b4d-4e8f-9a0b-1c2d3e4f5a60"
Your Vobiz account ID (MA_...). Always the account whose credentials made the request.
"MA_XXXXXXXX"
Display name you gave the brand when you created it.
"Example Corp"
Registered legal name of the business. Omitted when not set.
"Example Corporation Inc."
Kind of business behind the brand: TENDLC_PRIVATE_COMPANY (privately held business), TENDLC_PUBLIC_COMPANY (publicly traded company; also goes through brand authentication), TENDLC_NON_PROFIT (registered non-profit), TENDLC_GOVERNMENT (government body) or TOLL_FREE_NUMBER (a business registered for toll-free messaging).
TENDLC_PRIVATE_COMPANY, TENDLC_PUBLIC_COMPANY, TENDLC_NON_PROFIT, TENDLC_GOVERNMENT, TOLL_FREE_NUMBER Where the brand is in your workflow: DRAFT until you call POST /10dlc/brands/{id}/register, then SUBMITTED.
DRAFT, SUBMITTED The registrar's decision, present once the brand is submitted. PENDING while under review, PENDING_2FA while a public company's business contact completes brand authentication, PENDING_APPEAL while an appeal is reviewed, ACTIVE when approved and REJECTED when declined (see rejectionReasons).
ACTIVE, PENDING, PENDING_2FA, PENDING_APPEAL, REJECTED Identity verification result from the registry, for example VERIFIED, UNVERIFIED or VETTED_VERIFIED. Omitted until the registry reports one.
"VERIFIED"
Rejections recorded by registrars, one entry per registrar. Omitted when there are none; fix the brand with PUT /10dlc/brands/{id} and register it again.
Show child attributes
Show child attributes
Business website as submitted to the registry. Omitted when not set.
"https://example.com"
Support email address for the business. Omitted when not set.
"support@example.com"
Support phone number for the business, in E.164 format. Omitted when not set.
"+14155550100"
Industry vertical code as submitted to the registry, for example TECHNOLOGY. Omitted when not set.
"TECHNOLOGY"
Tax identifier of the business, for example a US EIN. Omitted when not set.
"12-3456789"
ISO 3166-1 alpha-2 code of the country that issued taxId, for example US. Omitted when not set.
"US"
ISO 3166-1 alpha-2 code of the country where the business is registered. Omitted when not set.
"US"
Postal address of the business as submitted to the registry. Omitted when not set.
Show child attributes
Show child attributes
Alternate business identifier (for example a DUNS or LEI record), returned as you sent it. Omitted when not set.
First name of the business contact the registry can reach. Omitted when not set.
"Alex"
Last name of the business contact the registry can reach. Omitted when not set.
"Doe"
Email address of the business contact; brand-authentication and 2FA requests go here. Omitted when not set.
"alex.doe@example.com"
Trading name ("doing business as") when it differs from legalName. Omitted when not set.
Legal entity type as submitted to the registry, for example PRIVATE_COMPANY. Omitted when not set.
"PRIVATE_COMPANY"
Type of business registration number for a business outside the US, for example VAT. Omitted when not set.
Exchange where a TENDLC_PUBLIC_COMPANY brand is listed. Omitted when not set.
Ticker symbol of a TENDLC_PUBLIC_COMPANY brand. Omitted when not set.
Tax-exempt status of a TENDLC_NON_PROFIT brand. Omitted when not set.
When Vobiz last refreshed this record from the US 10DLC registry, in ISO 8601 (RFC 3339) UTC. Omitted until the first refresh.
"2026-10-12T10:35:00Z"
When the record was created on your account, in ISO 8601 (RFC 3339) UTC.
"2026-10-12T10:30:00Z"
When the record last changed on your account, in ISO 8601 (RFC 3339) UTC.
"2026-10-12T10:35:00Z"
Was this page helpful?
curl --request PUT \
--url https://api.vobiz.ai/api/v1/sms/10dlc/brands/{id} \
--header 'Content-Type: application/json' \
--header 'X-Auth-ID: <api-key>' \
--header 'X-Auth-Token: <api-key>' \
--data '
{
"name": "Example Corp",
"brandType": "TENDLC_PRIVATE_COMPANY"
}
'from vobiz import Vobiz
client = Vobiz(api_key="MA_XXXXXXXX", auth_token="YOUR_AUTH_TOKEN")
from vobiz.sms import BrandAddress
client.sms.brands.update_brand(
id="8e6c4a2f-0d9b-4b7a-a5c3-1e9f7d5b3a10",
name="Example Corp",
legal_name="Example Corporation Inc.",
brand_type="TENDLC_PRIVATE_COMPANY",
website="https://example.com",
support_email="help@example.com",
support_phone="+14155550100",
vertical="TECHNOLOGY",
tax_id="12-3456789",
tax_id_issuing_country="US",
country_code="US",
address=BrandAddress(
street="100 Example Street",
city="San Francisco",
state="CA",
zip_code="94105",
),
business_contact_first_name="Alex",
business_contact_last_name="Doe",
business_contact_email="alex.doe@example.com",
legal_entity_type="PRIVATE_COMPANY",
)
const options = {
method: 'PUT',
headers: {
'X-Auth-ID': '<api-key>',
'X-Auth-Token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({name: 'Example Corp', brandType: 'TENDLC_PRIVATE_COMPANY'})
};
fetch('https://api.vobiz.ai/api/v1/sms/10dlc/brands/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "5f1c3a2e-7b4d-4e8f-9a0b-1c2d3e4f5a60",
"accountId": "MA_XXXXXXXX",
"name": "Example Corp",
"legalName": "Example Corporation Inc.",
"brandType": "TENDLC_PRIVATE_COMPANY",
"stage": "DRAFT",
"website": "https://example.com",
"supportEmail": "help@example.com",
"supportPhone": "+14155550100",
"vertical": "TECHNOLOGY",
"taxId": "12-3456789",
"taxIdIssuingCountry": "US",
"countryCode": "US",
"address": {
"street": "100 Example Street",
"city": "San Francisco",
"state": "CA",
"zipCode": "94105"
},
"businessContactFirstName": "Alex",
"businessContactLastName": "Doe",
"businessContactEmail": "alex.doe@example.com",
"legalEntityType": "PRIVATE_COMPANY",
"createdAt": "2026-10-12T10:30:00Z",
"updatedAt": "2026-10-12T11:02:45Z"
}{
"error": "invalid request: name is required"
}{
"error": "missing or invalid credentials"
}{
"error": "brand not found"
}{
"error": "registration provider rejected the request: brand is under review; wait for the registrar's decision",
"providerError": "registration error 403 (HTTP 403): brand is under review"
}{
"error": "internal error"
}{
"error": "registration provider unavailable",
"providerError": "registration error 500 (HTTP 500): upstream timeout"
}