naftiko: 1.0.0-alpha2 info: label: Twilio Video API — Participants description: 'Twilio Video API — Participants. 6 operations. Lead operation: Twilio List Room Participants. Self-contained Naftiko capability covering one Twilio business surface.' tags: - Twilio - Participants created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TWILIO_API_KEY: TWILIO_API_KEY capability: consumes: - type: http namespace: video-participants baseUri: https://video.twilio.com/v1 description: Twilio Video API — Participants business capability. Self-contained, no shared references. resources: - name: Rooms-RoomSid-Participants path: /Rooms/{RoomSid}/Participants operations: - name: listparticipants method: GET description: Twilio List Room Participants outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Status in: query type: string - name: Identity in: query type: string - name: PageSize in: query type: integer - name: Rooms-RoomSid-Participants-ParticipantSid path: /Rooms/{RoomSid}/Participants/{ParticipantSid} operations: - name: fetchparticipant method: GET description: Twilio Fetch a Participant outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateparticipant method: POST description: Twilio Disconnect a Participant outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: Rooms-RoomSid-Participants-ParticipantSid-PublishedTracks path: /Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks operations: - name: listpublishedtracks method: GET description: Twilio List Published Tracks outputRawFormat: json outputParameters: - name: result type: object value: $. - name: Rooms-RoomSid-Participants-ParticipantSid-SubscribeRules path: /Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribeRules operations: - name: fetchsubscriberules method: GET description: Twilio Fetch Subscribe Rules outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatesubscriberules method: POST description: Twilio Update Subscribe Rules outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: basic username: '{{env.TWILIO_USER}}' password: '{{env.TWILIO_PASS}}' exposes: - type: rest namespace: video-participants-rest port: 8080 description: REST adapter for Twilio Video API — Participants. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/rooms/{roomsid}/participants name: rooms-roomsid-participants description: REST surface for Rooms-RoomSid-Participants. operations: - method: GET name: listparticipants description: Twilio List Room Participants call: video-participants.listparticipants with: Status: rest.Status Identity: rest.Identity PageSize: rest.PageSize outputParameters: - type: object mapping: $. - path: /v1/rooms/{roomsid}/participants/{participantsid} name: rooms-roomsid-participants-participantsid description: REST surface for Rooms-RoomSid-Participants-ParticipantSid. operations: - method: GET name: fetchparticipant description: Twilio Fetch a Participant call: video-participants.fetchparticipant outputParameters: - type: object mapping: $. - method: POST name: updateparticipant description: Twilio Disconnect a Participant call: video-participants.updateparticipant with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/rooms/{roomsid}/participants/{participantsid}/publishedtracks name: rooms-roomsid-participants-participantsid-publishedtracks description: REST surface for Rooms-RoomSid-Participants-ParticipantSid-PublishedTracks. operations: - method: GET name: listpublishedtracks description: Twilio List Published Tracks call: video-participants.listpublishedtracks outputParameters: - type: object mapping: $. - path: /v1/rooms/{roomsid}/participants/{participantsid}/subscriberules name: rooms-roomsid-participants-participantsid-subscriberules description: REST surface for Rooms-RoomSid-Participants-ParticipantSid-SubscribeRules. operations: - method: GET name: fetchsubscriberules description: Twilio Fetch Subscribe Rules call: video-participants.fetchsubscriberules outputParameters: - type: object mapping: $. - method: POST name: updatesubscriberules description: Twilio Update Subscribe Rules call: video-participants.updatesubscriberules with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: video-participants-mcp port: 9090 transport: http description: MCP adapter for Twilio Video API — Participants. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: twilio-list-room-participants description: Twilio List Room Participants hints: readOnly: true destructive: false idempotent: true call: video-participants.listparticipants with: Status: tools.Status Identity: tools.Identity PageSize: tools.PageSize outputParameters: - type: object mapping: $. - name: twilio-fetch-participant description: Twilio Fetch a Participant hints: readOnly: true destructive: false idempotent: true call: video-participants.fetchparticipant outputParameters: - type: object mapping: $. - name: twilio-disconnect-participant description: Twilio Disconnect a Participant hints: readOnly: false destructive: false idempotent: false call: video-participants.updateparticipant with: body: tools.body outputParameters: - type: object mapping: $. - name: twilio-list-published-tracks description: Twilio List Published Tracks hints: readOnly: true destructive: false idempotent: true call: video-participants.listpublishedtracks outputParameters: - type: object mapping: $. - name: twilio-fetch-subscribe-rules description: Twilio Fetch Subscribe Rules hints: readOnly: true destructive: false idempotent: true call: video-participants.fetchsubscriberules outputParameters: - type: object mapping: $. - name: twilio-update-subscribe-rules description: Twilio Update Subscribe Rules hints: readOnly: false destructive: false idempotent: false call: video-participants.updatesubscriberules with: body: tools.body outputParameters: - type: object mapping: $.