naftiko: 1.0.0-alpha2 info: label: Twilio Messaging API — Media description: 'Twilio Messaging API — Media. 3 operations. Lead operation: Twilio List Media for a Message. Self-contained Naftiko capability covering one Twilio business surface.' tags: - Twilio - Media created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TWILIO_API_KEY: TWILIO_API_KEY capability: consumes: - type: http namespace: messaging-media baseUri: https://api.twilio.com/2010-04-01 description: Twilio Messaging API — Media business capability. Self-contained, no shared references. resources: - name: Accounts-AccountSid-Messages-MessageSid-Media.json path: /Accounts/{AccountSid}/Messages/{MessageSid}/Media.json operations: - name: listmedia method: GET description: Twilio List Media for a Message outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: PageSize in: query type: integer - name: Accounts-AccountSid-Messages-MessageSid-Media-MediaSid}.json path: /Accounts/{AccountSid}/Messages/{MessageSid}/Media/{MediaSid}.json operations: - name: fetchmedia method: GET description: Twilio Fetch a Media Resource outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: MediaSid in: path type: string required: true - name: deletemedia method: DELETE description: Twilio Delete a Media Resource outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: MediaSid in: path type: string required: true authentication: type: basic username: '{{env.TWILIO_USER}}' password: '{{env.TWILIO_PASS}}' exposes: - type: rest namespace: messaging-media-rest port: 8080 description: REST adapter for Twilio Messaging API — Media. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/accounts/{accountsid}/messages/{messagesid}/media-json name: accounts-accountsid-messages-messagesid-media-json description: REST surface for Accounts-AccountSid-Messages-MessageSid-Media.json. operations: - method: GET name: listmedia description: Twilio List Media for a Message call: messaging-media.listmedia with: PageSize: rest.PageSize outputParameters: - type: object mapping: $. - path: /v1/accounts/{accountsid}/messages/{messagesid}/media/mediasid-json name: accounts-accountsid-messages-messagesid-media-mediasid-json description: REST surface for Accounts-AccountSid-Messages-MessageSid-Media-MediaSid}.json. operations: - method: GET name: fetchmedia description: Twilio Fetch a Media Resource call: messaging-media.fetchmedia with: MediaSid: rest.MediaSid outputParameters: - type: object mapping: $. - method: DELETE name: deletemedia description: Twilio Delete a Media Resource call: messaging-media.deletemedia with: MediaSid: rest.MediaSid outputParameters: - type: object mapping: $. - type: mcp namespace: messaging-media-mcp port: 9090 transport: http description: MCP adapter for Twilio Messaging API — Media. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: twilio-list-media-message description: Twilio List Media for a Message hints: readOnly: true destructive: false idempotent: true call: messaging-media.listmedia with: PageSize: tools.PageSize outputParameters: - type: object mapping: $. - name: twilio-fetch-media-resource description: Twilio Fetch a Media Resource hints: readOnly: true destructive: false idempotent: true call: messaging-media.fetchmedia with: MediaSid: tools.MediaSid outputParameters: - type: object mapping: $. - name: twilio-delete-media-resource description: Twilio Delete a Media Resource hints: readOnly: false destructive: true idempotent: true call: messaging-media.deletemedia with: MediaSid: tools.MediaSid outputParameters: - type: object mapping: $.