Telnyx · Schema

TelnyxCampaign_CSP

Campaign is generated by the 10DLC registry once the corresponding campaign request is approved. Each campaign is assigned a unique identifier - **campaignId**. Once a campaign is activated, limited information is published to the NetNumber OSR service for consumption by members of the ecosystem. When a campaign is suspended(reversible) or expired(non-reversible), campaign data is deleted from the OSR service. Most attributes of campaignare immutable, including **usecase**, **vertical**, **brandId** and **cspId**.

CommunicationsCPaaSVoiceSMSIoTTelecommunicationsMessagingArtificial IntelligenceMCPVoice AIPhone NumbersInference

Properties

Name Type Description
ageGated boolean Age gated content in campaign.
autoRenewal boolean Campaign subscription auto-renewal status.
billedDate string Campaign recent billed date.
brandDisplayName string Display or marketing name of the brand.
brandId string Unique identifier assigned to the brand.
campaignId string Unique identifier for a campaign.
campaignStatus string Campaign status
createDate string Unix timestamp when campaign was created.
cspId string Alphanumeric identifier of the CSP associated with this campaign.
description string Summary description of this campaign.
directLending boolean
embeddedLink boolean Does message generated by the campaign include URL link in SMS?
embeddedLinkSample string Sample of an embedded link that will be sent to subscribers.
embeddedPhone boolean Does message generated by the campaign include phone number in SMS?
failureReasons string Failure reasons if campaign submission failed
helpKeywords string Subscriber help keywords. Multiple keywords are comma separated without space.
helpMessage string Help message of the campaign.
isTMobileNumberPoolingEnabled boolean Indicates whether the campaign has a T-Mobile number pool ID associated with it.
isTMobileRegistered boolean Indicates whether the campaign is registered with T-Mobile.
isTMobileSuspended boolean Indicates whether the campaign is suspended with T-Mobile.
messageFlow string Message flow description.
mock boolean Campaign created from mock brand. Mocked campaign cannot be shared with an upstream CNP.
nextRenewalOrExpirationDate string When the campaign would be due for its next renew/bill date.
numberPool boolean Does campaign utilize pool of phone numbers?
optinKeywords string Subscriber opt-in keywords. Multiple keywords are comma separated without space.
optinMessage string Subscriber opt-in message.
optoutKeywords string Subscriber opt-out keywords. Multiple keywords are comma separated without space.
optoutMessage string Subscriber opt-out message.
privacyPolicyLink string Link to the campaign's privacy policy.
referenceId string Caller supplied campaign reference ID. If supplied, the value must be unique across all submitted campaigns. Can be used to prevent duplicate campaign registrations.
resellerId string Alphanumeric identifier of the reseller that you want to associate with this campaign.
sample1 string Message sample. Some campaign tiers require 1 or more message samples.
sample2 string Message sample. Some campaign tiers require 2 or more message samples.
sample3 string Message sample. Some campaign tiers require 3 or more message samples.
sample4 string Message sample. Some campaign tiers require 4 or more message samples.
sample5 string Message sample. Some campaign tiers require 5 or more message samples.
status string Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status.
subUsecases array Campaign sub-usecases. Must be of defined valid sub-usecase types. Use `/10dlc/enum/usecase` operation to retrieve list of valid sub-usecases
submissionStatus string Campaign submission status
subscriberHelp boolean Does campaign responds to help keyword(s)?
subscriberOptin boolean Does campaign require subscriber to opt-in before SMS is sent to subscriber?
subscriberOptout boolean Does campaign support subscriber opt-out keyword(s)?
tcrBrandId string Unique identifier assigned to the brand by the registry.
tcrCampaignId string Unique identifier assigned to the campaign by the registry.
termsAndConditions boolean Is terms & conditions accepted?
termsAndConditionsLink string Link to the campaign's terms and conditions.
usecase string Campaign usecase. Must be of defined valid types. Use `/10dlc/enum/usecase` operation to retrieve usecases available for given brand.
vertical string Business/industry segment of this campaign (Deprecated). Must be of defined valid types. Use `/registry/enum/vertical` operation to retrieve verticals available for given brand, vertical combination.
webhookFailoverURL string Failover webhook to which campaign status updates are sent.
webhookURL string Webhook to which campaign status updates are sent.
View JSON Schema on GitHub

JSON Schema

telnyx-telnyx-campaign-csp-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/telnyx/main/json-schema/telnyx-telnyx-campaign-csp-schema.json",
  "title": "TelnyxCampaign_CSP",
  "description": "Campaign is generated by the 10DLC registry once the corresponding campaign request is approved. Each campaign is assigned a unique identifier - **campaignId**. Once a campaign is activated, limited information is published to the NetNumber OSR service for consumption by members of the ecosystem. When a campaign is suspended(reversible) or expired(non-reversible), campaign data is deleted from the OSR service. Most attributes of campaignare immutable, including **usecase**, **vertical**, **brandId** and **cspId**.",
  "x-generated": "2026-10-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/telnyx-campaign-api-openapi.yml#/components/schemas/TelnyxCampaign_CSP",
  "properties": {
    "ageGated": {
      "description": "Age gated content in campaign.",
      "title": "Agegated",
      "type": "boolean"
    },
    "autoRenewal": {
      "description": "Campaign subscription auto-renewal status.",
      "title": "Autorenewal",
      "type": "boolean"
    },
    "billedDate": {
      "description": "Campaign recent billed date.",
      "title": "Billeddate",
      "type": "string"
    },
    "brandDisplayName": {
      "description": "Display or marketing name of the brand.",
      "title": "Branddisplayname",
      "type": "string"
    },
    "brandId": {
      "description": "Unique identifier assigned to the brand.",
      "title": "Brandid",
      "type": "string"
    },
    "campaignId": {
      "description": "Unique identifier for a campaign.",
      "title": "Campaignid",
      "type": "string"
    },
    "campaignStatus": {
      "description": "Campaign status",
      "enum": [
        "TCR_PENDING",
        "TCR_SUSPENDED",
        "TCR_EXPIRED",
        "TCR_ACCEPTED",
        "TCR_FAILED",
        "TELNYX_ACCEPTED",
        "TELNYX_FAILED",
        "MNO_PENDING",
        "MNO_ACCEPTED",
        "MNO_REJECTED",
        "MNO_PROVISIONED",
        "MNO_PROVISIONING_FAILED"
      ],
      "title": "campaignStatus",
      "type": "string"
    },
    "createDate": {
      "description": "Unix timestamp when campaign was created.",
      "title": "Createdate",
      "type": "string"
    },
    "cspId": {
      "description": "Alphanumeric identifier of the CSP associated with this campaign.",
      "title": "Cspid",
      "type": "string"
    },
    "description": {
      "description": "Summary description of this campaign.",
      "title": "Description",
      "type": "string"
    },
    "directLending": {
      "title": "Directlending",
      "type": "boolean"
    },
    "embeddedLink": {
      "description": "Does message generated by the campaign include URL link in SMS?",
      "title": "Embeddedlink",
      "type": "boolean"
    },
    "embeddedLinkSample": {
      "description": "Sample of an embedded link that will be sent to subscribers.",
      "title": "EmbeddedLinkSample",
      "type": "string"
    },
    "embeddedPhone": {
      "description": "Does message generated by the campaign include phone number in SMS?",
      "title": "Embeddedphone",
      "type": "boolean"
    },
    "failureReasons": {
      "description": "Failure reasons if campaign submission failed",
      "title": "failureReasons",
      "type": "string"
    },
    "helpKeywords": {
      "description": "Subscriber help keywords. Multiple keywords are comma separated without space.",
      "title": "Helpkeywords",
      "type": "string"
    },
    "helpMessage": {
      "description": "Help message of the campaign.",
      "title": "Helpmessage",
      "type": "string"
    },
    "isTMobileNumberPoolingEnabled": {
      "description": "Indicates whether the campaign has a T-Mobile number pool ID associated with it.",
      "title": "isTMobileNumberPoolingEnabled",
      "type": "boolean"
    },
    "isTMobileRegistered": {
      "description": "Indicates whether the campaign is registered with T-Mobile.",
      "title": "IsTMobileRegistered",
      "type": "boolean"
    },
    "isTMobileSuspended": {
      "description": "Indicates whether the campaign is suspended with T-Mobile.",
      "title": "isTMobileSuspended",
      "type": "boolean"
    },
    "messageFlow": {
      "description": "Message flow description.",
      "title": "Messageflow",
      "type": "string"
    },
    "mock": {
      "description": "Campaign created from mock brand. Mocked campaign cannot be shared with an upstream CNP.",
      "title": "Mock",
      "type": "boolean"
    },
    "nextRenewalOrExpirationDate": {
      "description": "When the campaign would be due for its next renew/bill date.",
      "title": "Nextrenewalorexpirationdate",
      "type": "string"
    },
    "numberPool": {
      "description": "Does campaign utilize pool of phone numbers?",
      "title": "Numberpool",
      "type": "boolean"
    },
    "optinKeywords": {
      "description": "Subscriber opt-in keywords. Multiple keywords are comma separated without space.",
      "title": "Optinkeywords",
      "type": "string"
    },
    "optinMessage": {
      "description": "Subscriber opt-in message.",
      "title": "Optinmessage",
      "type": "string"
    },
    "optoutKeywords": {
      "description": "Subscriber opt-out keywords. Multiple keywords are comma separated without space.",
      "title": "Optoutkeywords",
      "type": "string"
    },
    "optoutMessage": {
      "description": "Subscriber opt-out message.",
      "title": "Optoutmessage",
      "type": "string"
    },
    "privacyPolicyLink": {
      "description": "Link to the campaign's privacy policy.",
      "title": "PrivacyPolicyLink",
      "type": "string"
    },
    "referenceId": {
      "description": "Caller supplied campaign reference ID. If supplied, the value must be unique across all submitted campaigns. Can be used to prevent duplicate campaign registrations.",
      "title": "Referenceid",
      "type": "string"
    },
    "resellerId": {
      "description": "Alphanumeric identifier of the reseller that you want to associate with this campaign.",
      "title": "Resellerid",
      "type": "string"
    },
    "sample1": {
      "description": "Message sample. Some campaign tiers require 1 or more message samples.",
      "title": "Sample1",
      "type": "string"
    },
    "sample2": {
      "description": "Message sample. Some campaign tiers require 2 or more message samples.",
      "title": "Sample2",
      "type": "string"
    },
    "sample3": {
      "description": "Message sample. Some campaign tiers require 3 or more message samples.",
      "title": "Sample3",
      "type": "string"
    },
    "sample4": {
      "description": "Message sample. Some campaign tiers require 4 or more message samples.",
      "title": "Sample4",
      "type": "string"
    },
    "sample5": {
      "description": "Message sample. Some campaign tiers require 5 or more message samples.",
      "title": "Sample5",
      "type": "string"
    },
    "status": {
      "description": "Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status. ",
      "title": "Status",
      "type": "string"
    },
    "subUsecases": {
      "description": "Campaign sub-usecases. Must be of defined valid sub-usecase types. Use `/10dlc/enum/usecase` operation to retrieve list of valid sub-usecases",
      "items": {
        "type": "string"
      },
      "title": "Subusecases",
      "type": "array",
      "uniqueItems": true
    },
    "submissionStatus": {
      "description": "Campaign submission status",
      "enum": [
        "CREATED",
        "FAILED",
        "PENDING"
      ],
      "title": "submissionStatus",
      "type": "string"
    },
    "subscriberHelp": {
      "description": "Does campaign responds to help keyword(s)?",
      "title": "Subscriberhelp",
      "type": "boolean"
    },
    "subscriberOptin": {
      "description": "Does campaign require subscriber to opt-in before SMS is sent to subscriber?",
      "title": "Subscriberoptin",
      "type": "boolean"
    },
    "subscriberOptout": {
      "description": "Does campaign support subscriber opt-out keyword(s)?",
      "title": "Subscriberoptout",
      "type": "boolean"
    },
    "tcrBrandId": {
      "description": "Unique identifier assigned to the brand by the registry.",
      "title": "TcrBrandid",
      "type": "string"
    },
    "tcrCampaignId": {
      "description": "Unique identifier assigned to the campaign by the registry.",
      "title": "TcrCampaignid",
      "type": "string"
    },
    "termsAndConditions": {
      "description": "Is terms & conditions accepted?",
      "title": "Termsandconditions",
      "type": "boolean"
    },
    "termsAndConditionsLink": {
      "description": "Link to the campaign's terms and conditions.",
      "title": "TermsAndConditionsLink",
      "type": "string"
    },
    "usecase": {
      "description": "Campaign usecase. Must be of defined valid types. Use `/10dlc/enum/usecase` operation to retrieve usecases available for given brand.",
      "title": "Usecase",
      "type": "string"
    },
    "vertical": {
      "deprecated": true,
      "description": "Business/industry segment of this campaign (Deprecated). Must be of defined valid types. Use `/registry/enum/vertical` operation to retrieve verticals available for given brand, vertical combination.\n\nThis field is deprecated.",
      "title": "Vertical",
      "type": "string"
    },
    "webhookFailoverURL": {
      "description": "Failover webhook to which campaign status updates are sent.",
      "title": "WebhookFailoverURL",
      "type": "string"
    },
    "webhookURL": {
      "description": "Webhook to which campaign status updates are sent.",
      "title": "WebhookURL",
      "type": "string"
    }
  },
  "required": [
    "brandId",
    "campaignId",
    "cspId",
    "description",
    "mock",
    "subUsecases",
    "termsAndConditions",
    "usecase"
  ],
  "type": "object"
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/telnyx-telnyx-campaign-csp"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.