CampaignRequest
CampaignRequest object describes the campaign to be submitted via '/campaignBuilder/brand/{brandId}/usecase/{usecase}' operation. It is also used in operations for retrieving status of campaign request and for updating a pending request.
Properties
| Name | Type | Description |
|---|---|---|
| ageGated | boolean | Age gated message content in campaign. |
| autoRenewal | boolean | Campaign subscription auto-renewal option. If set to true, then campaign will automatically renewal at end of billing cycle. |
| brandId | string | Alphanumeric identifier of the brand associated with this campaign. |
| description | string | Summary description of this campaign. |
| directLending | boolean | Direct lending or loan arrangement |
| 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? |
| helpKeywords | string | Subscriber help keywords. Multiple keywords are comma separated without space. |
| helpMessage | string | Help message of the campaign. |
| messageFlow | string | Message flow description. |
| mnoIds | array | Submit campaign to given list of MNOs by MNO's network ID. Default is all MNOs if no value provided. |
| 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. |
| 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 |
| 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)? |
| tag | array | Tags to be set on the Campaign. |
| termsAndConditions | boolean | Is terms and 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. |
| webhookFailoverURL | string | Failover webhook to which campaign status updates are sent. |
| webhookURL | string | Webhook to which campaign status updates are sent. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/telnyx/main/json-schema/telnyx-campaign-request-schema.json",
"title": "CampaignRequest",
"description": "CampaignRequest object describes the campaign to be submitted via '/campaignBuilder/brand/{brandId}/usecase/{usecase}' operation. It is also used in operations for retrieving status of campaign request and for updating a pending request.",
"x-generated": "2026-10-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/telnyx-campaign-api-openapi.yml#/components/schemas/CampaignRequest",
"properties": {
"ageGated": {
"description": "Age gated message content in campaign.",
"title": "Agegated",
"type": "boolean"
},
"autoRenewal": {
"description": "Campaign subscription auto-renewal option. If set to true, then campaign will automatically renewal at end of billing cycle.",
"title": "Autorenewal",
"type": "boolean"
},
"brandId": {
"description": "Alphanumeric identifier of the brand associated with this campaign.",
"title": "Brandid",
"type": "string"
},
"description": {
"description": "Summary description of this campaign.",
"title": "Description",
"type": "string"
},
"directLending": {
"description": "Direct lending or loan arrangement",
"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"
},
"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"
},
"messageFlow": {
"description": "Message flow description.",
"title": "Messageflow",
"type": "string"
},
"mnoIds": {
"description": "Submit campaign to given list of MNOs by MNO's network ID. Default is all MNOs if no value provided.",
"items": {
"type": "integer"
},
"title": "Mnoids",
"type": "array",
"uniqueItems": true
},
"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"
},
"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
},
"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"
},
"tag": {
"description": "Tags to be set on the Campaign.",
"items": {
"type": "string"
},
"title": "Tag",
"type": "array",
"uniqueItems": true
},
"termsAndConditions": {
"description": "Is terms and 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"
},
"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",
"description",
"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.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/telnyx-campaign-request"
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.