Skip to content

Campaign Registry

Fresh

Create brand

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Creates a new brand for 10DLC registration.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Request

This endpoint expects an object.

CreateManagedBrandRequestobjectRequired

Request body for registering a new managed brand for 10DLC registration.

OR

CreateCspBrandRequestobjectRequired

Request body for importing a self-registered CSP brand. Use this when you have already registered your brand directly with TCR.

Response

The request has succeeded and a new resource has been created as a result.

idstringformat: "uuid"

The unique identifier of the brand.

statestring

The current state of the brand.

namestring

Brand/Marketing/DBA name of the business if applicable.

company_namestring

The legal name of the business.

contact_emailstring

A company contact email for this brand.

contact_phonestring

A contact phone number for this brand.

ein_issuing_countrystring

Country of registration.

legal_entity_typestring

What type of legal entity is the organization? (PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT)

einstring

Company EIN Number/Tax ID.

company_addressstring

Full company address.

company_verticalstring

An optional Vertical for the brand (REAL_ESTATE, HEALTHCARE, ENERGY, ENTERTAINMENT, RETAIL, AGRICULTURE, INSURANCE, EDUCATION, HOSPITALITY, FINANCIAL, GAMBLING, CONSTRUCTION, NGO, MANUFACTURING, GOVERNMENT, TECHNOLOGY, COMMUNICATION).

company_websitestring

Link to the company website.

csp_brand_referencestring

If you are your own Campaign Service Provider, this is the approved Brand ID (Mandatory for CSPs, otherwise please omit).

csp_self_registeredboolean

This value must be true for all self-registered brands.

status_callback_urlstring

Optional: Specify a URL to receive webhook notifications when your brand’s state changes. See the 10DLC status callback docs for the webhook payload.

created_atdatetime

Timestamp when the brand was created.

updated_atdatetime

Timestamp when the brand was last updated.

Errors

401

Unauthorized Error

422

Unprocessable Entity Error

500

Internal Server Error


List brands

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Returns a list of your registered brands for 10DLC.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Query parameters

filter_namestringOptional

The name given to the brand. Will return all Brands containing this value as a substring.

filter_statestringOptional

The state of the brand in the registration process, such as pending or complete. Will return all Brands with this value.

Response

The request has succeeded.

linksobject

Pagination links.

datalist of objects

List of brands.

Errors

401

Unauthorized Error

500

Internal Server Error


Get brand

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Retrieves the details of a brand.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Path parameters

idstringRequiredformat: "uuid"

Unique ID of the brand.

Response

The request has succeeded.

idstringformat: "uuid"

The unique identifier of the brand.

statestring

The current state of the brand.

namestring

Brand/Marketing/DBA name of the business if applicable.

company_namestring

The legal name of the business.

contact_emailstring

A company contact email for this brand.

contact_phonestring

A contact phone number for this brand.

ein_issuing_countrystring

Country of registration.

legal_entity_typestring

What type of legal entity is the organization? (PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT)

einstring

Company EIN Number/Tax ID.

company_addressstring

Full company address.

company_verticalstring

An optional Vertical for the brand (REAL_ESTATE, HEALTHCARE, ENERGY, ENTERTAINMENT, RETAIL, AGRICULTURE, INSURANCE, EDUCATION, HOSPITALITY, FINANCIAL, GAMBLING, CONSTRUCTION, NGO, MANUFACTURING, GOVERNMENT, TECHNOLOGY, COMMUNICATION).

company_websitestring

Link to the company website.

csp_brand_referencestring

If you are your own Campaign Service Provider, this is the approved Brand ID (Mandatory for CSPs, otherwise please omit).

csp_self_registeredboolean

This value must be true for all self-registered brands.

status_callback_urlstring

Optional: Specify a URL to receive webhook notifications when your brand’s state changes. See the 10DLC status callback docs for the webhook payload.

created_atdatetime

Timestamp when the brand was created.

updated_atdatetime

Timestamp when the brand was last updated.

Errors

401

Unauthorized Error

404

Not Found Error

500

Internal Server Error


Create campaign

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Creates a new campaign for 10DLC registration.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Path parameters

idstringRequiredformat: "uuid"

Unique ID of the brand.

Request

This endpoint expects an object.

CreateManagedCampaignRequestobjectRequired

Request body for creating a managed campaign. Used when the brand is a managed (non-CSP) brand.

Show 28 properties

OR

CreatePartnerCampaignRequestobjectRequired

Request body for creating a partner/CSP campaign. Used when the brand is a CSP (self-registered) brand.

Show 4 properties

Response

The request has succeeded and a new resource has been created as a result.

idstringformat: "uuid"

The unique identifier of the campaign.

namestring

A name for the campaign.

statestring

The current state of the campaign.

sms_use_casestring

An SMS Use Case category for the campaign (2FA, ACCOUNT_NOTIFICATION, AGENTS_FRANCHISES, CARRIER_EXEMPT, CHARITY, CUSTOMER_CARE, DELIVERY_NOTIFICATION, EMERGENCY, FRAUD_ALERT, HIGHER_EDUCATION, K12_EDUCATION, LOW_VOLUME_MIXED, MARKETING, MIXED, POLITICAL, POLITICAL_SECTION_527, POLLING_VOTING, PROXY, PUBLIC_SERVICE_ANNOUNCEMENT, SECURITY_ALERT, SOCIAL, SWEEPSTAKE, TRIAL, UCAAS_HIGH_VOLUME, UCAAS_LOW_VOLUME).

sub_use_caseslist of strings

A sub use case category for MIXED or LOW_VOLUME_MIXED campaigns (CUSTOMER_CARE, HIGHER_EDUCATION, POLLING_VOTING, PUBLIC_SERVICE_ANNOUNCEMENT, MARKETING, SECURITY_ALERT, 2FA, ACCOUNT_NOTIFICATION, DELIVERY_NOTIFICATION, FRAUD_ALERT).

campaign_verify_tokenstring

Campaign Verify token. Required if sms use case is POLITICAL_SECTION_527.

descriptionstring

A description for the campaign. Please use at least 40 characters.

sample1string

Sample message template/content. At least two samples are required and up to five can be provided. Please use at least 20 characters.

sample2string

Sample 2.

sample3string

Sample 3.

sample4string

Sample 4.

sample5string

Sample 5.

dynamic_templatesstring

If your messaging content will be modified in any way beyond what you shared in your templates, please describe the nature of how the content will change.

message_flowstring

Please describe the call to action/message flow your intended recipients will experience.

opt_in_messagestring

Please share the message subscribers receive when they opt in.

opt_out_messagestring

Please share the message subscribers receive when they opt out.

help_messagestring

Please share the message subscribers receive when they request help.

opt_in_keywordsstringDefaults to START

Opt in keywords that subscribers can use.

opt_out_keywordsstringDefaults to STOP

Opt out keywords that subscribers can use.

help_keywordsstringDefaults to HELP

Help keywords that subscribers can use.

number_pooling_requiredboolean

Will 50 or more numbers be used with this single campaign? If so, please enter true.

number_pooling_per_campaignstring

If you will be using number pooling, please provide an explanation as to why it is needed.

direct_lendingboolean

Will this campaign include content related to direct lending or other loan agreements?

embedded_linkboolean

Will you be using an embedded link of any kind? Note that public URL shorteners (bitly, tinyurl) will not be accepted.

embedded_phoneboolean

Are you using an embedded phone number (except the required HELP information contact phone number)?

age_gated_contentboolean

Will this campaign include any age gated content as defined by carrier and CTA guidelines?

lead_generationboolean

Is there any intent of this campaign to generate leads?

csp_campaign_referencestring

If you are your own Campaign Service Provider, what is the approved Campaign ID? (Mandatory for CSPs, otherwise please omit)

status_callback_urlstring

Optional: Specify a URL to receive webhook notifications when your campaign’s state changes. See the 10DLC status callback docs for the webhook payload.

created_atdatetime

Timestamp when the campaign was created.

updated_atdatetime

Timestamp when the campaign was last updated.

Errors

401

Unauthorized Error

404

Not Found Error

422

Unprocessable Entity Error

500

Internal Server Error


List campaigns

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Returns a list of campaigns for a brand.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Path parameters

idstringRequiredformat: "uuid"

Unique ID of the brand.

Query parameters

filter_namestringOptional

The name given to the campaign. Will return all Campaigns containing this value as a substring.

filter_statestringOptional

The state of the campaign in the registration process, such as pending or complete. Will return all campaigns with this value.

Response

The request has succeeded.

linksobject

Pagination links.

Show 4 properties

datalist of objects

List of campaigns.

Show 31 properties

Errors

401

Unauthorized Error

404

Not Found Error

500

Internal Server Error


Get campaign

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Retrieves the details of a campaign.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Path parameters

idstringRequiredformat: "uuid"

Unique ID of the campaign.

Response

The request has succeeded.

idstringformat: "uuid"

The unique identifier of the campaign.

namestring

A name for the campaign.

statestring

The current state of the campaign.

sms_use_casestring

An SMS Use Case category for the campaign (2FA, ACCOUNT_NOTIFICATION, AGENTS_FRANCHISES, CARRIER_EXEMPT, CHARITY, CUSTOMER_CARE, DELIVERY_NOTIFICATION, EMERGENCY, FRAUD_ALERT, HIGHER_EDUCATION, K12_EDUCATION, LOW_VOLUME_MIXED, MARKETING, MIXED, POLITICAL, POLITICAL_SECTION_527, POLLING_VOTING, PROXY, PUBLIC_SERVICE_ANNOUNCEMENT, SECURITY_ALERT, SOCIAL, SWEEPSTAKE, TRIAL, UCAAS_HIGH_VOLUME, UCAAS_LOW_VOLUME).

sub_use_caseslist of strings

A sub use case category for MIXED or LOW_VOLUME_MIXED campaigns (CUSTOMER_CARE, HIGHER_EDUCATION, POLLING_VOTING, PUBLIC_SERVICE_ANNOUNCEMENT, MARKETING, SECURITY_ALERT, 2FA, ACCOUNT_NOTIFICATION, DELIVERY_NOTIFICATION, FRAUD_ALERT).

campaign_verify_tokenstring

Campaign Verify token. Required if sms use case is POLITICAL_SECTION_527.

descriptionstring

A description for the campaign. Please use at least 40 characters.

sample1string

Sample message template/content. At least two samples are required and up to five can be provided. Please use at least 20 characters.

sample2string

Sample 2.

sample3string

Sample 3.

sample4string

Sample 4.

sample5string

Sample 5.

dynamic_templatesstring

If your messaging content will be modified in any way beyond what you shared in your templates, please describe the nature of how the content will change.

message_flowstring

Please describe the call to action/message flow your intended recipients will experience.

opt_in_messagestring

Please share the message subscribers receive when they opt in.

opt_out_messagestring

Please share the message subscribers receive when they opt out.

help_messagestring

Please share the message subscribers receive when they request help.

opt_in_keywordsstringDefaults to START

Opt in keywords that subscribers can use.

opt_out_keywordsstringDefaults to STOP

Opt out keywords that subscribers can use.

help_keywordsstringDefaults to HELP

Help keywords that subscribers can use.

number_pooling_requiredboolean

Will 50 or more numbers be used with this single campaign? If so, please enter true.

number_pooling_per_campaignstring

If you will be using number pooling, please provide an explanation as to why it is needed.

direct_lendingboolean

Will this campaign include content related to direct lending or other loan agreements?

embedded_linkboolean

Will you be using an embedded link of any kind? Note that public URL shorteners (bitly, tinyurl) will not be accepted.

embedded_phoneboolean

Are you using an embedded phone number (except the required HELP information contact phone number)?

age_gated_contentboolean

Will this campaign include any age gated content as defined by carrier and CTA guidelines?

lead_generationboolean

Is there any intent of this campaign to generate leads?

csp_campaign_referencestring

If you are your own Campaign Service Provider, what is the approved Campaign ID? (Mandatory for CSPs, otherwise please omit)

status_callback_urlstring

Optional: Specify a URL to receive webhook notifications when your campaign’s state changes. See the 10DLC status callback docs for the webhook payload.

created_atdatetime

Timestamp when the campaign was created.

updated_atdatetime

Timestamp when the campaign was last updated.

Errors

401

Unauthorized Error

404

Not Found Error

500

Internal Server Error


Update campaign

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Updates a campaign.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Path parameters

idstringRequiredformat: "uuid"

Unique ID of the campaign.

Request

This endpoint expects an object.

namestringOptional

A name for the campaign.

Response

The request has succeeded.

idstringformat: "uuid"

The unique identifier of the campaign.

namestring

A name for the campaign.

statestring

The current state of the campaign.

sms_use_casestring

An SMS Use Case category for the campaign (2FA, ACCOUNT_NOTIFICATION, AGENTS_FRANCHISES, CARRIER_EXEMPT, CHARITY, CUSTOMER_CARE, DELIVERY_NOTIFICATION, EMERGENCY, FRAUD_ALERT, HIGHER_EDUCATION, K12_EDUCATION, LOW_VOLUME_MIXED, MARKETING, MIXED, POLITICAL, POLITICAL_SECTION_527, POLLING_VOTING, PROXY, PUBLIC_SERVICE_ANNOUNCEMENT, SECURITY_ALERT, SOCIAL, SWEEPSTAKE, TRIAL, UCAAS_HIGH_VOLUME, UCAAS_LOW_VOLUME).

sub_use_caseslist of strings

A sub use case category for MIXED or LOW_VOLUME_MIXED campaigns (CUSTOMER_CARE, HIGHER_EDUCATION, POLLING_VOTING, PUBLIC_SERVICE_ANNOUNCEMENT, MARKETING, SECURITY_ALERT, 2FA, ACCOUNT_NOTIFICATION, DELIVERY_NOTIFICATION, FRAUD_ALERT).

campaign_verify_tokenstring

Campaign Verify token. Required if sms use case is POLITICAL_SECTION_527.

descriptionstring

A description for the campaign. Please use at least 40 characters.

sample1string

Sample message template/content. At least two samples are required and up to five can be provided. Please use at least 20 characters.

sample2string

Sample 2.

sample3string

Sample 3.

sample4string

Sample 4.

sample5string

Sample 5.

dynamic_templatesstring

If your messaging content will be modified in any way beyond what you shared in your templates, please describe the nature of how the content will change.

message_flowstring

Please describe the call to action/message flow your intended recipients will experience.

opt_in_messagestring

Please share the message subscribers receive when they opt in.

opt_out_messagestring

Please share the message subscribers receive when they opt out.

help_messagestring

Please share the message subscribers receive when they request help.

opt_in_keywordsstringDefaults to START

Opt in keywords that subscribers can use.

opt_out_keywordsstringDefaults to STOP

Opt out keywords that subscribers can use.

help_keywordsstringDefaults to HELP

Help keywords that subscribers can use.

number_pooling_requiredboolean

Will 50 or more numbers be used with this single campaign? If so, please enter true.

number_pooling_per_campaignstring

If you will be using number pooling, please provide an explanation as to why it is needed.

direct_lendingboolean

Will this campaign include content related to direct lending or other loan agreements?

embedded_linkboolean

Will you be using an embedded link of any kind? Note that public URL shorteners (bitly, tinyurl) will not be accepted.

embedded_phoneboolean

Are you using an embedded phone number (except the required HELP information contact phone number)?

age_gated_contentboolean

Will this campaign include any age gated content as defined by carrier and CTA guidelines?

lead_generationboolean

Is there any intent of this campaign to generate leads?

csp_campaign_referencestring

If you are your own Campaign Service Provider, what is the approved Campaign ID? (Mandatory for CSPs, otherwise please omit)

status_callback_urlstring

Optional: Specify a URL to receive webhook notifications when your campaign’s state changes. See the 10DLC status callback docs for the webhook payload.

created_atdatetime

Timestamp when the campaign was created.

updated_atdatetime

Timestamp when the campaign was last updated.

Errors

401

Unauthorized Error

404

Not Found Error

422

Unprocessable Entity Error

500

Internal Server Error


Create phone number assignment order

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Creates a new order for a campaign.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Path parameters

idstringRequiredformat: "uuid"

Unique ID of the campaign.

Request

This endpoint expects an object.

phone_numberslist of stringsOptional

A list of phone numbers in E164 format.

status_callback_urlstringOptional

Optional: Specify a URL to receive webhook notifications when your number assignment order and the number assignments that belong to it change state. See the 10DLC status callback docs for the webhook payload.

Response

The request has succeeded.

idstringformat: "uuid"

The unique identifier of the order.

statestring

The current state of the order.

processed_atdatetime

Timestamp when the order was processed.

created_atdatetime

Timestamp when the order was created.

updated_atdatetime

Timestamp when the order was last updated.

status_callback_urlstring

Optional: Specify a URL to receive webhook notifications when your number assignment order and the number assignments that belong to it change state. See the 10DLC status callback docs for the webhook payload.

Errors

401

Unauthorized Error

404

Not Found Error

422

Unprocessable Entity Error

500

Internal Server Error


Delete phone number assignment

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Removes a phone number from a campaign.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Path parameters

idstringRequiredformat: "uuid"

Unique ID of the assigned number.

Response

There is no content to send for this request, but the headers may be useful.

Errors

401

Unauthorized Error

404

Not Found Error

500

Internal Server Error


List phone number assignments

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Returns a list of phone numbers assigned to a campaign.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Path parameters

idstringRequiredformat: "uuid"

Unique ID of the campaign.

Query parameters

filter_statestringOptional

The state of the assignments in the registration process, such as pending or complete. Will return all assignments with this value.

Response

The request has succeeded.

linksobject

Pagination links.

Show 4 properties

datalist of objects

List of assigned numbers.

Show 6 properties

Errors

401

Unauthorized Error

404

Not Found Error

500

Internal Server Error


List phone number assignment orders

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Returns a list of orders for a campaign.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Path parameters

idstringRequiredformat: "uuid"

Unique ID of the campaign.

Query parameters

filter_statestringOptional

The state of the orders in the registration process, such as pending or processed. Will return all orders with this value.

Response

The request has succeeded.

linksobject

Pagination links.

Show 4 properties

datalist of objects

List of orders.

Show 6 properties

Errors

401

Unauthorized Error

404

Not Found Error

500

Internal Server Error


Get phone number assignment order

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Retrieves the details of an order.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Messaging and Numbers.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)

Path parameters

idstringRequiredformat: "uuid"

Unique ID of the order.

Response

The request has succeeded.

idstringformat: "uuid"

The unique identifier of the order.

statestring

The current state of the order.

processed_atdatetime

Timestamp when the order was processed.

created_atdatetime

Timestamp when the order was created.

updated_atdatetime

Timestamp when the order was last updated.

status_callback_urlstring

Optional: Specify a URL to receive webhook notifications when your number assignment order and the number assignments that belong to it change state. See the 10DLC status callback docs for the webhook payload.

Errors

401

Unauthorized Error

404

Not Found Error

500

Internal Server Error


10DLC status callback

For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.

Payload sent by SignalWire to your 10DLC Status Callback URL when the state of a 10DLC registration object changes. Use this webhook to monitor the lifecycle of messaging brands, campaigns, number assignment orders, and number assignments in real time.

Configure status_callback_url when creating a brand, creating a campaign, or creating a number assignment order.

Brand event types

State transitionEvent typeDescription
pendingcompletedbrand_activatedThe brand has been successfully verified and activated.
pendingunverifiedbrand_unverifiedBrand verification failed or additional information is required.
unverifiedcompletedbrand_activatedThe brand was previously unverified but is now active.

Campaign event types

State transitionEvent typeDescription
pendingactivecampaign_activatedThe campaign has been approved and is now active.
activeinactivecampaign_deactivatedThe campaign has been deactivated and can no longer send.

Number assignment order event types

State transitionEvent typeDescription
pendingprocessednumber_assignment_order_processedThe order has been processed and numbers assigned.

Number assignment event types

State transitionEvent typeDescription
pendingfailednumber_assignment_failedThe number was not assigned to the campaign.
failedpendingnumber_assignment_pendingA failed assignment is being retried.
pendingcompletednumber_assignment_activatedThe number has been successfully assigned to the campaign.

Payload

The payload of this webhook request is an object.

project_idstringRequired

The unique ID of the project this object is associated with.

event_atstringRequired

The timestamp of when the event occurred, in ISO 8601 format.

event_categoryenumRequired

The category of the event.

Allowed values:brandcampaignnumber_assignment_ordernumber_assignment

event_typeenumRequired

The specific type of event that occurred. One of: brand_activated, brand_unverified, campaign_activated, campaign_deactivated, number_assignment_order_processed, number_assignment_failed, number_assignment_pending, number_assignment_activated.

Show 8 enum values

statestringRequired

The current state of the object after the event. Possible values depend on the object type.

brand_idstringRequired

The unique identifier for the brand. Present in all event types.

campaign_idstringOptional

The unique identifier for the campaign. Present in campaign, number assignment order, and number assignment events.

number_assignment_order_idstringOptional

The unique identifier for the number assignment order. Present in number assignment order and number assignment events.

number_assignment_idstringOptional

The unique identifier for the number assignment. Present only in number assignment events.

phone_number_idstringOptional

The unique identifier for the phone route itself. Present only in number assignment events.

phone_numberstringOptional

The phone number in E.164 format. Present only in number assignment events.

Response

200

Webhook received

SignalWire Developer Documentation