Webex · Capability

Webex Cloud Calling — Call Controls

Webex Cloud Calling — Call Controls. 29 operations. Lead operation: List Calls. Self-contained Naftiko capability covering one Webex business surface.

Run with Naftiko WebexCall Controls

What You Can Do

GET
Listcalls — List Calls
/v1/telephony/calls
POST
Answer — Answer
/v1/telephony/calls/answer
POST
Bargein — Barge In
/v1/telephony/calls/bargein
POST
Dial — Dial
/v1/telephony/calls/dial
POST
Divert — Divert
/v1/telephony/calls/divert
POST
Hangup — Hangup
/v1/telephony/calls/hangup
GET
Listcallhistory — List Call History
/v1/telephony/calls/history
POST
Hold — Hold
/v1/telephony/calls/hold
POST
Answerbymemberid — Answer by Member ID
/v1/telephony/calls/members/{memberid}/answer
GET
Listcallsbymemberid — List Calls by Member ID
/v1/telephony/calls/members/{memberid}/calls
GET
Getcalldetailsbymemberid — Get Call Details by Member ID
/v1/telephony/calls/members/{memberid}/calls/{callid}
POST
Dialbymemberid — Dial by Member ID
/v1/telephony/calls/members/{memberid}/dial
POST
Hangupbymemberid — Hangup by Member ID
/v1/telephony/calls/members/{memberid}/hangup
POST
Mute — Mute
/v1/telephony/calls/mute
POST
Park — Park
/v1/telephony/calls/park
POST
Pauserecording — Pause Recording
/v1/telephony/calls/pauserecording
POST
Pickup — Pickup
/v1/telephony/calls/pickup
POST
Pull — Pull
/v1/telephony/calls/pull
POST
Push — Push
/v1/telephony/calls/push
POST
Reject — Reject
/v1/telephony/calls/reject
POST
Resume — Resume
/v1/telephony/calls/resume
POST
Resumerecording — Resume Recording
/v1/telephony/calls/resumerecording
POST
Retrieve — Retrieve
/v1/telephony/calls/retrieve
POST
Startrecording — Start Recording
/v1/telephony/calls/startrecording
POST
Stoprecording — Stop Recording
/v1/telephony/calls/stoprecording
POST
Transfer — Transfer
/v1/telephony/calls/transfer
POST
Transmitdtmf — Transmit DTMF
/v1/telephony/calls/transmitdtmf
POST
Unmute — Unmute
/v1/telephony/calls/unmute
GET
Getcalldetails — Get Call Details
/v1/telephony/calls/{callid}

MCP Tools

list-calls

List Calls

read-only idempotent
answer

Answer

barge

Barge In

dial

Dial

divert

Divert

hangup

Hangup

list-call-history

List Call History

read-only idempotent
hold

Hold

answer-member-id

Answer by Member ID

list-calls-member-id

List Calls by Member ID

read-only idempotent
get-call-details-member-id

Get Call Details by Member ID

read-only idempotent
dial-member-id

Dial by Member ID

hangup-member-id

Hangup by Member ID

mute

Mute

park

Park

pause-recording

Pause Recording

pickup

Pickup

pull

Pull

push

Push

reject

Reject

resume

Resume

resume-recording

Resume Recording

retrieve

Retrieve

read-only
start-recording

Start Recording

stop-recording

Stop Recording

transfer

Transfer

transmit-dtmf

Transmit DTMF

unmute

Unmute

get-call-details

Get Call Details

read-only idempotent

Capability Spec

cloud-calling-call-controls.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webex Cloud Calling — Call Controls
  description: 'Webex Cloud Calling — Call Controls. 29 operations. Lead operation: List Calls. Self-contained Naftiko capability
    covering one Webex business surface.'
  tags:
  - Webex
  - Call Controls
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WEBEX_API_KEY: WEBEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: cloud-calling-call-controls
    baseUri: ''
    description: Webex Cloud Calling — Call Controls business capability. Self-contained, no shared references.
    resources:
    - name: telephony-calls
      path: /telephony/calls
      operations:
      - name: listcalls
        method: GET
        description: List Calls
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: lineOwnerId
          in: query
          type: string
          description: The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned
            by the user invoking the API.
    - name: telephony-calls-answer
      path: /telephony/calls/answer
      operations:
      - name: answer
        method: POST
        description: Answer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-bargeIn
      path: /telephony/calls/bargeIn
      operations:
      - name: bargein
        method: POST
        description: Barge In
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-dial
      path: /telephony/calls/dial
      operations:
      - name: dial
        method: POST
        description: Dial
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-divert
      path: /telephony/calls/divert
      operations:
      - name: divert
        method: POST
        description: Divert
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-hangup
      path: /telephony/calls/hangup
      operations:
      - name: hangup
        method: POST
        description: Hangup
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-history
      path: /telephony/calls/history
      operations:
      - name: listcallhistory
        method: GET
        description: List Call History
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: query
          type: string
          description: The type of call history records to retrieve. If not specified, then all call history records are retrieved.
    - name: telephony-calls-hold
      path: /telephony/calls/hold
      operations:
      - name: hold
        method: POST
        description: Hold
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-members-memberId-answer
      path: /telephony/calls/members/{memberId}/answer
      operations:
      - name: answerbymemberid
        method: POST
        description: Answer by Member ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: memberId
          in: path
          type: string
          description: 'Unique identifier for the member. Member ID can be one of the following: person, workspace, or virtual
            line'
          required: true
        - name: orgId
          in: query
          type: string
          description: 'Id of the organization to which the member belongs. If not provided, the orgId of the Service App
            is used. If provided, the organization must be the same as or '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-members-memberId-calls
      path: /telephony/calls/members/{memberId}/calls
      operations:
      - name: listcallsbymemberid
        method: GET
        description: List Calls by Member ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: memberId
          in: path
          type: string
          description: 'Unique identifier for the member. Member ID can be one of the following: person, workspace, or virtual
            line'
          required: true
        - name: orgId
          in: query
          type: string
          description: 'Id of the organization to which the member belongs. If not provided, the orgId of the Service App
            is used. If provided, the organization must be the same as or '
    - name: telephony-calls-members-memberId-calls-callId
      path: /telephony/calls/members/{memberId}/calls/{callId}
      operations:
      - name: getcalldetailsbymemberid
        method: GET
        description: Get Call Details by Member ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: memberId
          in: path
          type: string
          description: 'Unique identifier for the member. Member ID can be one of the following: person, workspace, or virtual
            line'
          required: true
        - name: callId
          in: path
          type: string
          description: The call identifier of the call.
          required: true
        - name: orgId
          in: query
          type: string
          description: 'Id of the organization to which the member belongs. If not provided, the orgId of the Service App
            is used. If provided, the organization must be the same as or '
    - name: telephony-calls-members-memberId-dial
      path: /telephony/calls/members/{memberId}/dial
      operations:
      - name: dialbymemberid
        method: POST
        description: Dial by Member ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: memberId
          in: path
          type: string
          description: 'Unique identifier for the member. Member ID can be one of the following: person, workspace, or virtual
            line'
          required: true
        - name: orgId
          in: query
          type: string
          description: 'Id of the organization to which the member belongs. If not provided, the orgId of the Service App
            is used. If provided, the organization must be the same as or '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-members-memberId-hangup
      path: /telephony/calls/members/{memberId}/hangup
      operations:
      - name: hangupbymemberid
        method: POST
        description: Hangup by Member ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: memberId
          in: path
          type: string
          description: 'Unique identifier for the member. Member ID can be one of the following: person, workspace, or virtual
            line'
          required: true
        - name: orgId
          in: query
          type: string
          description: 'Id of the organization to which the member belongs. If not provided, the orgId of the Service App
            is used. If provided, the organization must be the same as or '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-mute
      path: /telephony/calls/mute
      operations:
      - name: mute
        method: POST
        description: Mute
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-park
      path: /telephony/calls/park
      operations:
      - name: park
        method: POST
        description: Park
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-pauseRecording
      path: /telephony/calls/pauseRecording
      operations:
      - name: pauserecording
        method: POST
        description: Pause Recording
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-pickup
      path: /telephony/calls/pickup
      operations:
      - name: pickup
        method: POST
        description: Pickup
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-pull
      path: /telephony/calls/pull
      operations:
      - name: pull
        method: POST
        description: Pull
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-push
      path: /telephony/calls/push
      operations:
      - name: push
        method: POST
        description: Push
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-reject
      path: /telephony/calls/reject
      operations:
      - name: reject
        method: POST
        description: Reject
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-resume
      path: /telephony/calls/resume
      operations:
      - name: resume
        method: POST
        description: Resume
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-resumeRecording
      path: /telephony/calls/resumeRecording
      operations:
      - name: resumerecording
        method: POST
        description: Resume Recording
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-retrieve
      path: /telephony/calls/retrieve
      operations:
      - name: retrieve
        method: POST
        description: Retrieve
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-startRecording
      path: /telephony/calls/startRecording
      operations:
      - name: startrecording
        method: POST
        description: Start Recording
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-stopRecording
      path: /telephony/calls/stopRecording
      operations:
      - name: stoprecording
        method: POST
        description: Stop Recording
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-transfer
      path: /telephony/calls/transfer
      operations:
      - name: transfer
        method: POST
        description: Transfer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-transmitDtmf
      path: /telephony/calls/transmitDtmf
      operations:
      - name: transmitdtmf
        method: POST
        description: Transmit DTMF
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-unmute
      path: /telephony/calls/unmute
      operations:
      - name: unmute
        method: POST
        description: Unmute
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-callId
      path: /telephony/calls/{callId}
      operations:
      - name: getcalldetails
        method: GET
        description: Get Call Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: callId
          in: path
          type: string
          description: The call identifier of the call.
          required: true
        - name: lineOwnerId
          in: query
          type: string
          description: The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned
            by the user invoking the API.
    authentication:
      type: bearer
      token: '{{env.WEBEX_API_KEY}}'
  exposes:
  - type: rest
    namespace: cloud-calling-call-controls-rest
    port: 8080
    description: REST adapter for Webex Cloud Calling — Call Controls. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/telephony/calls
      name: telephony-calls
      description: REST surface for telephony-calls.
      operations:
      - method: GET
        name: listcalls
        description: List Calls
        call: cloud-calling-call-controls.listcalls
        with:
          lineOwnerId: rest.lineOwnerId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/answer
      name: telephony-calls-answer
      description: REST surface for telephony-calls-answer.
      operations:
      - method: POST
        name: answer
        description: Answer
        call: cloud-calling-call-controls.answer
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/bargein
      name: telephony-calls-bargein
      description: REST surface for telephony-calls-bargeIn.
      operations:
      - method: POST
        name: bargein
        description: Barge In
        call: cloud-calling-call-controls.bargein
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/dial
      name: telephony-calls-dial
      description: REST surface for telephony-calls-dial.
      operations:
      - method: POST
        name: dial
        description: Dial
        call: cloud-calling-call-controls.dial
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/divert
      name: telephony-calls-divert
      description: REST surface for telephony-calls-divert.
      operations:
      - method: POST
        name: divert
        description: Divert
        call: cloud-calling-call-controls.divert
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/hangup
      name: telephony-calls-hangup
      description: REST surface for telephony-calls-hangup.
      operations:
      - method: POST
        name: hangup
        description: Hangup
        call: cloud-calling-call-controls.hangup
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/history
      name: telephony-calls-history
      description: REST surface for telephony-calls-history.
      operations:
      - method: GET
        name: listcallhistory
        description: List Call History
        call: cloud-calling-call-controls.listcallhistory
        with:
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/hold
      name: telephony-calls-hold
      description: REST surface for telephony-calls-hold.
      operations:
      - method: POST
        name: hold
        description: Hold
        call: cloud-calling-call-controls.hold
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/members/{memberid}/answer
      name: telephony-calls-members-memberid-answer
      description: REST surface for telephony-calls-members-memberId-answer.
      operations:
      - method: POST
        name: answerbymemberid
        description: Answer by Member ID
        call: cloud-calling-call-controls.answerbymemberid
        with:
          memberId: rest.memberId
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/members/{memberid}/calls
      name: telephony-calls-members-memberid-calls
      description: REST surface for telephony-calls-members-memberId-calls.
      operations:
      - method: GET
        name: listcallsbymemberid
        description: List Calls by Member ID
        call: cloud-calling-call-controls.listcallsbymemberid
        with:
          memberId: rest.memberId
          orgId: rest.orgId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/members/{memberid}/calls/{callid}
      name: telephony-calls-members-memberid-calls-callid
      description: REST surface for telephony-calls-members-memberId-calls-callId.
      operations:
      - method: GET
        name: getcalldetailsbymemberid
        description: Get Call Details by Member ID
        call: cloud-calling-call-controls.getcalldetailsbymemberid
        with:
          memberId: rest.memberId
          callId: rest.callId
          orgId: rest.orgId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/members/{memberid}/dial
      name: telephony-calls-members-memberid-dial
      description: REST surface for telephony-calls-members-memberId-dial.
      operations:
      - method: POST
        name: dialbymemberid
        description: Dial by Member ID
        call: cloud-calling-call-controls.dialbymemberid
        with:
          memberId: rest.memberId
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/members/{memberid}/hangup
      name: telephony-calls-members-memberid-hangup
      description: REST surface for telephony-calls-members-memberId-hangup.
      operations:
      - method: POST
        name: hangupbymemberid
        description: Hangup by Member ID
        call: cloud-calling-call-controls.hangupbymemberid
        with:
          memberId: rest.memberId
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/mute
      name: telephony-calls-mute
      description: REST surface for telephony-calls-mute.
      operations:
      - method: POST
        name: mute
        description: Mute
        call: cloud-calling-call-controls.mute
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/park
      name: telephony-calls-park
      description: REST surface for telephony-calls-park.
      operations:
      - method: POST
        name: park
        description: Park
        call: cloud-calling-call-controls.park
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/pauserecording
      name: telephony-calls-pauserecording
      description: REST surface for telephony-calls-pauseRecording.
      operations:
      - method: POST
        name: pauserecording
        description: Pause Recording
        call: cloud-calling-call-controls.pauserecording
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/pickup
      name: telephony-calls-pickup
      description: REST surface for telephony-calls-pickup.
      operations:
      - method: POST
        name: pickup
        description: Pickup
        call: cloud-calling-call-controls.pickup
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/pull
      name: telephony-calls-pull
      description: REST surface for telephony-calls-pull.
      operations:
      - method: POST
        name: pull
        description: Pull
        call: cloud-calling-call-controls.pull
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/push
      name: telephony-calls-push
      description: REST surface for telephony-calls-push.
      operations:
      - method: POST
        name: push
        description: Push
        call: cloud-calling-call-controls.push
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/reject
      name: telephony-calls-reject
      description: REST surface for telephony-calls-reject.
      operations:
      - method: POST
        name: reject
        description: Reject
        call: cloud-calling-call-controls.reject
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/resume
      name: telephony-calls-resume
      description: REST surface for telephony-calls-resume.
      operations:
      - method: POST
        name: resume
        description: Resume
        call: cloud-calling-call-controls.resume
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/resumerecording
      name: telephony-calls-resumerecording
      description: REST surface for telephony-calls-resumeRecording.
      operations:
      - method: POST
        name: resumerecording
        description: Resume Recording
        call: cloud-calling-call-controls.resumerecording
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/retrieve
      name: telephony-calls-retrieve
      description: REST surface for telephony-calls-retrieve.
      operations:
      - method: POST
        name: retrieve
        description: Retrieve
        call: cloud-calling-call-controls.retrieve
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/startrecording
      name: telephony-calls-startrecording
      description: REST surface for telephony-calls-startRecording.
      operations:
      - method: POST
        name: startrecording
        description: Start Recording
        call: cloud-calling-call-controls.startrecording
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/stoprecording
      name: telephony-calls-stoprecording
      description: REST surface for telephony-calls-stopRecording.
      operations:
      - method: POST
        name: stoprecording
        description: Stop Recording
        call: cloud-calling-call-controls.stoprecording
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/transfer
      name: telephony-calls-transfer
      description: REST surface for telephony-calls-transfer.
      operations:
      - method: POST
        name: transfer
        description: Transfer
        call: cloud-calling-call-controls.transfer
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/transmitdtmf
      name: telephony-calls-transmitdtmf
      description: REST surface for telephony-calls-transmitDtmf.
      operations:
      - method: POST
        name: transmitdtmf
        description: Transmit DTMF
        call: cloud-calling-call-controls.transmitdtmf
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/unmute
      name: telephony-calls-unmute
      description: REST surface for telephony-calls-unmute.
      operations:
      - method: POST
        name: unmute
        description: Unmute
        call: cloud-calling-call-controls.unmute
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/{callid}
      name: telephony-calls-callid
      description: REST surface for telephony-calls-callId.
      operations:
      - method: GET
        name: getcalldetails
        description: Get Call Details
        call: cloud-calling-call-controls.getcalldetails
        with:
          callId: rest.callId
          lineOwnerId: rest.lineOwnerId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: cloud-calling-call-controls-mcp
    port: 9090
    transport: http
    description: MCP adapter for Webex Cloud Calling — Call Controls. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-calls
      description: List Calls
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-call-controls.listcalls
      with:
        lineOwnerId: tools.lineOwnerId
      outputParameters:
      - type: object
        mapping: $.
    - name: answer
      description: Answer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-call-controls.answer
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: barge
      description: Barge In
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-call-controls.bargein
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: dial
      description: Dial
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-call-controls.dial
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: divert
      description: Divert
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-call-controls.divert
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hangup
      description: Hangup
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-call-controls.hangup
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-call-history
      description: List Call History
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-call-controls.listcallhistory
      with:
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: hold
      description: Hold
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-call-controls.hold
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: answer-member-id
      description: Answer by Member ID
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-call-controls.answerbymemberid
      with:
        memberId: tools.memberId
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-calls-member-id
      description: List Calls by Member ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-call-controls.listcallsbymemberid
      with:
        memberId: tools.memberId
        orgId: tools.orgId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-call-details-member-id
      description: Get Call Details by Member ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-call-controls.getcalldetailsbymemberid
      with:
        memberId: tools.memberId
        callId: tools.callId
        orgId: tools.orgId
 

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/capabilities/cloud-calling-call-controls.yaml