Telnyx Campaign API

Campaign operations

Operations 13

GET /10dlc/campaign List Campaigns #
POST /10dlc/campaign/acceptSharing/{campaignId} Accept Shared Campaign #
GET /10dlc/campaign/usecase/cost Get Campaign Cost #
DELETE /10dlc/campaign/{campaignId} Deactivate campaign #
GET /10dlc/campaign/{campaignId} Get campaign #
PUT /10dlc/campaign/{campaignId} Update campaign #
POST /10dlc/campaign/{campaignId}/appeal Submit campaign appeal for manual review #
GET /10dlc/campaign/{campaignId}/mnoMetadata Get Campaign Mno Metadata #
GET /10dlc/campaign/{campaignId}/operationStatus Get campaign operation status #
GET /10dlc/campaign/{campaignId}/osr/attributes Get OSR campaign attributes #
GET /10dlc/campaign/{campaignId}/sharing Get Sharing Status #
POST /10dlc/campaignBuilder Submit Campaign #
GET /10dlc/campaignBuilder/brand/{brandId}/usecase/{usecase} Qualify By Usecase #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/telnyx-campaign-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

telnyx-campaign-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@telnyx.com
  description: Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform.
  title: Telnyx Campaign API
  version: 2.0.0
  x-endpoint-cost: light
servers:
- description: Version 2.0.0 of the Telnyx API
  url: https://api.telnyx.com/v2
security:
- bearerAuth: []
tags:
- description: Campaign operations
  name: Campaign
paths:
  /10dlc/campaign:
    get:
      description: Retrieve a list of campaigns associated with a supplied `brandId`.
      operationId: GetCampaigns
      parameters:
      - in: query
        name: brandId
        required: true
        schema:
          title: Brandid
          type: string
      - description: The 1-indexed page number to get. The default value is `1`.
        in: query
        name: page
        required: false
        schema:
          default: 1
          description: The 1-indexed page number to get. The default value is `1`.
          title: Page
          type: integer
      - description: The amount of records per page, limited to between 1 and 500 inclusive. The default value is `10`.
        in: query
        name: recordsPerPage
        required: false
        schema:
          default: 10
          description: The amount of records per page, limited to between 1 and 500 inclusive. The default value is `10`.
          title: Recordsperpage
          type: integer
      - description: Specifies the sort order for results. If not given, results are sorted by createdAt in descending order.
        example: -assignedPhoneNumbersCount
        in: query
        name: sort
        required: false
        schema:
          default: -createdAt
          description: Specifies the sort order for results. If not given, results are sorted by created_at in descending order.
          enum:
          - assignedPhoneNumbersCount
          - -assignedPhoneNumbersCount
          - campaignId
          - -campaignId
          - createdAt
          - -createdAt
          - status
          - -status
          - tcrCampaignId
          - -tcrCampaignId
          title: Sort
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignRecordSet_CSP'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: List Campaigns
      tags:
      - Campaign
      x-latency-category: responsive
  /10dlc/campaign/acceptSharing/{campaignId}:
    post:
      description: Manually accept a campaign shared with Telnyx
      operationId: AcceptCampaign
      parameters:
      - description: TCR's ID for the campaign to import
        in: path
        name: campaignId
        required: true
        schema:
          description: TCR's ID for the campaign to import
          pattern: ^C[A-Z0-9]{5,8}$
          title: Campaignid
          type: string
      responses:
        '202':
          content:
            application/json:
              schema:
                additionalProperties: true
                example: {}
                type: object
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Accept Shared Campaign
      tags:
      - Campaign
      x-latency-category: responsive
  /10dlc/campaign/usecase/cost:
    get:
      operationId: GetCampaignCost
      parameters:
      - in: query
        name: usecase
        required: true
        schema:
          title: Usecase
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignCost'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Get Campaign Cost
      tags:
      - Campaign
      x-latency-category: responsive
  /10dlc/campaign/{campaignId}:
    delete:
      description: Terminate a campaign. Note that once deactivated, a campaign cannot be restored.
      operationId: DeactivateCampaign
      parameters:
      - in: path
        name: campaignId
        required: true
        schema:
          title: Campaignid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignDeletionResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Deactivate campaign
      tags:
      - Campaign
      x-latency-category: responsive
    get:
      description: Retrieve campaign details by `campaignId`.
      operationId: GetCampaign
      parameters:
      - in: path
        name: campaignId
        required: true
        schema:
          title: Campaignid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelnyxCampaign_CSP'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Get campaign
      tags:
      - Campaign
      x-latency-category: responsive
    put:
      description: Update a campaign's properties by `campaignId`. **Please note:** only sample messages are editable.
      operationId: UpdateCampaign
      parameters:
      - in: path
        name: campaignId
        required: true
        schema:
          title: Campaignid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCampaignRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelnyxCampaign_CSP'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Update campaign
      tags:
      - Campaign
      x-latency-category: responsive
  /10dlc/campaign/{campaignId}/appeal:
    post:
      description: 'Submits an appeal for rejected native campaigns in TELNYX_FAILED or MNO_REJECTED status. The appeal is recorded for manual compliance team review and the campaign status is reset to TCR_ACCEPTED. Note: Appeal forwarding is handled manually to allow proper review before incurring upstream charges.'
      operationId: AppealCampaign
      parameters:
      - description: The Telnyx campaign identifier
        in: path
        name: campaignId
        required: true
        schema:
          example: 5eb13888-32b7-4cab-95e6-d834dde21d64
          format: uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                appeal_reason:
                  description: Detailed explanation of why the campaign should be reconsidered and what changes have been made to address the rejection reason.
                  example: The website has been updated to include the required privacy policy and terms of service.
                  type: string
              required:
              - appeal_reason
              type: object
        description: Appeal request payload
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                appealed_at: '2025-08-06T15:30:45.123456+00:00'
              schema:
                properties:
                  appealed_at:
                    description: Timestamp when the appeal was submitted
                    format: date-time
                    type: string
                type: object
          description: Appeal recorded successfully. Campaign status updated to TCR_ACCEPTED for manual compliance review.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/10dlc_Error'
          description: Campaign not in appealable status or invalid request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/10dlc_Error'
          description: Campaign not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Submit campaign appeal for manual review
      tags:
      - Campaign
      x-latency-category: responsive
  /10dlc/campaign/{campaignId}/mnoMetadata:
    get:
      description: Get the campaign metadata for each MNO it was submitted to.
      operationId: GetCampaignMnoMetadata
      parameters:
      - description: ID of the campaign in question
        in: path
        name: campaignId
        required: true
        schema:
          description: ID of the campaign in question
          title: Campaignid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MnoMetadata'
          description: Successful Response. It constains a map of usecase metadata for each MNO. The key is the network ID of the MNO (e.g. 10017), the value is the mno metadata for the usecase. The metadata may also include some MNO specific fields.
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/10dlc_Errors'
          description: Unexpected Error
      summary: Get Campaign Mno Metadata
      tags:
      - Campaign
      x-latency-category: responsive
  /10dlc/campaign/{campaignId}/operationStatus:
    get:
      description: Retrieve campaign's operation status at MNO level.
      operationId: GetCampaignOperationStatus
      parameters:
      - in: path
        name: campaignId
        required: true
        schema:
          title: Campaignid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: true
                example:
                  '10017': APPROVED
                  '10035': REVIEW
                type: object
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Get campaign operation status
      tags:
      - Campaign
      x-latency-category: responsive
  /10dlc/campaign/{campaignId}/osr/attributes:
    get:
      operationId: GetCampaignOsrAttributes
      parameters:
      - in: path
        name: campaignId
        required: true
        schema:
          title: Campaignid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: true
                example:
                  brandId: 00000000-0000-0000-0000-000000000000
                  msg_class: E
                  status: '7'
                type: object
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Get OSR campaign attributes
      tags:
      - Campaign
      x-latency-category: responsive
  /10dlc/campaign/{campaignId}/sharing:
    get:
      operationId: GetCampaignSharingStatus
      parameters:
      - description: ID of the campaign in question
        in: path
        name: campaignId
        required: true
        schema:
          description: ID of the campaign in question
          title: Campaignid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignSharingChain'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Get Sharing Status
      tags:
      - Campaign
      x-latency-category: responsive
  /10dlc/campaignBuilder:
    post:
      description: Before creating a campaign, use the [Qualify By Usecase endpoint](https://developers.telnyx.com/api-reference/campaign/qualify-by-usecase) to ensure that the brand you want to assign a new campaign to is qualified for the desired use case of that campaign. **Please note:** After campaign creation, you'll only be able to edit the campaign's sample messages. Creating a campaign will entail an upfront, non-refundable three month's cost that will depend on the campaign's use case ([see 10DLC Costs section for details](https://developers.telnyx.com/api-reference/campaign/get-campaign-cost)).
      operationId: PostCampaign
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelnyxCampaign_CSP'
          description: Successful Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/10dlc_Error'
          description: Bad Request
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/10dlc_Error'
          description: Insufficient Funds
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Submit Campaign
      tags:
      - Campaign
      x-latency-category: responsive
  /10dlc/campaignBuilder/brand/{brandId}/usecase/{usecase}:
    get:
      description: This endpoint allows you to see whether or not the supplied brand is suitable for your desired campaign use case.
      operationId: GetUsecaseQualification
      parameters:
      - in: path
        name: usecase
        required: true
        schema:
          title: Usecase
          type: string
      - in: path
        name: brandId
        required: true
        schema:
          title: Brandid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsecaseMetadata'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      summary: Qualify By Usecase
      tags:
      - Campaign
      x-latency-category: responsive
components:
  schemas:
    UsecaseMetadata:
      properties:
        annualFee:
          description: Campaign annual subscription fee
          title: Annualfee
          type: number
        maxSubUsecases:
          description: Maximum number of sub-usecases declaration required.
          title: Maxsubusecases
          type: integer
        minSubUsecases:
          description: Minimum number of sub-usecases declaration required.
          title: Minsubusecases
          type: integer
        mnoMetadata:
          additionalProperties: true
          description: Map of usecase metadata for each MNO. Key is the network ID of the MNO (e.g. 10017), Value is the mno metadata for the usecase.
          title: Mnometadata
          type: object
        monthlyFee:
          description: Campaign monthly subscription fee
          title: Monthlyfee
          type: number
        quarterlyFee:
          description: Campaign quarterly subscription fee
          title: Quarterlyfee
          type: number
        usecase:
          description: Campaign usecase
          title: Usecase
          type: string
      title: UsecaseMetadata
      type: object
    MnoMetadata:
      additionalProperties: true
      properties:
        '10999':
          $ref: '#/components/schemas/MnoMetadataItem'
      title: MnoMetadata
      type: object
    10dlc_Errors:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/10dlc_Error'
          type: array
      type: object
    TelnyxCampaignWithAssignedCount_CSP:
      properties:
        ageGated:
          description: Age gated content in campaign.
          title: Agegated
          type: boolean
        assignedPhoneNumbersCount:
          description: Number of phone numbers associated with the campaign
          example: 3
          title: AssignedPhoneNumbersCount
          type: number
        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.
          example: ABC Mobile
          title: Branddisplayname
          type: string
        brandId:
          description: Unique identifier assigned to the brand.
          example: d2ca9d69-641b-4131-83fa-5d0744f4c8a9
          title: Brandid
          type: string
        campaignId:
          description: Unique identifier for a campaign.
          example: 823d6b1a-6ed6-41a3-9c50-c8ff41b682ba
          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
          example: TCR_ACCEPTED
          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.
          example: BBRAND1
          title: TcrBrandid
          type: string
        tcrCampaignId:
          description: Unique identifier assigned to the campaign by the registry.
          example: CCAMP1
          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.


            This field is deprecated.'
          title: Vertical
          type: string
        webhookFailoverURL:
          description: Failover webhook to which campaign status updates are sent.
          example: https://example.com/failover-webhook
          title: WebhookFailoverURL
          type: string
        webhookURL:
          description: Webhook to which campaign status updates are sent.
          example: https://example.com/webhook
          title: WebhookURL
          type: string
      title: TelnyxCampaignWithAssignedCount_CSP
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
      - loc
      - msg
      - type
      title: ValidationError
      type: object
    CampaignSharingStatus:
      properties:
        downstreamCnpId:
          title: Downstreamcnpid
          type: string
        sharedDate:
          title: Shareddate
          type: string
        sharingStatus:
          title: Sharingstatus
          type: string
        statusDate:
          title: Statusdate
          type: string
        upstreamCnpId:
          title: Upstreamcnpid
          type: string
      title: CampaignSharingStatus
      type: object
    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.
      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: Me

# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/telnyx/refs/heads/main/openapi/telnyx-campaign-api-openapi.yml