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: $.