Telnyx · Capability

Telnyx API — Missions

Telnyx API — Missions. 41 operations. Lead operation: List missions. Self-contained Naftiko capability covering one Telnyx business surface.

Run with Naftiko TelnyxMissions

What You Can Do

GET
Getpublicmissionsmissions — List missions
/v1/ai/missions
POST
Postpublicmissionsmissions — Create mission
/v1/ai/missions
GET
Getpublicmissionsmissionsevents — List recent events
/v1/ai/missions/events
GET
Getpublicmissionsmissionsruns — List recent runs
/v1/ai/missions/runs
DELETE
Deletepublicmissionsmissionsmissionid — Delete mission
/v1/ai/missions/{mission-id}
GET
Getpublicmissionsmissionsmissionid — Get mission
/v1/ai/missions/{mission-id}
PUT
Putpublicmissionsmissionsmissionid — Update mission
/v1/ai/missions/{mission-id}
POST
Postpublicmissionsmissionsmissionidclone — Clone mission
/v1/ai/missions/{mission-id}/clone
GET
Getpublicmissionsmissionsmissionidknowledgebases — List knowledge bases
/v1/ai/missions/{mission-id}/knowledge-bases
POST
Postpublicmissionsmissionsmissionidknowledgebases — Create knowledge base
/v1/ai/missions/{mission-id}/knowledge-bases
DELETE
Deletepublicmissionsmissionsmissionidknowledgebasesknowledgebaseid — Delete knowledge base
/v1/ai/missions/{mission-id}/knowledge-bases/{knowledge-base-id}
GET
Getpublicmissionsmissionsmissionidknowledgebasesknowledgebaseid — Get knowledge base
/v1/ai/missions/{mission-id}/knowledge-bases/{knowledge-base-id}
PUT
Putpublicmissionsmissionsmissionidknowledgebasesknowledgebaseid — Update knowledge base
/v1/ai/missions/{mission-id}/knowledge-bases/{knowledge-base-id}
GET
Getpublicmissionsmissionsmissionidmcpservers — List MCP servers
/v1/ai/missions/{mission-id}/mcp-servers
POST
Postpublicmissionsmissionsmissionidmcpservers — Create MCP server
/v1/ai/missions/{mission-id}/mcp-servers
DELETE
Deletepublicmissionsmissionsmissionidmcpserversmcpserverid — Delete MCP server
/v1/ai/missions/{mission-id}/mcp-servers/{mcp-server-id}
GET
Getpublicmissionsmissionsmissionidmcpserversmcpserverid — Get MCP server
/v1/ai/missions/{mission-id}/mcp-servers/{mcp-server-id}
PUT
Putpublicmissionsmissionsmissionidmcpserversmcpserverid — Update MCP server
/v1/ai/missions/{mission-id}/mcp-servers/{mcp-server-id}
GET
Getpublicmissionsmissionsmissionidruns — List runs for mission
/v1/ai/missions/{mission-id}/runs
POST
Postpublicmissionsmissionsmissionidruns — Start a run
/v1/ai/missions/{mission-id}/runs
GET
Getpublicmissionsmissionsmissionidrunsrunid — Get run details
/v1/ai/missions/{mission-id}/runs/{run-id}
PATCH
Patchpublicmissionsmissionsmissionidrunsrunid — Update run
/v1/ai/missions/{mission-id}/runs/{run-id}
POST
Postpublicmissionsmissionsmissionidrunsrunidcancel — Cancel run
/v1/ai/missions/{mission-id}/runs/{run-id}/cancel
GET
Getpublicmissionsmissionsmissionidrunsrunidevents — List events
/v1/ai/missions/{mission-id}/runs/{run-id}/events
POST
Postpublicmissionsmissionsmissionidrunsrunidevents — Log event
/v1/ai/missions/{mission-id}/runs/{run-id}/events
GET
Getpublicmissionsmissionsmissionidrunsrunideventseventid — Get event details
/v1/ai/missions/{mission-id}/runs/{run-id}/events/{event-id}
POST
Postpublicmissionsmissionsmissionidrunsrunidpause — Pause run
/v1/ai/missions/{mission-id}/runs/{run-id}/pause
GET
Getpublicmissionsmissionsmissionidrunsrunidplan — Get plan
/v1/ai/missions/{mission-id}/runs/{run-id}/plan
POST
Postpublicmissionsmissionsmissionidrunsrunidplan — Create initial plan
/v1/ai/missions/{mission-id}/runs/{run-id}/plan
POST
Postpublicmissionsmissionsmissionidrunsrunidplansteps — Add step(s) to plan
/v1/ai/missions/{mission-id}/runs/{run-id}/plan/steps
GET
Getpublicmissionsmissionsmissionidrunsrunidplanstepsstepid — Get step details
/v1/ai/missions/{mission-id}/runs/{run-id}/plan/steps/{step-id}
PATCH
Patchpublicmissionsmissionsmissionidrunsrunidplanstepsstepid — Update step status
/v1/ai/missions/{mission-id}/runs/{run-id}/plan/steps/{step-id}
POST
Postpublicmissionsmissionsmissionidrunsrunidresume — Resume run
/v1/ai/missions/{mission-id}/runs/{run-id}/resume
GET
Getpublicmissionsmissionsmissionidrunsrunidtelnyxagents — List linked Telnyx agents
/v1/ai/missions/{mission-id}/runs/{run-id}/telnyx-agents
POST
Postpublicmissionsmissionsmissionidrunsrunidtelnyxagents — Link Telnyx agent to run
/v1/ai/missions/{mission-id}/runs/{run-id}/telnyx-agents
DELETE
Deletepublicmissionsmissionsmissionidrunsrunidtelnyxagentstelnyxagentid — Unlink Telnyx agent
/v1/ai/missions/{mission-id}/runs/{run-id}/telnyx-agents/{telnyx-agent-id}
GET
Getpublicmissionsmissionsmissionidtools — List tools
/v1/ai/missions/{mission-id}/tools
POST
Postpublicmissionsmissionsmissionidtools — Create tool
/v1/ai/missions/{mission-id}/tools
DELETE
Deletepublicmissionsmissionsmissionidtoolstoolid — Delete tool
/v1/ai/missions/{mission-id}/tools/{tool-id}
GET
Getpublicmissionsmissionsmissionidtoolstoolid — Get tool
/v1/ai/missions/{mission-id}/tools/{tool-id}
PUT
Putpublicmissionsmissionsmissionidtoolstoolid — Update tool
/v1/ai/missions/{mission-id}/tools/{tool-id}

MCP Tools

list-missions

List missions

read-only idempotent
create-mission

Create mission

list-recent-events

List recent events

read-only idempotent
list-recent-runs

List recent runs

read-only idempotent
delete-mission

Delete mission

idempotent
get-mission

Get mission

read-only idempotent
update-mission

Update mission

idempotent
clone-mission

Clone mission

list-knowledge-bases

List knowledge bases

read-only idempotent
create-knowledge-base

Create knowledge base

delete-knowledge-base

Delete knowledge base

idempotent
get-knowledge-base

Get knowledge base

read-only idempotent
update-knowledge-base

Update knowledge base

idempotent
list-mcp-servers

List MCP servers

read-only idempotent
create-mcp-server

Create MCP server

delete-mcp-server

Delete MCP server

idempotent
get-mcp-server

Get MCP server

read-only idempotent
update-mcp-server

Update MCP server

idempotent
list-runs-mission

List runs for mission

read-only idempotent
start-run

Start a run

get-run-details

Get run details

read-only idempotent
update-run

Update run

idempotent
cancel-run

Cancel run

list-events

List events

read-only idempotent
log-event

Log event

get-event-details

Get event details

read-only idempotent
pause-run

Pause run

get-plan

Get plan

read-only idempotent
create-initial-plan

Create initial plan

add-step-s-plan

Add step(s) to plan

get-step-details

Get step details

read-only idempotent
update-step-status

Update step status

idempotent
resume-run

Resume run

list-linked-telnyx-agents

List linked Telnyx agents

read-only idempotent
link-telnyx-agent-run

Link Telnyx agent to run

unlink-telnyx-agent

Unlink Telnyx agent

idempotent
list-tools

List tools

read-only idempotent
create-tool

Create tool

delete-tool

Delete tool

idempotent
get-tool

Get tool

read-only idempotent
update-tool

Update tool

idempotent

Capability Spec

telnyx-missions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Telnyx API — Missions
  description: 'Telnyx API — Missions. 41 operations. Lead operation: List missions. Self-contained Naftiko capability covering
    one Telnyx business surface.'
  tags:
  - Telnyx
  - Missions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TELNYX_API_KEY: TELNYX_API_KEY
capability:
  consumes:
  - type: http
    namespace: telnyx-missions
    baseUri: https://api.telnyx.com/v2
    description: Telnyx API — Missions business capability. Self-contained, no shared references.
    resources:
    - name: ai-missions
      path: /ai/missions
      operations:
      - name: getpublicmissionsmissions
        method: GET
        description: List missions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page[number]
          in: query
          type: integer
          description: Page number (1-based)
        - name: page[size]
          in: query
          type: integer
          description: Number of items per page
      - name: postpublicmissionsmissions
        method: POST
        description: Create mission
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ai-missions-events
      path: /ai/missions/events
      operations:
      - name: getpublicmissionsmissionsevents
        method: GET
        description: List recent events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: query
          type: string
        - name: page[number]
          in: query
          type: integer
          description: Page number (1-based)
        - name: page[size]
          in: query
          type: integer
          description: Number of items per page
    - name: ai-missions-runs
      path: /ai/missions/runs
      operations:
      - name: getpublicmissionsmissionsruns
        method: GET
        description: List recent runs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: status
          in: query
          type: string
        - name: page[number]
          in: query
          type: integer
          description: Page number (1-based)
        - name: page[size]
          in: query
          type: integer
          description: Number of items per page
    - name: ai-missions-mission_id
      path: /ai/missions/{mission_id}
      operations:
      - name: deletepublicmissionsmissionsmissionid
        method: DELETE
        description: Delete mission
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
      - name: getpublicmissionsmissionsmissionid
        method: GET
        description: Get mission
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
      - name: putpublicmissionsmissionsmissionid
        method: PUT
        description: Update mission
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ai-missions-mission_id-clone
      path: /ai/missions/{mission_id}/clone
      operations:
      - name: postpublicmissionsmissionsmissionidclone
        method: POST
        description: Clone mission
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-knowledge-bases
      path: /ai/missions/{mission_id}/knowledge-bases
      operations:
      - name: getpublicmissionsmissionsmissionidknowledgebases
        method: GET
        description: List knowledge bases
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
      - name: postpublicmissionsmissionsmissionidknowledgebases
        method: POST
        description: Create knowledge base
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-knowledge-bases-knowledge_base_id
      path: /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}
      operations:
      - name: deletepublicmissionsmissionsmissionidknowledgebasesknowledgebaseid
        method: DELETE
        description: Delete knowledge base
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: knowledge_base_id
          in: path
          type: string
          required: true
      - name: getpublicmissionsmissionsmissionidknowledgebasesknowledgebaseid
        method: GET
        description: Get knowledge base
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: knowledge_base_id
          in: path
          type: string
          required: true
      - name: putpublicmissionsmissionsmissionidknowledgebasesknowledgebaseid
        method: PUT
        description: Update knowledge base
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: knowledge_base_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-mcp-servers
      path: /ai/missions/{mission_id}/mcp-servers
      operations:
      - name: getpublicmissionsmissionsmissionidmcpservers
        method: GET
        description: List MCP servers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
      - name: postpublicmissionsmissionsmissionidmcpservers
        method: POST
        description: Create MCP server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-mcp-servers-mcp_server_id
      path: /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}
      operations:
      - name: deletepublicmissionsmissionsmissionidmcpserversmcpserverid
        method: DELETE
        description: Delete MCP server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: mcp_server_id
          in: path
          type: string
          required: true
      - name: getpublicmissionsmissionsmissionidmcpserversmcpserverid
        method: GET
        description: Get MCP server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: mcp_server_id
          in: path
          type: string
          required: true
      - name: putpublicmissionsmissionsmissionidmcpserversmcpserverid
        method: PUT
        description: Update MCP server
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: mcp_server_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-runs
      path: /ai/missions/{mission_id}/runs
      operations:
      - name: getpublicmissionsmissionsmissionidruns
        method: GET
        description: List runs for mission
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: status
          in: query
          type: string
        - name: page[number]
          in: query
          type: integer
          description: Page number (1-based)
        - name: page[size]
          in: query
          type: integer
          description: Number of items per page
      - name: postpublicmissionsmissionsmissionidruns
        method: POST
        description: Start a run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: ai-missions-mission_id-runs-run_id
      path: /ai/missions/{mission_id}/runs/{run_id}
      operations:
      - name: getpublicmissionsmissionsmissionidrunsrunid
        method: GET
        description: Get run details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
      - name: patchpublicmissionsmissionsmissionidrunsrunid
        method: PATCH
        description: Update run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ai-missions-mission_id-runs-run_id-cancel
      path: /ai/missions/{mission_id}/runs/{run_id}/cancel
      operations:
      - name: postpublicmissionsmissionsmissionidrunsrunidcancel
        method: POST
        description: Cancel run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-runs-run_id-events
      path: /ai/missions/{mission_id}/runs/{run_id}/events
      operations:
      - name: getpublicmissionsmissionsmissionidrunsrunidevents
        method: GET
        description: List events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
        - name: type
          in: query
          type: string
        - name: step_id
          in: query
          type: string
        - name: agent_id
          in: query
          type: string
        - name: page[number]
          in: query
          type: integer
          description: Page number (1-based)
        - name: page[size]
          in: query
          type: integer
          description: Number of items per page
      - name: postpublicmissionsmissionsmissionidrunsrunidevents
        method: POST
        description: Log event
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ai-missions-mission_id-runs-run_id-events-event_id
      path: /ai/missions/{mission_id}/runs/{run_id}/events/{event_id}
      operations:
      - name: getpublicmissionsmissionsmissionidrunsrunideventseventid
        method: GET
        description: Get event details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
        - name: event_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-runs-run_id-pause
      path: /ai/missions/{mission_id}/runs/{run_id}/pause
      operations:
      - name: postpublicmissionsmissionsmissionidrunsrunidpause
        method: POST
        description: Pause run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-runs-run_id-plan
      path: /ai/missions/{mission_id}/runs/{run_id}/plan
      operations:
      - name: getpublicmissionsmissionsmissionidrunsrunidplan
        method: GET
        description: Get plan
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
      - name: postpublicmissionsmissionsmissionidrunsrunidplan
        method: POST
        description: Create initial plan
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ai-missions-mission_id-runs-run_id-plan-steps
      path: /ai/missions/{mission_id}/runs/{run_id}/plan/steps
      operations:
      - name: postpublicmissionsmissionsmissionidrunsrunidplansteps
        method: POST
        description: Add step(s) to plan
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ai-missions-mission_id-runs-run_id-plan-steps-step_id
      path: /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}
      operations:
      - name: getpublicmissionsmissionsmissionidrunsrunidplanstepsstepid
        method: GET
        description: Get step details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
        - name: step_id
          in: path
          type: string
          required: true
      - name: patchpublicmissionsmissionsmissionidrunsrunidplanstepsstepid
        method: PATCH
        description: Update step status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
        - name: step_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ai-missions-mission_id-runs-run_id-resume
      path: /ai/missions/{mission_id}/runs/{run_id}/resume
      operations:
      - name: postpublicmissionsmissionsmissionidrunsrunidresume
        method: POST
        description: Resume run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-runs-run_id-telnyx-agents
      path: /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents
      operations:
      - name: getpublicmissionsmissionsmissionidrunsrunidtelnyxagents
        method: GET
        description: List linked Telnyx agents
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
      - name: postpublicmissionsmissionsmissionidrunsrunidtelnyxagents
        method: POST
        description: Link Telnyx agent to run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: ai-missions-mission_id-runs-run_id-telnyx-agents-telnyx_agent_id
      path: /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents/{telnyx_agent_id}
      operations:
      - name: deletepublicmissionsmissionsmissionidrunsrunidtelnyxagentstelnyxagentid
        method: DELETE
        description: Unlink Telnyx agent
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: run_id
          in: path
          type: string
          required: true
        - name: telnyx_agent_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-tools
      path: /ai/missions/{mission_id}/tools
      operations:
      - name: getpublicmissionsmissionsmissionidtools
        method: GET
        description: List tools
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
      - name: postpublicmissionsmissionsmissionidtools
        method: POST
        description: Create tool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
    - name: ai-missions-mission_id-tools-tool_id
      path: /ai/missions/{mission_id}/tools/{tool_id}
      operations:
      - name: deletepublicmissionsmissionsmissionidtoolstoolid
        method: DELETE
        description: Delete tool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: tool_id
          in: path
          type: string
          required: true
      - name: getpublicmissionsmissionsmissionidtoolstoolid
        method: GET
        description: Get tool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: tool_id
          in: path
          type: string
          required: true
      - name: putpublicmissionsmissionsmissionidtoolstoolid
        method: PUT
        description: Update tool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mission_id
          in: path
          type: string
          required: true
        - name: tool_id
          in: path
          type: string
          required: true
    authentication:
      type: bearer
      token: '{{env.TELNYX_API_KEY}}'
  exposes:
  - type: rest
    namespace: telnyx-missions-rest
    port: 8080
    description: REST adapter for Telnyx API — Missions. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/ai/missions
      name: ai-missions
      description: REST surface for ai-missions.
      operations:
      - method: GET
        name: getpublicmissionsmissions
        description: List missions
        call: telnyx-missions.getpublicmissionsmissions
        with:
          page[number]: rest.page[number]
          page[size]: rest.page[size]
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postpublicmissionsmissions
        description: Create mission
        call: telnyx-missions.postpublicmissionsmissions
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ai/missions/events
      name: ai-missions-events
      description: REST surface for ai-missions-events.
      operations:
      - method: GET
        name: getpublicmissionsmissionsevents
        description: List recent events
        call: telnyx-missions.getpublicmissionsmissionsevents
        with:
          type: rest.type
          page[number]: rest.page[number]
          page[size]: rest.page[size]
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ai/missions/runs
      name: ai-missions-runs
      description: REST surface for ai-missions-runs.
      operations:
      - method: GET
        name: getpublicmissionsmissionsruns
        description: List recent runs
        call: telnyx-missions.getpublicmissionsmissionsruns
        with:
          status: rest.status
          page[number]: rest.page[number]
          page[size]: rest.page[size]
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ai/missions/{mission-id}
      name: ai-missions-mission-id
      description: REST surface for ai-missions-mission_id.
      operations:
      - method: DELETE
        name: deletepublicmissionsmissionsmissionid
        description: Delete mission
        call: telnyx-missions.deletepublicmissionsmissionsmissionid
        with:
          mission_id: rest.mission_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getpublicmissionsmissionsmissionid
        description: Get mission
        call: telnyx-missions.getpublicmissionsmissionsmissionid
        with:
          mission_id: rest.mission_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putpublicmissionsmissionsmissionid
        description: Update mission
        call: telnyx-missions.putpublicmissionsmissionsmissionid
        with:
          mission_id: rest.mission_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ai/missions/{mission-id}/clone
      name: ai-missions-mission-id-clone
      description: REST surface for ai-missions-mission_id-clone.
      operations:
      - method: POST
        name: postpublicmissionsmissionsmissionidclone
        description: Clone mission
        call: telnyx-missions.postpublicmissionsmissionsmissionidclone
        with:
          mission_id: rest.mission_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ai/missions/{mission-id}/knowledge-bases
      name: ai-missions-mission-id-knowledge-bases
      description: REST surface for ai-missions-mission_id-knowledge-bases.
      operations:
      - method: GET
        name: getpublicmissionsmissionsmissionidknowledgebases
        description: List knowledge bases
        call: telnyx-missions.getpublicmissionsmissionsmissionidknowledgebases
        with:
          mission_id: rest.mission_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postpublicmissionsmissionsmissionidknowledgebases
        description: Create knowledge base
        call: telnyx-missions.postpublicmissionsmissionsmissionidknowledgebases
        with:
          mission_id: rest.mission_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ai/missions/{mission-id}/knowledge-bases/{knowledge-base-id}
      name: ai-missions-mission-id-knowledge-bases-knowledge-base-id
      description: REST surface for ai-missions-mission_id-knowledge-bases-knowledge_base_id.
      operations:
      - method: DELETE
        name: deletepublicmissionsmissionsmissionidknowledgebasesknowledgebaseid
        description: Delete knowledge base
        call: telnyx-missions.deletepublicmissionsmissionsmissionidknowledgebasesknowledgebaseid
        with:
          mission_id: rest.mission_id
          knowledge_base_id: rest.knowledge_base_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getpublicmissionsmissionsmissionidknowledgebasesknowledgebaseid
        description: Get knowledge base
        call: telnyx-missions.getpublicmissionsmissionsmissionidknowledgebasesknowledgebaseid
        with:
          mission_id: rest.mission_id
          knowledge_base_id: rest.knowledge_base_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putpublicmissionsmissionsmissionidknowledgebasesknowledgebaseid
        description: Update knowledge base
        call: telnyx-missions.putpublicmissionsmissionsmissionidknowledgebasesknowledgebaseid
        with:
          mission_id: rest.mission_id
          knowledge_base_id: rest.knowledge_base_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ai/missions/{mission-id}/mcp-servers
      name: ai-missions-mission-id-mcp-servers
      description: REST surface for ai-missions-mission_id-mcp-servers.
      operations:
      - method: GET
        name: getpublicmissionsmissionsmissionidmcpservers
        description: List MCP servers
        call: telnyx-missions.getpublicmissionsmissionsmissionidmcpservers
        with:
          mission_id: rest.mission_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postpublicmissionsmissionsmissionidmcpservers
        description: Create MCP server
        call: telnyx-missions.postpublicmissionsmissionsmissionidmcpservers
        with:
          mission_id: rest.mission_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ai/missions/{mission-id}/mcp-servers/{mcp-server-id}
      name: ai-missions-mission-id-mcp-servers-mcp-server-id
      description: REST surface for ai-missions-mission_id-mcp-servers-mcp_server_id.
      operations:
      - method: DELETE
        name: deletepublicmissionsmissionsmissionidmcpserversmcpserverid
        description: Delete MCP server
        call: telnyx-missions.deletepublicmissionsmissionsmissionidmcpserversmcpserverid
        with:
          mission_id: rest.mission_id
          mcp_server_id: rest.mcp_server_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getpublicmissionsmissionsmissionidmcpserversmcpserverid
        description: Get MCP server
        call: telnyx-missions.getpublicmissionsmissionsmissionidmcpserversmcpserverid
        with:
          mission_id: rest.mission_id
          mcp_server_id: rest.mcp_server_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putpublicmissionsmissionsmissionidmcpserversmcpserverid
        description: Update MCP server
        call: telnyx-missions.putpublicmissionsmissionsmissionidmcpserversmcpserverid
        with:
          mission_id: rest.mission_id
          mcp_server_id: rest.mcp_server_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ai/missions/{mission-id}/runs
      name: ai-missions-mission-id-runs
      description: REST surface for ai-missions-mission_id-runs.
      operations:
      - method: GET
        name: getpublicmissionsmissionsmissionidruns
        description: List runs for mission
        call: telnyx-missions.getpublicmissionsmissionsmissionidruns
        with:
          mission_id: rest.mission_id
          status: rest.status
          page[number]: rest.page[number]
          page[size]: rest.page[size]
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postpublicmissionsmissionsmissionidruns
        description: Start a run
        call: telnyx-missions.postpublicmissionsmissionsmissionidruns
        with:
          mission_id: rest.mission_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ai/missions/{mission-id}/runs/{run-id}
      name: ai-missions-mission-id-runs-run-id
      description: REST surface for ai-missions-mission_id-runs-run_id.
      operations:
      - method: GET
        name: getpublicmissionsmissionsmissionidrunsrunid
        description: Get run details
        call: telnyx-missions.getpublicmissionsmissionsmissionidrunsrunid
        with:
          mission_id: rest.mission_id
          run_id:

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/telnyx/refs/heads/main/capabilities/telnyx-missions.yaml