Skip to main content
If you’re an ISV, reseller, or SaaS platform sending messages on behalf of your customers, you need a partner campaign architecture — not a standard 10DLC registration. This guide covers everything from initial setup through production messaging.

Who needs this guide?

Direct customer? If you’re sending messages for your own business only, use the standard 10DLC quickstart instead.

Architecture overview

ISV/reseller 10DLC uses a shared campaign model where you register campaigns with your upstream CSP (Campaign Service Provider) and share them to Telnyx for number assignment and messaging.

Key concepts

Upstream CSP

The Campaign Service Provider where you register brands and campaigns with TCR. This could be Telnyx (if you register directly) or another CSP.

Downstream CSP

The messaging provider that sends traffic. Telnyx acts as your downstream CSP — you share campaigns to Telnyx for number assignment.

Shared / Partner Campaign

A campaign registered at one CSP and shared to another for traffic delivery. Required for ISV architectures.

Campaign Sharing

The TCR process of granting a downstream CSP access to send traffic for a campaign. Sharing must be accepted by the downstream CSP.

Native vs. partner campaigns


Prerequisites

Before starting, ensure you have:
1

Telnyx account with messaging enabled

Sign up and complete account verification. You need a Level 2 verified account.
2

Upstream CSP account

An account with a CSP where you’ll register brands and campaigns (this can be Telnyx or another provider like Campaign Registry direct access).
3

Customer business information

For each customer: legal business name, EIN/tax ID, business address, website, authorized representative contact, and messaging use case details.
4

Phone numbers

10DLC-eligible long code numbers on your Telnyx account. Purchase numbers or use existing inventory.

Step-by-step ISV onboarding

Step 1: Register brands for each customer

Each of your customers needs their own brand registered with TCR. A brand represents a business entity.
If using Telnyx as your upstream CSP, register brands directly:

Step 2: Submit brand for vetting

Higher vetting scores unlock greater throughput. For ISV use cases, enhanced vetting is strongly recommended.
curl
Enhanced vetting costs a one-time fee and takes 1–7 business days. Brands with vetting scores above 75 get significantly higher throughput. See 10DLC Rate Limits for details.

Step 3: Create campaigns for each customer

Create one campaign per customer, selecting the use case that matches the actual message content your platform sends. See the campaign registration docs for the full list of supported use cases.
ISV-specific requirements:
  • Sample messages must accurately reflect what your platform sends
  • Message flow must describe how end users (not your clients) consent to receive messages
  • Each campaign undergoes manual review by TCR — allow 5–10 business days

Step 4: Share campaign to Telnyx

Once your campaign is approved at your upstream CSP, share it to Telnyx. The sharing process depends on your CSP, but the result is a campaign visible in the Telnyx Partner Campaigns API. After sharing, verify the campaign appears on Telnyx:

Step 5: Assign phone numbers to the shared campaign

Once the campaign is accepted by Telnyx, assign your 10DLC numbers to it:
Number-to-campaign assignment typically completes within minutes. A number can only be assigned to one campaign at a time. To reassign, remove the existing assignment first.

Step 6: Check sharing status

Monitor whether Telnyx has accepted the shared campaign:
curl
Possible sharing statuses:

Step 7: Send messages

Once numbers are assigned to the accepted campaign, send messages using the standard Send Message API:
curl

Managing customers at scale

Multi-tenant architecture patterns

Best for: SaaS platforms where all customers send similar message types.One brand (yours) with shared campaigns. All customers’ traffic flows through the same campaign.Trade-off: Simpler setup, but throughput is shared and one customer’s violations affect all.

Bulk brand registration

For platforms onboarding many customers, automate brand registration:
Python

Webhook monitoring for partner campaigns

Set up webhooks to track campaign status changes across all your customers:
Python

Partner campaign appeals

When a shared campaign is rejected, the appeal process differs from native campaigns. Partner campaigns use a CSP nudge mechanism:
1

Review the rejection reason

Check the campaign status and rejection details via your upstream CSP.
2

Fix the issue

Update the campaign details (description, samples, message flow) at your upstream CSP based on the rejection reason.
3

Trigger a CSP nudge

Your upstream CSP sends a CAMPAIGN_NUDGE event to TCR, which triggers a re-review.
The nudge mechanism is only available for partner campaigns. Native campaigns use the direct appeal API. See 10DLC Event Notifications for details.
4

Monitor for approval

Set up webhooks to receive campaign status updates automatically.

Troubleshooting

Cause: Telnyx hasn’t processed the sharing request yet, or there’s a data mismatch.Fix:
  1. Verify the campaign is fully approved at your upstream CSP
  2. Confirm you shared to the correct downstream CSP (Telnyx’s TCR ID)
  3. Contact Telnyx support with the TCR Campaign ID
Cause: Campaign sharing hasn’t been accepted, or numbers aren’t 10DLC-eligible.Fix:
  1. Check sharing status — must be ACCEPTED
  2. Verify numbers are long codes (not toll-free or short codes)
  3. Ensure numbers aren’t already assigned to another campaign
  4. Check that numbers are on the same Telnyx account
Cause: Message content doesn’t match registered campaign samples, or throughput exceeds campaign limits.Fix:
  1. Compare actual message content against registered samples
  2. Check 10DLC rate limits for your vetting score
  3. Ensure opt-out keywords (STOP, etc.) are properly handled
  4. Review the error code reference for specific guidance
Cause: Business information doesn’t match public records.Fix: See the 10DLC Troubleshooting Guide for detailed brand failure resolution steps.
Steps:
  1. Register a new brand for the customer (if not already done)
  2. Submit brand for vetting
  3. Create a new campaign under their brand
  4. Wait for campaign approval
  5. Reassign their phone numbers from the shared campaign to the new dedicated campaign
  6. Traffic switches immediately — no downtime required

Compliance checklist for ISVs

ISVs have additional compliance responsibilities because you’re sending on behalf of customers. TCR and carriers hold you accountable for your customers’ messaging practices.
  • Customer vetting — Verify your customers’ business legitimacy before registration
  • Content monitoring — Monitor message content for compliance with campaign use case
  • Opt-in verification — Ensure customers collect proper consent from end users
  • Opt-out processing — STOP/HELP keywords must work across all customer traffic
  • Volume management — Don’t exceed throughput limits for your campaign’s vetting score
  • Incident response — Have a process to quickly disable a customer’s messaging if they violate policies
  • Record retention — Keep opt-in records for at least 4 years per CTIA guidelines
  • Sample message accuracy — Registered samples must match actual production messages

Next steps

10DLC Rate Limits

Understand throughput by vetting score and carrier.

Event Notifications

Set up webhooks for brand and campaign status changes.

Campaign Registration

Details on campaign use cases and requirements.

Partner Campaigns API

Full API reference for shared campaign management.