naftiko: 1.0.0-alpha2 info: label: Twilio - Insights — Video description: 'Twilio - Insights — Video. 4 operations. Lead operation: Video. Self-contained Naftiko capability covering one Twilio business surface.' tags: - Twilio - Video created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TWILIO_API_KEY: TWILIO_API_KEY capability: consumes: - type: http namespace: insights-video baseUri: https://insights.twilio.com description: Twilio - Insights — Video business capability. Self-contained, no shared references. resources: - name: v1-Video-Rooms path: /v1/Video/Rooms operations: - name: listvideoroomsummary method: GET description: Get a list of Programmable Video Rooms. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: RoomType in: query type: array description: Type of room. Can be `go`, `peer_to_peer`, `group`, or `group_small`. - name: Codec in: query type: array description: Codecs used by participants in the room. Can be `VP8`, `H264`, or `VP9`. - name: RoomName in: query type: string description: Room friendly name. - name: CreatedAfter in: query type: string description: Only read rooms that started on or after this ISO 8601 timestamp. - name: CreatedBefore in: query type: string description: Only read rooms that started before this ISO 8601 timestamp. - 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-Video-Rooms-RoomSid path: /v1/Video/Rooms/{RoomSid} operations: - name: fetchvideoroomsummary method: GET description: Get Video Log Analyzer data for a Room. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: RoomSid in: path type: string description: The SID of the Room resource. required: true - name: v1-Video-Rooms-RoomSid-Participants path: /v1/Video/Rooms/{RoomSid}/Participants operations: - name: listvideoparticipantsummary method: GET description: Get a list of room participants. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: RoomSid in: path type: string description: The SID of the Room resource. 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-Video-Rooms-RoomSid-Participants-ParticipantSid path: /v1/Video/Rooms/{RoomSid}/Participants/{ParticipantSid} operations: - name: fetchvideoparticipantsummary method: GET description: Get Video Log Analyzer data for a Room Participant. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: RoomSid in: path type: string description: The SID of the Room resource. required: true - name: ParticipantSid in: path type: string description: The SID of the Participant resource. required: true authentication: type: basic username: '{{env.TWILIO_USER}}' password: '{{env.TWILIO_PASS}}' exposes: - type: rest namespace: insights-video-rest port: 8080 description: REST adapter for Twilio - Insights — Video. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/video/rooms name: v1-video-rooms description: REST surface for v1-Video-Rooms. operations: - method: GET name: listvideoroomsummary description: Get a list of Programmable Video Rooms. call: insights-video.listvideoroomsummary with: RoomType: rest.RoomType Codec: rest.Codec RoomName: rest.RoomName CreatedAfter: rest.CreatedAfter CreatedBefore: rest.CreatedBefore PageSize: rest.PageSize Page: rest.Page PageToken: rest.PageToken outputParameters: - type: object mapping: $. - path: /v1/v1/video/rooms/{roomsid} name: v1-video-rooms-roomsid description: REST surface for v1-Video-Rooms-RoomSid. operations: - method: GET name: fetchvideoroomsummary description: Get Video Log Analyzer data for a Room. call: insights-video.fetchvideoroomsummary with: RoomSid: rest.RoomSid outputParameters: - type: object mapping: $. - path: /v1/v1/video/rooms/{roomsid}/participants name: v1-video-rooms-roomsid-participants description: REST surface for v1-Video-Rooms-RoomSid-Participants. operations: - method: GET name: listvideoparticipantsummary description: Get a list of room participants. call: insights-video.listvideoparticipantsummary with: RoomSid: rest.RoomSid PageSize: rest.PageSize Page: rest.Page PageToken: rest.PageToken outputParameters: - type: object mapping: $. - path: /v1/v1/video/rooms/{roomsid}/participants/{participantsid} name: v1-video-rooms-roomsid-participants-participantsid description: REST surface for v1-Video-Rooms-RoomSid-Participants-ParticipantSid. operations: - method: GET name: fetchvideoparticipantsummary description: Get Video Log Analyzer data for a Room Participant. call: insights-video.fetchvideoparticipantsummary with: RoomSid: rest.RoomSid ParticipantSid: rest.ParticipantSid outputParameters: - type: object mapping: $. - type: mcp namespace: insights-video-mcp port: 9090 transport: http description: MCP adapter for Twilio - Insights — Video. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-list-programmable-video-rooms description: Get a list of Programmable Video Rooms. hints: readOnly: true destructive: false idempotent: true call: insights-video.listvideoroomsummary with: RoomType: tools.RoomType Codec: tools.Codec RoomName: tools.RoomName CreatedAfter: tools.CreatedAfter CreatedBefore: tools.CreatedBefore PageSize: tools.PageSize Page: tools.Page PageToken: tools.PageToken outputParameters: - type: object mapping: $. - name: get-video-log-analyzer-data description: Get Video Log Analyzer data for a Room. hints: readOnly: true destructive: false idempotent: true call: insights-video.fetchvideoroomsummary with: RoomSid: tools.RoomSid outputParameters: - type: object mapping: $. - name: get-list-room-participants description: Get a list of room participants. hints: readOnly: true destructive: false idempotent: true call: insights-video.listvideoparticipantsummary with: RoomSid: tools.RoomSid PageSize: tools.PageSize Page: tools.Page PageToken: tools.PageToken outputParameters: - type: object mapping: $. - name: get-video-log-analyzer-data-2 description: Get Video Log Analyzer data for a Room Participant. hints: readOnly: true destructive: false idempotent: true call: insights-video.fetchvideoparticipantsummary with: RoomSid: tools.RoomSid ParticipantSid: tools.ParticipantSid outputParameters: - type: object mapping: $.