Twilio · Capability

Twilio Messaging API — Messages

Twilio Messaging API — Messages. 5 operations. Lead operation: Twilio List Messages. Self-contained Naftiko capability covering one Twilio business surface.

Run with Naftiko TwilioMessages

What You Can Do

GET
Listmessages — Twilio List Messages
/v1/accounts/{accountsid}/messages-json
POST
Createmessage — Twilio Send a Message
/v1/accounts/{accountsid}/messages-json
GET
Fetchmessage — Twilio Fetch a Message
/v1/accounts/{accountsid}/messages/messagesid-json
POST
Updatemessage — Twilio Update a Message
/v1/accounts/{accountsid}/messages/messagesid-json
DELETE
Deletemessage — Twilio Delete a Message
/v1/accounts/{accountsid}/messages/messagesid-json

MCP Tools

twilio-list-messages

Twilio List Messages

read-only idempotent
twilio-send-message

Twilio Send a Message

twilio-fetch-message

Twilio Fetch a Message

read-only idempotent
twilio-update-message

Twilio Update a Message

twilio-delete-message

Twilio Delete a Message

idempotent

Capability Spec

messaging-messages.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Twilio Messaging API — Messages
  description: 'Twilio Messaging API — Messages. 5 operations. Lead operation: Twilio List Messages. Self-contained Naftiko
    capability covering one Twilio business surface.'
  tags:
  - Twilio
  - Messages
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TWILIO_API_KEY: TWILIO_API_KEY
capability:
  consumes:
  - type: http
    namespace: messaging-messages
    baseUri: https://api.twilio.com/2010-04-01
    description: Twilio Messaging API — Messages business capability. Self-contained, no shared references.
    resources:
    - name: Accounts-AccountSid-Messages.json
      path: /Accounts/{AccountSid}/Messages.json
      operations:
      - name: listmessages
        method: GET
        description: Twilio List Messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: To
          in: query
          type: string
          description: Filter by recipient phone number
        - name: From
          in: query
          type: string
          description: Filter by sender phone number
        - name: DateSent
          in: query
          type: string
          description: Filter by date sent (YYYY-MM-DD)
        - name: PageSize
          in: query
          type: integer
          description: Number of records to return per page (max 1000)
        - name: Page
          in: query
          type: integer
          description: Page number to retrieve
      - name: createmessage
        method: POST
        description: Twilio Send a Message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: Accounts-AccountSid-Messages-MessageSid}.json
      path: /Accounts/{AccountSid}/Messages/{MessageSid}.json
      operations:
      - name: fetchmessage
        method: GET
        description: Twilio Fetch a Message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatemessage
        method: POST
        description: Twilio Update a Message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletemessage
        method: DELETE
        description: Twilio Delete a Message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: basic
      username: '{{env.TWILIO_USER}}'
      password: '{{env.TWILIO_PASS}}'
  exposes:
  - type: rest
    namespace: messaging-messages-rest
    port: 8080
    description: REST adapter for Twilio Messaging API — Messages. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/accounts/{accountsid}/messages-json
      name: accounts-accountsid-messages-json
      description: REST surface for Accounts-AccountSid-Messages.json.
      operations:
      - method: GET
        name: listmessages
        description: Twilio List Messages
        call: messaging-messages.listmessages
        with:
          To: rest.To
          From: rest.From
          DateSent: rest.DateSent
          PageSize: rest.PageSize
          Page: rest.Page
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createmessage
        description: Twilio Send a Message
        call: messaging-messages.createmessage
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/accounts/{accountsid}/messages/messagesid-json
      name: accounts-accountsid-messages-messagesid-json
      description: REST surface for Accounts-AccountSid-Messages-MessageSid}.json.
      operations:
      - method: GET
        name: fetchmessage
        description: Twilio Fetch a Message
        call: messaging-messages.fetchmessage
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatemessage
        description: Twilio Update a Message
        call: messaging-messages.updatemessage
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletemessage
        description: Twilio Delete a Message
        call: messaging-messages.deletemessage
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: messaging-messages-mcp
    port: 9090
    transport: http
    description: MCP adapter for Twilio Messaging API — Messages. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: twilio-list-messages
      description: Twilio List Messages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: messaging-messages.listmessages
      with:
        To: tools.To
        From: tools.From
        DateSent: tools.DateSent
        PageSize: tools.PageSize
        Page: tools.Page
      outputParameters:
      - type: object
        mapping: $.
    - name: twilio-send-message
      description: Twilio Send a Message
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: messaging-messages.createmessage
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: twilio-fetch-message
      description: Twilio Fetch a Message
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: messaging-messages.fetchmessage
      outputParameters:
      - type: object
        mapping: $.
    - name: twilio-update-message
      description: Twilio Update a Message
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: messaging-messages.updatemessage
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: twilio-delete-message
      description: Twilio Delete a Message
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: messaging-messages.deletemessage
      outputParameters:
      - type: object
        mapping: $.