Twilio · Capability

Twilio - Proxy — Services

Twilio - Proxy — Services. 30 operations. Lead operation: Services. Self-contained Naftiko capability covering one Twilio business surface.

Run with Naftiko TwilioServices

What You Can Do

GET
Listservice — Retrieve a list of all Services for Twilio Proxy. A maximum of 100 records will be returned per page.
/v1/v1/services
POST
Createservice — Create a new Service for Twilio Proxy
/v1/v1/services
POST
Createphonenumber — Add a Phone Number to a Service's Proxy Number Pool.
/v1/v1/services/{servicesid}/phonenumbers
GET
Listphonenumber — Retrieve a list of all Phone Numbers in the Proxy Number Pool for a Service. A maximum of 100 records will be returned per page.
/v1/v1/services/{servicesid}/phonenumbers
DELETE
Deletephonenumber — Delete a specific Phone Number from a Service.
/v1/v1/services/{servicesid}/phonenumbers/{sid}
GET
Fetchphonenumber — Fetch a specific Phone Number.
/v1/v1/services/{servicesid}/phonenumbers/{sid}
POST
Updatephonenumber — Update a specific Proxy Number.
/v1/v1/services/{servicesid}/phonenumbers/{sid}
GET
Listsession — Retrieve a list of all Sessions for the Service. A maximum of 100 records will be returned per page.
/v1/v1/services/{servicesid}/sessions
POST
Createsession — Create a new Session
/v1/v1/services/{servicesid}/sessions
GET
Listinteraction — Retrieve a list of all Interactions for a Session. A maximum of 100 records will be returned per page.
/v1/v1/services/{servicesid}/sessions/{sessionsid}/interactions
GET
Fetchinteraction — Retrieve a list of Interactions for a given [Session](https://www.twilio.com/docs/proxy/api/session).
/v1/v1/services/{servicesid}/sessions/{sessionsid}/interactions/{sid}
DELETE
Deleteinteraction — Delete a specific Interaction.
/v1/v1/services/{servicesid}/sessions/{sessionsid}/interactions/{sid}
GET
Listparticipant — Retrieve a list of all Participants in a Session.
/v1/v1/services/{servicesid}/sessions/{sessionsid}/participants
POST
Createparticipant — Add a new Participant to the Session
/v1/v1/services/{servicesid}/sessions/{sessionsid}/participants
POST
Createmessageinteraction — Create a new message Interaction to send directly from your system to one [Participant](https://www.twilio.com/docs/proxy/api/participant). The `inbound` properties for the Interaction will always be empty.
/v1/v1/services/{servicesid}/sessions/{sessionsid}/participants/{participantsid}/messageinteractions
GET
Listmessageinteraction — listmessageinteraction
/v1/v1/services/{servicesid}/sessions/{sessionsid}/participants/{participantsid}/messageinteractions
GET
Fetchmessageinteraction — fetchmessageinteraction
/v1/v1/services/{servicesid}/sessions/{sessionsid}/participants/{participantsid}/messageinteractions/{sid}
GET
Fetchparticipant — Fetch a specific Participant.
/v1/v1/services/{servicesid}/sessions/{sessionsid}/participants/{sid}
DELETE
Deleteparticipant — Delete a specific Participant. This is a soft-delete. The participant remains associated with the session and cannot be re-added. Participants are only permanently deleted when the [Session](https://www.twilio.com/docs/proxy/api/session) is
/v1/v1/services/{servicesid}/sessions/{sessionsid}/participants/{sid}
GET
Fetchsession — Fetch a specific Session.
/v1/v1/services/{servicesid}/sessions/{sid}
DELETE
Deletesession — Delete a specific Session.
/v1/v1/services/{servicesid}/sessions/{sid}
POST
Updatesession — Update a specific Session.
/v1/v1/services/{servicesid}/sessions/{sid}
POST
Createshortcode — Add a Short Code to the Proxy Number Pool for the Service.
/v1/v1/services/{servicesid}/shortcodes
GET
Listshortcode — Retrieve a list of all Short Codes in the Proxy Number Pool for the Service. A maximum of 100 records will be returned per page.
/v1/v1/services/{servicesid}/shortcodes
DELETE
Deleteshortcode — Delete a specific Short Code from a Service.
/v1/v1/services/{servicesid}/shortcodes/{sid}
GET
Fetchshortcode — Fetch a specific Short Code.
/v1/v1/services/{servicesid}/shortcodes/{sid}
POST
Updateshortcode — Update a specific Short Code.
/v1/v1/services/{servicesid}/shortcodes/{sid}
GET
Fetchservice — Fetch a specific Service.
/v1/v1/services/{sid}
DELETE
Deleteservice — Delete a specific Service.
/v1/v1/services/{sid}
POST
Updateservice — Update a specific Service.
/v1/v1/services/{sid}

MCP Tools

retrieve-list-all-services-twilio

Retrieve a list of all Services for Twilio Proxy. A maximum of 100 records will be returned per page.

read-only idempotent
create-new-service-twilio-proxy

Create a new Service for Twilio Proxy

add-phone-number-service-s-proxy

Add a Phone Number to a Service's Proxy Number Pool.

retrieve-list-all-phone-numbers

Retrieve a list of all Phone Numbers in the Proxy Number Pool for a Service. A maximum of 100 records will be returned per page.

read-only idempotent
delete-specific-phone-number-service

Delete a specific Phone Number from a Service.

idempotent
fetch-specific-phone-number

Fetch a specific Phone Number.

read-only idempotent
update-specific-proxy-number

Update a specific Proxy Number.

retrieve-list-all-sessions-service

Retrieve a list of all Sessions for the Service. A maximum of 100 records will be returned per page.

read-only idempotent
create-new-session

Create a new Session

retrieve-list-all-interactions-session

Retrieve a list of all Interactions for a Session. A maximum of 100 records will be returned per page.

read-only idempotent
retrieve-list-interactions-given-session-https

Retrieve a list of Interactions for a given [Session](https://www.twilio.com/docs/proxy/api/session).

read-only idempotent
delete-specific-interaction

Delete a specific Interaction.

idempotent
retrieve-list-all-participants-session

Retrieve a list of all Participants in a Session.

read-only idempotent
add-new-participant-session

Add a new Participant to the Session

create-new-message-interaction-send

Create a new message Interaction to send directly from your system to one [Participant](https://www.twilio.com/docs/proxy/api/participant). The `inbound` properties for the Interaction will always be empty.

listmessageinteraction

listmessageinteraction

read-only idempotent
fetchmessageinteraction

fetchmessageinteraction

read-only idempotent
fetch-specific-participant

Fetch a specific Participant.

read-only idempotent
delete-specific-participant-this-is

Delete a specific Participant. This is a soft-delete. The participant remains associated with the session and cannot be re-added. Participants are only permanently deleted when the [Session](https://www.twilio.com/docs/proxy/api/session) is

idempotent
fetch-specific-session

Fetch a specific Session.

read-only idempotent
delete-specific-session

Delete a specific Session.

idempotent
update-specific-session

Update a specific Session.

add-short-code-proxy-number

Add a Short Code to the Proxy Number Pool for the Service.

retrieve-list-all-short-codes

Retrieve a list of all Short Codes in the Proxy Number Pool for the Service. A maximum of 100 records will be returned per page.

read-only idempotent
delete-specific-short-code-service

Delete a specific Short Code from a Service.

idempotent
fetch-specific-short-code

Fetch a specific Short Code.

read-only idempotent
update-specific-short-code

Update a specific Short Code.

fetch-specific-service

Fetch a specific Service.

read-only idempotent
delete-specific-service

Delete a specific Service.

idempotent
update-specific-service

Update a specific Service.

Capability Spec

proxy-services.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Twilio - Proxy — Services
  description: 'Twilio - Proxy — Services. 30 operations. Lead operation: Services. Self-contained Naftiko capability covering
    one Twilio business surface.'
  tags:
  - Twilio
  - Services
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TWILIO_API_KEY: TWILIO_API_KEY
capability:
  consumes:
  - type: http
    namespace: proxy-services
    baseUri: https://proxy.twilio.com
    description: Twilio - Proxy — Services business capability. Self-contained, no shared references.
    resources:
    - name: v1-Services
      path: /v1/Services
      operations:
      - name: listservice
        method: GET
        description: Retrieve a list of all Services for Twilio Proxy. A maximum of 100 records will be returned per page.
        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: createservice
        method: POST
        description: Create a new Service for Twilio Proxy
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Services-ServiceSid-PhoneNumbers
      path: /v1/Services/{ServiceSid}/PhoneNumbers
      operations:
      - name: createphonenumber
        method: POST
        description: Add a Phone Number to a Service's Proxy Number Pool.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID parent [Service](https://www.twilio.com/docs/proxy/api/service) resource of the new PhoneNumber
            resource.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listphonenumber
        method: GET
        description: Retrieve a list of all Phone Numbers in the Proxy Number Pool for a Service. A maximum of 100 records
          will be returned per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resources
            to read.
          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-Services-ServiceSid-PhoneNumbers-Sid
      path: /v1/Services/{ServiceSid}/PhoneNumbers/{Sid}
      operations:
      - name: deletephonenumber
        method: DELETE
        description: Delete a specific Phone Number from a Service.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resource
            to delete.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the PhoneNumber resource to delete.
          required: true
      - name: fetchphonenumber
        method: GET
        description: Fetch a specific Phone Number.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resource
            to fetch.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the PhoneNumber resource to fetch.
          required: true
      - name: updatephonenumber
        method: POST
        description: Update a specific Proxy Number.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the PhoneNumber resource
            to update.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the PhoneNumber resource to update.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Services-ServiceSid-Sessions
      path: /v1/Services/{ServiceSid}/Sessions
      operations:
      - name: listsession
        method: GET
        description: Retrieve a list of all Sessions for the Service. A maximum of 100 records will be returned per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to read.
          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: createsession
        method: POST
        description: Create a new Session
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Services-ServiceSid-Sessions-SessionSid-Interactions
      path: /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions
      operations:
      - name: listinteraction
        method: GET
        description: Retrieve a list of all Interactions for a Session. A maximum of 100 records will be returned per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to read the resources
            from.
          required: true
        - name: SessionSid
          in: path
          type: string
          description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) to read the resources
            from.
          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-Services-ServiceSid-Sessions-SessionSid-Interactions-Sid
      path: /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Interactions/{Sid}
      operations:
      - name: fetchinteraction
        method: GET
        description: Retrieve a list of Interactions for a given [Session](https://www.twilio.com/docs/proxy/api/session).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.
          required: true
        - name: SessionSid
          in: path
          type: string
          description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to fetch.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the Interaction resource to fetch.
          required: true
      - name: deleteinteraction
        method: DELETE
        description: Delete a specific Interaction.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to delete.
          required: true
        - name: SessionSid
          in: path
          type: string
          description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to delete.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the Interaction resource to delete.
          required: true
    - name: v1-Services-ServiceSid-Sessions-SessionSid-Participants
      path: /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants
      operations:
      - name: listparticipant
        method: GET
        description: Retrieve a list of all Participants in a Session.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resources to
            read.
          required: true
        - name: SessionSid
          in: path
          type: string
          description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resources to
            read.
          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: createparticipant
        method: POST
        description: Add a new Participant to the Session
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.
          required: true
        - name: SessionSid
          in: path
          type: string
          description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) resource.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Services-ServiceSid-Sessions-SessionSid-Participants-ParticipantSid-MessageIn
      path: /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions
      operations:
      - name: createmessageinteraction
        method: POST
        description: Create a new message Interaction to send directly from your system to one [Participant](https://www.twilio.com/docs/proxy/api/participant).  The
          `inbound` properties for the Interaction will always be empty.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.
          required: true
        - name: SessionSid
          in: path
          type: string
          description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) resource.
          required: true
        - name: ParticipantSid
          in: path
          type: string
          description: The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listmessageinteraction
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to read the resources
            from.
          required: true
        - name: SessionSid
          in: path
          type: string
          description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) to read the resources
            from.
          required: true
        - name: ParticipantSid
          in: path
          type: string
          description: The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) to read the resources
            from.
          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-Services-ServiceSid-Sessions-SessionSid-Participants-ParticipantSid-MessageIn
      path: /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{ParticipantSid}/MessageInteractions/{Sid}
      operations:
      - name: fetchmessageinteraction
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.
          required: true
        - name: SessionSid
          in: path
          type: string
          description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to fetch.
          required: true
        - name: ParticipantSid
          in: path
          type: string
          description: The SID of the [Participant](https://www.twilio.com/docs/proxy/api/participant) resource.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the MessageInteraction resource to fetch.
          required: true
    - name: v1-Services-ServiceSid-Sessions-SessionSid-Participants-Sid
      path: /v1/Services/{ServiceSid}/Sessions/{SessionSid}/Participants/{Sid}
      operations:
      - name: fetchparticipant
        method: GET
        description: Fetch a specific Participant.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.
          required: true
        - name: SessionSid
          in: path
          type: string
          description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to fetch.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the Participant resource to fetch.
          required: true
      - name: deleteparticipant
        method: DELETE
        description: Delete a specific Participant. This is a soft-delete. The participant remains associated with the session
          and cannot be re-added. Participants are only permanently deleted when the [Session](https://www.twilio.com/docs/proxy/api/session)
          is
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to delete.
          required: true
        - name: SessionSid
          in: path
          type: string
          description: The SID of the parent [Session](https://www.twilio.com/docs/proxy/api/session) of the resource to delete.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the Participant resource to delete.
          required: true
    - name: v1-Services-ServiceSid-Sessions-Sid
      path: /v1/Services/{ServiceSid}/Sessions/{Sid}
      operations:
      - name: fetchsession
        method: GET
        description: Fetch a specific Session.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to fetch.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the Session resource to fetch.
          required: true
      - name: deletesession
        method: DELETE
        description: Delete a specific Session.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to delete.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the Session resource to delete.
          required: true
      - name: updatesession
        method: POST
        description: Update a specific Session.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to update.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the Session resource to update.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Services-ServiceSid-ShortCodes
      path: /v1/Services/{ServiceSid}/ShortCodes
      operations:
      - name: createshortcode
        method: POST
        description: Add a Short Code to the Proxy Number Pool for the Service.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: listshortcode
        method: GET
        description: Retrieve a list of all Short Codes in the Proxy Number Pool for the Service. A maximum of 100 records
          will be returned per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to read the resources
            from.
          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-Services-ServiceSid-ShortCodes-Sid
      path: /v1/Services/{ServiceSid}/ShortCodes/{Sid}
      operations:
      - name: deleteshortcode
        method: DELETE
        description: Delete a specific Short Code from a Service.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) resource to delete the
            ShortCode resource from.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the ShortCode resource to delete.
          required: true
      - name: fetchshortcode
        method: GET
        description: Fetch a specific Short Code.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) to fetch the resource
            from.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the ShortCode resource to fetch.
          required: true
      - name: updateshortcode
        method: POST
        description: Update a specific Short Code.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ServiceSid
          in: path
          type: string
          description: The SID of the parent [Service](https://www.twilio.com/docs/proxy/api/service) of the resource to update.
          required: true
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the ShortCode resource to update.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-Services-Sid
      path: /v1/Services/{Sid}
      operations:
      - name: fetchservice
        method: GET
        description: Fetch a specific Service.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the Service resource to fetch.
          required: true
      - name: deleteservice
        method: DELETE
        description: Delete a specific Service.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the Service resource to delete.
          required: true
      - name: updateservice
        method: POST
        description: Update a specific Service.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Sid
          in: path
          type: string
          description: The Twilio-provided string that uniquely identifies the Service resource to update.
          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: proxy-services-rest
    port: 8080
    description: REST adapter for Twilio - Proxy — Services. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/services
      name: v1-services
      description: REST surface for v1-Services.
      operations:
      - method: GET
        name: listservice
        description: Retrieve a list of all Services for Twilio Proxy. A maximum of 100 records will be returned per page.
        call: proxy-services.listservice
        with:
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createservice
        description: Create a new Service for Twilio Proxy
        call: proxy-services.createservice
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services/{servicesid}/phonenumbers
      name: v1-services-servicesid-phonenumbers
      description: REST surface for v1-Services-ServiceSid-PhoneNumbers.
      operations:
      - method: POST
        name: createphonenumber
        description: Add a Phone Number to a Service's Proxy Number Pool.
        call: proxy-services.createphonenumber
        with:
          ServiceSid: rest.ServiceSid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listphonenumber
        description: Retrieve a list of all Phone Numbers in the Proxy Number Pool for a Service. A maximum of 100 records
          will be returned per page.
        call: proxy-services.listphonenumber
        with:
          ServiceSid: rest.ServiceSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services/{servicesid}/phonenumbers/{sid}
      name: v1-services-servicesid-phonenumbers-sid
      description: REST surface for v1-Services-ServiceSid-PhoneNumbers-Sid.
      operations:
      - method: DELETE
        name: deletephonenumber
        description: Delete a specific Phone Number from a Service.
        call: proxy-services.deletephonenumber
        with:
          ServiceSid: rest.ServiceSid
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: fetchphonenumber
        description: Fetch a specific Phone Number.
        call: proxy-services.fetchphonenumber
        with:
          ServiceSid: rest.ServiceSid
          Sid: rest.Sid
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatephonenumber
        description: Update a specific Proxy Number.
        call: proxy-services.updatephonenumber
        with:
          ServiceSid: rest.ServiceSid
          Sid: rest.Sid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services/{servicesid}/sessions
      name: v1-services-servicesid-sessions
      description: REST surface for v1-Services-ServiceSid-Sessions.
      operations:
      - method: GET
        name: listsession
        description: Retrieve a list of all Sessions for the Service. A maximum of 100 records will be returned per page.
        call: proxy-services.listsession
        with:
          ServiceSid: rest.ServiceSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsession
        description: Create a new Session
        call: proxy-services.createsession
        with:
          ServiceSid: rest.ServiceSid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services/{servicesid}/sessions/{sessionsid}/interactions
      name: v1-services-servicesid-sessions-sessionsid-interactions
      description: REST surface for v1-Services-ServiceSid-Sessions-SessionSid-Interactions.
      operations:
      - method: GET
        name: listinteraction
        description: Retrieve a list of all Interactions for a Session. A maximum of 100 records will be returned per page.
        call: proxy-services.listinteraction
        with:
          ServiceSid: rest.ServiceSid
          SessionSid: rest.SessionSid
          PageSize: rest.PageSize
          Page: rest.Page
          PageToken: rest.PageToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/services/{servicesid}/sessions/{sessionsid}/interactions/{sid}
      name: v1-services-servicesid-sessions-sessionsid-interactions-sid
      description: REST surface for v1-Services-ServiceSid-Sessions-SessionSid-Interactions-Sid.
      operations:
      - method: GET
        name: fetchinteraction
        description: Retrieve a list of Interactio

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