{ "$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" }