Skip to content

10DLC for Sub-Accounts

Register independent 10DLC brands and campaigns for each of your sub-accounts

View .md

10DLC for Sub-Accounts

If you use sub-accounts to manage multiple clients, each client that sends SMS in the United States needs their own 10DLC registration. Since each sub-account represents a different business with its own legal entity, they cannot share a single brand registration.

How It Works

Each sub-account (project) can independently register:

  • Its own Brand — with the client's legal business information
  • Its own Campaigns — with the client's specific messaging use cases
  • Its own Phone Numbers — assigned to the client's approved campaigns
Code
Parent Account ├── Sub-Account A (Client A) │ ├── Brand: "Acme Corp" │ ├── Campaign: "Order Notifications" │ └── Phone: +1 (555) 111-0001 ├── Sub-Account B (Client B) │ ├── Brand: "Beta LLC" │ ├── Campaign: "2FA Codes" │ └── Phone: +1 (555) 222-0002 └── Sub-Account C (Client C) ├── Brand: "Gamma Inc" ├── Campaign: "Marketing" └── Phone: +1 (555) 333-0003

Prerequisites

  1. Active sub-account with an API key (create one)
  2. Business Verification (KYB) approved on the parent account (submitting a brand or campaign without it returns 403 kyb_required)
  3. Client's business information (legal name, EIN, address, website)

Step-by-Step Registration

Use the sub-account's API key for all requests below. This ensures the brand and campaign are scoped to that specific sub-account.

1. Register the Client's Brand

terminal
# Using the sub-account's API key curl -X POST https://api.zavu.dev/v1/10dlc/brands \ -H "Authorization: Bearer $SUB_ACCOUNT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "entityType": "PRIVATE_PROFIT", "displayName": "Acme Corp", "companyName": "Acme Corporation", "ein": "12-3456789", "email": "compliance@acme.com", "phone": "+14155551234", "street": "123 Main St", "city": "San Francisco", "state": "CA", "postalCode": "94102", "country": "US", "website": "https://acme.com", "vertical": "Technology" }'

2. Submit Brand for Review

terminal
curl -X POST https://api.zavu.dev/v1/10dlc/brands/{brandId}/submit \ -H "Authorization: Bearer $SUB_ACCOUNT_API_KEY"

Wait 1-3 business days for brand verification. Check status:

terminal
curl -X POST https://api.zavu.dev/v1/10dlc/brands/{brandId}/sync \ -H "Authorization: Bearer $SUB_ACCOUNT_API_KEY"

3. Create a Campaign

Once the brand is verified:

terminal
curl -X POST https://api.zavu.dev/v1/10dlc/campaigns \ -H "Authorization: Bearer $SUB_ACCOUNT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "brandId": "brand_abc123", "name": "Order Notifications", "useCase": "ACCOUNT_NOTIFICATION", "description": "Send order status updates to customers who opted in at checkout.", "sampleMessages": [ "Hi {{name}}, your order #{{order_id}} has shipped!", "Your order #{{order_id}} has been delivered." ], "subscriberOptIn": true, "subscriberOptOut": true, "subscriberHelp": true, "numberPooling": false, "directLending": false, "embeddedLink": true, "embeddedPhone": false, "affiliateMarketing": false, "ageGated": false }'

4. Submit Campaign for Review

terminal
curl -X POST https://api.zavu.dev/v1/10dlc/campaigns/{campaignId}/submit \ -H "Authorization: Bearer $SUB_ACCOUNT_API_KEY"

5. Assign Phone Numbers

After the campaign is approved, assign the sub-account's phone numbers:

terminal
curl -X POST https://api.zavu.dev/v1/10dlc/campaigns/{campaignId}/phone-numbers \ -H "Authorization: Bearer $SUB_ACCOUNT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "phoneNumberId": "pn_abc123" }'

Managing via Dashboard

Team owners can also manage 10DLC registration for each sub-account through the dashboard:

  1. Navigate to the sub-account in your Dashboard
  2. Switch to the sub-account's project context
  3. Go to Compliance → 10DLC
  4. Follow the standard registration flow

Cost

All 10DLC fees are charged from the parent team's balance:

ItemCost
Brand registration per sub-account$4 one-time
Campaign registration per sub-account$15 one-time ($2 for LOW_VOLUME)
Campaign monthly fee per sub-account$10/month ($2 for LOW_VOLUME)

Best Practices

  • Register early — Brand and campaign approval can take up to 7 business days
  • Use accurate business info — Mismatches between the brand and official records cause rejections
  • One brand per sub-account — Each sub-account represents one business entity
  • Set credit limits — Use credit limits to control spending per sub-account

Next Steps