Twilio · Capability

Twilio - Trunking — Trunks

Twilio - Trunking — Trunks. 24 operations. Lead operation: Trunks. Self-contained Naftiko capability covering one Twilio business surface.

Run with Naftiko TwilioTrunks

What You Can Do

POST
Createtrunk — createtrunk
/v1/v1/trunks
GET
Listtrunk — listtrunk
/v1/v1/trunks
GET
Fetchtrunk — fetchtrunk
/v1/v1/trunks/{sid}
DELETE
Deletetrunk — deletetrunk
/v1/v1/trunks/{sid}
POST
Updatetrunk — updatetrunk
/v1/v1/trunks/{sid}
POST
Createcredentiallist — createcredentiallist
/v1/v1/trunks/{trunksid}/credentiallists
GET
Listcredentiallist — listcredentiallist
/v1/v1/trunks/{trunksid}/credentiallists
GET
Fetchcredentiallist — fetchcredentiallist
/v1/v1/trunks/{trunksid}/credentiallists/{sid}
DELETE
Deletecredentiallist — deletecredentiallist
/v1/v1/trunks/{trunksid}/credentiallists/{sid}
POST
Createipaccesscontrollist — Associate an IP Access Control List with a Trunk
/v1/v1/trunks/{trunksid}/ipaccesscontrollists
GET
Listipaccesscontrollist — List all IP Access Control Lists for a Trunk
/v1/v1/trunks/{trunksid}/ipaccesscontrollists
GET
Fetchipaccesscontrollist — fetchipaccesscontrollist
/v1/v1/trunks/{trunksid}/ipaccesscontrollists/{sid}
DELETE
Deleteipaccesscontrollist — Remove an associated IP Access Control List from a Trunk
/v1/v1/trunks/{trunksid}/ipaccesscontrollists/{sid}
POST
Createoriginationurl — createoriginationurl
/v1/v1/trunks/{trunksid}/originationurls
GET
Listoriginationurl — listoriginationurl
/v1/v1/trunks/{trunksid}/originationurls
GET
Fetchoriginationurl — fetchoriginationurl
/v1/v1/trunks/{trunksid}/originationurls/{sid}
DELETE
Deleteoriginationurl — deleteoriginationurl
/v1/v1/trunks/{trunksid}/originationurls/{sid}
POST
Updateoriginationurl — updateoriginationurl
/v1/v1/trunks/{trunksid}/originationurls/{sid}
POST
Createphonenumber — createphonenumber
/v1/v1/trunks/{trunksid}/phonenumbers
GET
Listphonenumber — listphonenumber
/v1/v1/trunks/{trunksid}/phonenumbers
GET
Fetchphonenumber — fetchphonenumber
/v1/v1/trunks/{trunksid}/phonenumbers/{sid}
DELETE
Deletephonenumber — deletephonenumber
/v1/v1/trunks/{trunksid}/phonenumbers/{sid}
GET
Fetchrecording — fetchrecording
/v1/v1/trunks/{trunksid}/recording
POST
Updaterecording — updaterecording
/v1/v1/trunks/{trunksid}/recording

MCP Tools

createtrunk

createtrunk

listtrunk

listtrunk

read-only idempotent
fetchtrunk

fetchtrunk

read-only idempotent
deletetrunk

deletetrunk

idempotent
updatetrunk

updatetrunk

createcredentiallist

createcredentiallist

listcredentiallist

listcredentiallist

read-only idempotent
fetchcredentiallist

fetchcredentiallist

read-only idempotent
deletecredentiallist

deletecredentiallist

idempotent
associate-ip-access-control-list

Associate an IP Access Control List with a Trunk

read-only
list-all-ip-access-control

List all IP Access Control Lists for a Trunk

read-only idempotent
fetchipaccesscontrollist

fetchipaccesscontrollist

read-only idempotent
remove-associated-ip-access-control

Remove an associated IP Access Control List from a Trunk

idempotent
createoriginationurl

createoriginationurl

listoriginationurl

listoriginationurl

read-only idempotent
fetchoriginationurl

fetchoriginationurl

read-only idempotent
deleteoriginationurl

deleteoriginationurl

idempotent
updateoriginationurl

updateoriginationurl

createphonenumber

createphonenumber

listphonenumber

listphonenumber

read-only idempotent
fetchphonenumber

fetchphonenumber

read-only idempotent
deletephonenumber

deletephonenumber

idempotent
fetchrecording

fetchrecording

read-only idempotent
updaterecording

updaterecording

Capability Spec

trunking-trunks.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Twilio - Trunking — Trunks
  description: 'Twilio - Trunking — Trunks. 24 operations. Lead operation: Trunks. Self-contained Naftiko capability covering
    one Twilio business surface.'
  tags:
  - Twilio
  - Trunks
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TWILIO_API_KEY: TWILIO_API_KEY
capability:
  consumes:
  - type: http
    namespace: trunking-trunks
    baseUri: https://trunking.twilio.com
    description: Twilio - Trunking — Trunks business capability. Self-contained, no shared references.
    resources:
    - name: v1-Trunks
      path: /v1/Trunks
      operations:
      - name: createtrunk
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listtrunk
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: PageSize
          in: query
          type: integer
          description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        - name: Page
          in: query
          type: integer
          description: The page index. This value is simply for client state.
        - name: PageToken
          in: query
          type: string
          description: The page token. This is provided by the API.
    - name: v1-Trunks-Sid
      path: /v1/Trunks/{Sid}
      operations:
      - name: fetchtrunk
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the Trunk resource to fetch.
          required: true
      - name: deletetrunk
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the Trunk resource to delete.
          required: true
      - name: updatetrunk
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the OriginationUrl resource to update.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Trunks-TrunkSid-CredentialLists
      path: /v1/Trunks/{TrunkSid}/CredentialLists
      operations:
      - name: createcredentiallist
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk to associate the credential list with.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listcredentiallist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to read the credential lists.
          required: true
        - name: PageSize
          in: query
          type: integer
          description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        - name: Page
          in: query
          type: integer
          description: The page index. This value is simply for client state.
        - name: PageToken
          in: query
          type: string
          description: The page token. This is provided by the API.
    - name: v1-Trunks-TrunkSid-CredentialLists-Sid
      path: /v1/Trunks/{TrunkSid}/CredentialLists/{Sid}
      operations:
      - name: fetchcredentiallist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to fetch the credential list.
          required: true
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the CredentialList resource to fetch.
          required: true
      - name: deletecredentiallist
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to delete the credential list.
          required: true
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the CredentialList resource to delete.
          required: true
    - name: v1-Trunks-TrunkSid-IpAccessControlLists
      path: /v1/Trunks/{TrunkSid}/IpAccessControlLists
      operations:
      - name: createipaccesscontrollist
        method: POST
        description: Associate an IP Access Control List with a Trunk
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk to associate the IP Access Control List with.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listipaccesscontrollist
        method: GET
        description: List all IP Access Control Lists for a Trunk
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to read the IP Access Control Lists.
          required: true
        - name: PageSize
          in: query
          type: integer
          description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        - name: Page
          in: query
          type: integer
          description: The page index. This value is simply for client state.
        - name: PageToken
          in: query
          type: string
          description: The page token. This is provided by the API.
    - name: v1-Trunks-TrunkSid-IpAccessControlLists-Sid
      path: /v1/Trunks/{TrunkSid}/IpAccessControlLists/{Sid}
      operations:
      - name: fetchipaccesscontrollist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to fetch the IP Access Control List.
          required: true
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the IpAccessControlList resource to fetch.
          required: true
      - name: deleteipaccesscontrollist
        method: DELETE
        description: Remove an associated IP Access Control List from a Trunk
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to delete the IP Access Control List.
          required: true
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the IpAccessControlList resource to delete.
          required: true
    - name: v1-Trunks-TrunkSid-OriginationUrls
      path: /v1/Trunks/{TrunkSid}/OriginationUrls
      operations:
      - name: createoriginationurl
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk to associate the resource with.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listoriginationurl
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to read the OriginationUrl.
          required: true
        - name: PageSize
          in: query
          type: integer
          description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        - name: Page
          in: query
          type: integer
          description: The page index. This value is simply for client state.
        - name: PageToken
          in: query
          type: string
          description: The page token. This is provided by the API.
    - name: v1-Trunks-TrunkSid-OriginationUrls-Sid
      path: /v1/Trunks/{TrunkSid}/OriginationUrls/{Sid}
      operations:
      - name: fetchoriginationurl
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to fetch the OriginationUrl.
          required: true
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the OriginationUrl resource to fetch.
          required: true
      - name: deleteoriginationurl
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to delete the OriginationUrl.
          required: true
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the OriginationUrl resource to delete.
          required: true
      - name: updateoriginationurl
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to update the OriginationUrl.
          required: true
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the OriginationUrl resource to update.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Trunks-TrunkSid-PhoneNumbers
      path: /v1/Trunks/{TrunkSid}/PhoneNumbers
      operations:
      - name: createphonenumber
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk to associate the phone number with.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listphonenumber
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to read the PhoneNumber resources.
          required: true
        - name: PageSize
          in: query
          type: integer
          description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        - name: Page
          in: query
          type: integer
          description: The page index. This value is simply for client state.
        - name: PageToken
          in: query
          type: string
          description: The page token. This is provided by the API.
    - name: v1-Trunks-TrunkSid-PhoneNumbers-Sid
      path: /v1/Trunks/{TrunkSid}/PhoneNumbers/{Sid}
      operations:
      - name: fetchphonenumber
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to fetch the PhoneNumber resource.
          required: true
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the PhoneNumber resource to fetch.
          required: true
      - name: deletephonenumber
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to delete the PhoneNumber resource.
          required: true
        - name: Sid
          in: path
          type: string
          description: The unique string that we created to identify the PhoneNumber resource to delete.
          required: true
    - name: v1-Trunks-TrunkSid-Recording
      path: /v1/Trunks/{TrunkSid}/Recording
      operations:
      - name: fetchrecording
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk from which to fetch the recording settings.
          required: true
      - name: updaterecording
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: TrunkSid
          in: path
          type: string
          description: The SID of the Trunk that will have its recording settings updated.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: basic
      username: '{{env.TWILIO_USER}}'
      password: '{{env.TWILIO_PASS}}'
  exposes:
  - type: rest
    namespace: trunking-trunks-rest
    port: 8080
    description: REST adapter for Twilio - Trunking — Trunks. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/trunks
      name: v1-trunks
      description: REST surface for v1-Trunks.
      operations:
      - method: POST
        name: createtrunk
        description: createtrunk
        call: trunking-trunks.createtrunk
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listtrunk
        description: listtrunk
        call: trunking-trunks.listtrunk
        with:
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/trunks/{sid}
      name: v1-trunks-sid
      description: REST surface for v1-Trunks-Sid.
      operations:
      - method: GET
        name: fetchtrunk
        description: fetchtrunk
        call: trunking-trunks.fetchtrunk
        with:
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletetrunk
        description: deletetrunk
        call: trunking-trunks.deletetrunk
        with:
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatetrunk
        description: updatetrunk
        call: trunking-trunks.updatetrunk
        with:
          Sid: rest.Sid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/trunks/{trunksid}/credentiallists
      name: v1-trunks-trunksid-credentiallists
      description: REST surface for v1-Trunks-TrunkSid-CredentialLists.
      operations:
      - method: POST
        name: createcredentiallist
        description: createcredentiallist
        call: trunking-trunks.createcredentiallist
        with:
          TrunkSid: rest.TrunkSid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listcredentiallist
        description: listcredentiallist
        call: trunking-trunks.listcredentiallist
        with:
          TrunkSid: rest.TrunkSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/trunks/{trunksid}/credentiallists/{sid}
      name: v1-trunks-trunksid-credentiallists-sid
      description: REST surface for v1-Trunks-TrunkSid-CredentialLists-Sid.
      operations:
      - method: GET
        name: fetchcredentiallist
        description: fetchcredentiallist
        call: trunking-trunks.fetchcredentiallist
        with:
          TrunkSid: rest.TrunkSid
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecredentiallist
        description: deletecredentiallist
        call: trunking-trunks.deletecredentiallist
        with:
          TrunkSid: rest.TrunkSid
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/trunks/{trunksid}/ipaccesscontrollists
      name: v1-trunks-trunksid-ipaccesscontrollists
      description: REST surface for v1-Trunks-TrunkSid-IpAccessControlLists.
      operations:
      - method: POST
        name: createipaccesscontrollist
        description: Associate an IP Access Control List with a Trunk
        call: trunking-trunks.createipaccesscontrollist
        with:
          TrunkSid: rest.TrunkSid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listipaccesscontrollist
        description: List all IP Access Control Lists for a Trunk
        call: trunking-trunks.listipaccesscontrollist
        with:
          TrunkSid: rest.TrunkSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/trunks/{trunksid}/ipaccesscontrollists/{sid}
      name: v1-trunks-trunksid-ipaccesscontrollists-sid
      description: REST surface for v1-Trunks-TrunkSid-IpAccessControlLists-Sid.
      operations:
      - method: GET
        name: fetchipaccesscontrollist
        description: fetchipaccesscontrollist
        call: trunking-trunks.fetchipaccesscontrollist
        with:
          TrunkSid: rest.TrunkSid
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteipaccesscontrollist
        description: Remove an associated IP Access Control List from a Trunk
        call: trunking-trunks.deleteipaccesscontrollist
        with:
          TrunkSid: rest.TrunkSid
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/trunks/{trunksid}/originationurls
      name: v1-trunks-trunksid-originationurls
      description: REST surface for v1-Trunks-TrunkSid-OriginationUrls.
      operations:
      - method: POST
        name: createoriginationurl
        description: createoriginationurl
        call: trunking-trunks.createoriginationurl
        with:
          TrunkSid: rest.TrunkSid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listoriginationurl
        description: listoriginationurl
        call: trunking-trunks.listoriginationurl
        with:
          TrunkSid: rest.TrunkSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/trunks/{trunksid}/originationurls/{sid}
      name: v1-trunks-trunksid-originationurls-sid
      description: REST surface for v1-Trunks-TrunkSid-OriginationUrls-Sid.
      operations:
      - method: GET
        name: fetchoriginationurl
        description: fetchoriginationurl
        call: trunking-trunks.fetchoriginationurl
        with:
          TrunkSid: rest.TrunkSid
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteoriginationurl
        description: deleteoriginationurl
        call: trunking-trunks.deleteoriginationurl
        with:
          TrunkSid: rest.TrunkSid
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updateoriginationurl
        description: updateoriginationurl
        call: trunking-trunks.updateoriginationurl
        with:
          TrunkSid: rest.TrunkSid
          Sid: rest.Sid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/trunks/{trunksid}/phonenumbers
      name: v1-trunks-trunksid-phonenumbers
      description: REST surface for v1-Trunks-TrunkSid-PhoneNumbers.
      operations:
      - method: POST
        name: createphonenumber
        description: createphonenumber
        call: trunking-trunks.createphonenumber
        with:
          TrunkSid: rest.TrunkSid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listphonenumber
        description: listphonenumber
        call: trunking-trunks.listphonenumber
        with:
          TrunkSid: rest.TrunkSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/trunks/{trunksid}/phonenumbers/{sid}
      name: v1-trunks-trunksid-phonenumbers-sid
      description: REST surface for v1-Trunks-TrunkSid-PhoneNumbers-Sid.
      operations:
      - method: GET
        name: fetchphonenumber
        description: fetchphonenumber
        call: trunking-trunks.fetchphonenumber
        with:
          TrunkSid: rest.TrunkSid
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletephonenumber
        description: deletephonenumber
        call: trunking-trunks.deletephonenumber
        with:
          TrunkSid: rest.TrunkSid
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/trunks/{trunksid}/recording
      name: v1-trunks-trunksid-recording
      description: REST surface for v1-Trunks-TrunkSid-Recording.
      operations:
      - method: GET
        name: fetchrecording
        description: fetchrecording
        call: trunking-trunks.fetchrecording
        with:
          TrunkSid: rest.TrunkSid
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updaterecording
        description: updaterecording
        call: trunking-trunks.updaterecording
        with:
          TrunkSid: rest.TrunkSid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: trunking-trunks-mcp
    port: 9090
    transport: http
    description: MCP adapter for Twilio - Trunking — Trunks. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: createtrunk
      description: createtrunk
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: trunking-trunks.createtrunk
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: listtrunk
      description: listtrunk
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: trunking-trunks.listtrunk
      with:
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: fetchtrunk
      description: fetchtrunk
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: trunking-trunks.fetchtrunk
      with:
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: deletetrunk
      description: deletetrunk
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: trunking-trunks.deletetrunk
      with:
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: updatetrunk
      description: updatetrunk
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: trunking-trunks.updatetrunk
      with:
        Sid: tools.Sid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: createcredentiallist
      description: createcredentiallist
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: trunking-trunks.createcredentiallist
      with:
        TrunkSid: tools.TrunkSid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: listcredentiallist
      description: listcredentiallist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: trunking-trunks.listcredentiallist
      with:
        TrunkSid: tools.TrunkSid
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: fetchcredentiallist
      description: fetchcredentiallist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: trunking-trunks.fetchcredentiallist
      with:
        TrunkSid: tools.TrunkSid
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: deletecredentiallist
      description: deletecredentiallist
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: trunking-trunks.deletecredentiallist
      with:
        TrunkSid: tools.TrunkSid
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: associate-ip-access-control-list
      description: Associate an IP Access Control List with a Trunk
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: trunking-trunks.createipaccesscontrollist
      with:
        TrunkSid: tools.TrunkSid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-ip-access-control
      description: List all IP Access Control Lists for a Trunk
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: trunking-trunks.listipaccesscontrollist
      with:
        TrunkSid: tools.TrunkSid
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: fetchipaccesscontrollist
      description: fetchipaccesscontrollist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: trunking-trunks.fetchipaccesscontrollist
      with:
        TrunkSid: tools.TrunkSid
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-associated-ip-access-control
      description: Remove an associated IP Access Control List from a Trunk
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: trunking-trunks.deleteipaccesscontrollist
      with:
        TrunkSid: tools.TrunkSid
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: createoriginationurl
      description: createoriginationurl
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: trunking-trunks.createoriginationurl
      with:
        TrunkSid: tools.TrunkSid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: listoriginationurl
      description: listoriginationurl
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: trunking-trunks.listoriginationurl
      with:
        TrunkSid: tools.TrunkSid
        PageSize: tools.PageSize
        Page: tools.Page
        PageToken: tools.PageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: fetchoriginationurl
      description: fetchoriginationurl
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: trunking-trunks.fetchoriginationurl
      with:
        TrunkSid: tools.TrunkSid
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteoriginationurl
      description: deleteoriginationurl
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: trunking-trunks.deleteoriginationurl
      with:
        TrunkSid: tools.TrunkSid
        Sid: tools.Sid
      outputParameters:
      - type: object
        mapping: $.
    - name: updateoriginationurl
      description: updateoriginationurl
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: trunking-trunks.updateoriginationurl
      with:
        TrunkSid: tools.TrunkSid
        Sid: tools.Sid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: createphonenumber
      description: createphonenumber
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: trunking-trunks.createphonenumber
      with:
        TrunkSid: tools.TrunkSid
        bod

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/capabilities/trunking-trunks.yaml