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