Telnyx · Capability

Telnyx API — Campaign

Telnyx API — Campaign. 13 operations. Lead operation: List Campaigns. Self-contained Naftiko capability covering one Telnyx business surface.

Run with Naftiko TelnyxCampaign

What You Can Do

GET
Getcampaigns — List Campaigns
/v1/10dlc/campaign
POST
Acceptcampaign — Accept Shared Campaign
/v1/10dlc/campaign/acceptsharing/{campaignid}
GET
Getcampaigncost — Get Campaign Cost
/v1/10dlc/campaign/usecase/cost
DELETE
Deactivatecampaign — Deactivate campaign
/v1/10dlc/campaign/{campaignid}
GET
Getcampaign — Get campaign
/v1/10dlc/campaign/{campaignid}
PUT
Updatecampaign — Update campaign
/v1/10dlc/campaign/{campaignid}
POST
Appealcampaign — Submit campaign appeal for manual review
/v1/10dlc/campaign/{campaignid}/appeal
GET
Getcampaignmnometadata — Get Campaign Mno Metadata
/v1/10dlc/campaign/{campaignid}/mnometadata
GET
Getcampaignoperationstatus — Get campaign operation status
/v1/10dlc/campaign/{campaignid}/operationstatus
GET
Getcampaignosrattributes — Get OSR campaign attributes
/v1/10dlc/campaign/{campaignid}/osr/attributes
GET
Getcampaignsharingstatus — Get Sharing Status
/v1/10dlc/campaign/{campaignid}/sharing
POST
Postcampaign — Submit Campaign
/v1/10dlc/campaignbuilder
GET
Getusecasequalification — Qualify By Usecase
/v1/10dlc/campaignbuilder/brand/{brandid}/usecase/{usecase}

MCP Tools

list-campaigns

List Campaigns

read-only idempotent
accept-shared-campaign

Accept Shared Campaign

get-campaign-cost

Get Campaign Cost

read-only idempotent
deactivate-campaign

Deactivate campaign

idempotent
get-campaign

Get campaign

read-only idempotent
update-campaign

Update campaign

idempotent
submit-campaign-appeal-manual-review

Submit campaign appeal for manual review

get-campaign-mno-metadata

Get Campaign Mno Metadata

read-only idempotent
get-campaign-operation-status

Get campaign operation status

read-only idempotent
get-osr-campaign-attributes

Get OSR campaign attributes

read-only idempotent
get-sharing-status

Get Sharing Status

read-only idempotent
submit-campaign

Submit Campaign

qualify-usecase

Qualify By Usecase

read-only idempotent

Capability Spec

telnyx-campaign.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Telnyx API — Campaign
  description: 'Telnyx API — Campaign. 13 operations. Lead operation: List Campaigns. Self-contained Naftiko capability covering
    one Telnyx business surface.'
  tags:
  - Telnyx
  - Campaign
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TELNYX_API_KEY: TELNYX_API_KEY
capability:
  consumes:
  - type: http
    namespace: telnyx-campaign
    baseUri: https://api.telnyx.com/v2
    description: Telnyx API — Campaign business capability. Self-contained, no shared references.
    resources:
    - name: 10dlc-campaign
      path: /10dlc/campaign
      operations:
      - name: getcampaigns
        method: GET
        description: List Campaigns
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: brandId
          in: query
          type: string
          required: true
        - name: page
          in: query
          type: integer
          description: The 1-indexed page number to get. The default value is `1`.
        - name: recordsPerPage
          in: query
          type: integer
          description: The amount of records per page, limited to between 1 and 500 inclusive. The default value is `10`.
        - name: sort
          in: query
          type: string
          description: Specifies the sort order for results. If not given, results are sorted by createdAt in descending order.
    - name: 10dlc-campaign-acceptSharing-campaignId
      path: /10dlc/campaign/acceptSharing/{campaignId}
      operations:
      - name: acceptcampaign
        method: POST
        description: Accept Shared Campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: campaignId
          in: path
          type: string
          description: TCR's ID for the campaign to import
          required: true
    - name: 10dlc-campaign-usecase-cost
      path: /10dlc/campaign/usecase/cost
      operations:
      - name: getcampaigncost
        method: GET
        description: Get Campaign Cost
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: usecase
          in: query
          type: string
          required: true
    - name: 10dlc-campaign-campaignId
      path: /10dlc/campaign/{campaignId}
      operations:
      - name: deactivatecampaign
        method: DELETE
        description: Deactivate campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: campaignId
          in: path
          type: string
          required: true
      - name: getcampaign
        method: GET
        description: Get campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: campaignId
          in: path
          type: string
          required: true
      - name: updatecampaign
        method: PUT
        description: Update campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: campaignId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: 10dlc-campaign-campaignId-appeal
      path: /10dlc/campaign/{campaignId}/appeal
      operations:
      - name: appealcampaign
        method: POST
        description: Submit campaign appeal for manual review
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: campaignId
          in: path
          type: string
          description: The Telnyx campaign identifier
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: 10dlc-campaign-campaignId-mnoMetadata
      path: /10dlc/campaign/{campaignId}/mnoMetadata
      operations:
      - name: getcampaignmnometadata
        method: GET
        description: Get Campaign Mno Metadata
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: campaignId
          in: path
          type: string
          description: ID of the campaign in question
          required: true
    - name: 10dlc-campaign-campaignId-operationStatus
      path: /10dlc/campaign/{campaignId}/operationStatus
      operations:
      - name: getcampaignoperationstatus
        method: GET
        description: Get campaign operation status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: campaignId
          in: path
          type: string
          required: true
    - name: 10dlc-campaign-campaignId-osr-attributes
      path: /10dlc/campaign/{campaignId}/osr/attributes
      operations:
      - name: getcampaignosrattributes
        method: GET
        description: Get OSR campaign attributes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: campaignId
          in: path
          type: string
          required: true
    - name: 10dlc-campaign-campaignId-sharing
      path: /10dlc/campaign/{campaignId}/sharing
      operations:
      - name: getcampaignsharingstatus
        method: GET
        description: Get Sharing Status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: campaignId
          in: path
          type: string
          description: ID of the campaign in question
          required: true
    - name: 10dlc-campaignBuilder
      path: /10dlc/campaignBuilder
      operations:
      - name: postcampaign
        method: POST
        description: Submit Campaign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: 10dlc-campaignBuilder-brand-brandId-usecase-usecase
      path: /10dlc/campaignBuilder/brand/{brandId}/usecase/{usecase}
      operations:
      - name: getusecasequalification
        method: GET
        description: Qualify By Usecase
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: usecase
          in: path
          type: string
          required: true
        - name: brandId
          in: path
          type: string
          required: true
    authentication:
      type: bearer
      token: '{{env.TELNYX_API_KEY}}'
  exposes:
  - type: rest
    namespace: telnyx-campaign-rest
    port: 8080
    description: REST adapter for Telnyx API — Campaign. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/10dlc/campaign
      name: 10dlc-campaign
      description: REST surface for 10dlc-campaign.
      operations:
      - method: GET
        name: getcampaigns
        description: List Campaigns
        call: telnyx-campaign.getcampaigns
        with:
          brandId: rest.brandId
          page: rest.page
          recordsPerPage: rest.recordsPerPage
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/10dlc/campaign/acceptsharing/{campaignid}
      name: 10dlc-campaign-acceptsharing-campaignid
      description: REST surface for 10dlc-campaign-acceptSharing-campaignId.
      operations:
      - method: POST
        name: acceptcampaign
        description: Accept Shared Campaign
        call: telnyx-campaign.acceptcampaign
        with:
          campaignId: rest.campaignId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/10dlc/campaign/usecase/cost
      name: 10dlc-campaign-usecase-cost
      description: REST surface for 10dlc-campaign-usecase-cost.
      operations:
      - method: GET
        name: getcampaigncost
        description: Get Campaign Cost
        call: telnyx-campaign.getcampaigncost
        with:
          usecase: rest.usecase
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/10dlc/campaign/{campaignid}
      name: 10dlc-campaign-campaignid
      description: REST surface for 10dlc-campaign-campaignId.
      operations:
      - method: DELETE
        name: deactivatecampaign
        description: Deactivate campaign
        call: telnyx-campaign.deactivatecampaign
        with:
          campaignId: rest.campaignId
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getcampaign
        description: Get campaign
        call: telnyx-campaign.getcampaign
        with:
          campaignId: rest.campaignId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatecampaign
        description: Update campaign
        call: telnyx-campaign.updatecampaign
        with:
          campaignId: rest.campaignId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/10dlc/campaign/{campaignid}/appeal
      name: 10dlc-campaign-campaignid-appeal
      description: REST surface for 10dlc-campaign-campaignId-appeal.
      operations:
      - method: POST
        name: appealcampaign
        description: Submit campaign appeal for manual review
        call: telnyx-campaign.appealcampaign
        with:
          campaignId: rest.campaignId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/10dlc/campaign/{campaignid}/mnometadata
      name: 10dlc-campaign-campaignid-mnometadata
      description: REST surface for 10dlc-campaign-campaignId-mnoMetadata.
      operations:
      - method: GET
        name: getcampaignmnometadata
        description: Get Campaign Mno Metadata
        call: telnyx-campaign.getcampaignmnometadata
        with:
          campaignId: rest.campaignId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/10dlc/campaign/{campaignid}/operationstatus
      name: 10dlc-campaign-campaignid-operationstatus
      description: REST surface for 10dlc-campaign-campaignId-operationStatus.
      operations:
      - method: GET
        name: getcampaignoperationstatus
        description: Get campaign operation status
        call: telnyx-campaign.getcampaignoperationstatus
        with:
          campaignId: rest.campaignId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/10dlc/campaign/{campaignid}/osr/attributes
      name: 10dlc-campaign-campaignid-osr-attributes
      description: REST surface for 10dlc-campaign-campaignId-osr-attributes.
      operations:
      - method: GET
        name: getcampaignosrattributes
        description: Get OSR campaign attributes
        call: telnyx-campaign.getcampaignosrattributes
        with:
          campaignId: rest.campaignId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/10dlc/campaign/{campaignid}/sharing
      name: 10dlc-campaign-campaignid-sharing
      description: REST surface for 10dlc-campaign-campaignId-sharing.
      operations:
      - method: GET
        name: getcampaignsharingstatus
        description: Get Sharing Status
        call: telnyx-campaign.getcampaignsharingstatus
        with:
          campaignId: rest.campaignId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/10dlc/campaignbuilder
      name: 10dlc-campaignbuilder
      description: REST surface for 10dlc-campaignBuilder.
      operations:
      - method: POST
        name: postcampaign
        description: Submit Campaign
        call: telnyx-campaign.postcampaign
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/10dlc/campaignbuilder/brand/{brandid}/usecase/{usecase}
      name: 10dlc-campaignbuilder-brand-brandid-usecase-usecase
      description: REST surface for 10dlc-campaignBuilder-brand-brandId-usecase-usecase.
      operations:
      - method: GET
        name: getusecasequalification
        description: Qualify By Usecase
        call: telnyx-campaign.getusecasequalification
        with:
          usecase: rest.usecase
          brandId: rest.brandId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: telnyx-campaign-mcp
    port: 9090
    transport: http
    description: MCP adapter for Telnyx API — Campaign. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-campaigns
      description: List Campaigns
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-campaign.getcampaigns
      with:
        brandId: tools.brandId
        page: tools.page
        recordsPerPage: tools.recordsPerPage
        sort: tools.sort
      outputParameters:
      - type: object
        mapping: $.
    - name: accept-shared-campaign
      description: Accept Shared Campaign
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: telnyx-campaign.acceptcampaign
      with:
        campaignId: tools.campaignId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-campaign-cost
      description: Get Campaign Cost
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-campaign.getcampaigncost
      with:
        usecase: tools.usecase
      outputParameters:
      - type: object
        mapping: $.
    - name: deactivate-campaign
      description: Deactivate campaign
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: telnyx-campaign.deactivatecampaign
      with:
        campaignId: tools.campaignId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-campaign
      description: Get campaign
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-campaign.getcampaign
      with:
        campaignId: tools.campaignId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-campaign
      description: Update campaign
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: telnyx-campaign.updatecampaign
      with:
        campaignId: tools.campaignId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: submit-campaign-appeal-manual-review
      description: Submit campaign appeal for manual review
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: telnyx-campaign.appealcampaign
      with:
        campaignId: tools.campaignId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-campaign-mno-metadata
      description: Get Campaign Mno Metadata
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-campaign.getcampaignmnometadata
      with:
        campaignId: tools.campaignId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-campaign-operation-status
      description: Get campaign operation status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-campaign.getcampaignoperationstatus
      with:
        campaignId: tools.campaignId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-osr-campaign-attributes
      description: Get OSR campaign attributes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-campaign.getcampaignosrattributes
      with:
        campaignId: tools.campaignId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-sharing-status
      description: Get Sharing Status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-campaign.getcampaignsharingstatus
      with:
        campaignId: tools.campaignId
      outputParameters:
      - type: object
        mapping: $.
    - name: submit-campaign
      description: Submit Campaign
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: telnyx-campaign.postcampaign
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: qualify-usecase
      description: Qualify By Usecase
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telnyx-campaign.getusecasequalification
      with:
        usecase: tools.usecase
        brandId: tools.brandId
      outputParameters:
      - type: object
        mapping: $.