naftiko: 1.0.0-alpha2 info: label: Telnyx API — Room Sessions description: 'Telnyx API — Room Sessions. 7 operations. Lead operation: View a list of room sessions.. Self-contained Naftiko capability covering one Telnyx business surface.' tags: - Telnyx - Room Sessions created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TELNYX_API_KEY: TELNYX_API_KEY capability: consumes: - type: http namespace: telnyx-room-sessions baseUri: https://api.telnyx.com/v2 description: Telnyx API — Room Sessions business capability. Self-contained, no shared references. resources: - name: room_sessions path: /room_sessions operations: - name: listroomsessions method: GET description: View a list of room sessions. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: include_participants in: query type: boolean description: To decide if room participants should be included in the response. - name: filter in: query type: object description: 'Consolidated filter parameter (deepObject style). Originally: filter[date_created_at][eq], filter[date_created_at][gte], filter[date_created_at][lte], filter[da' - name: room_sessions-room_session_id path: /room_sessions/{room_session_id} operations: - name: viewroomsession method: GET description: View a room session. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: room_session_id in: path type: string description: The unique identifier of a room session. required: true - name: include_participants in: query type: boolean description: To decide if room participants should be included in the response. - name: room_sessions-room_session_id-actions-end path: /room_sessions/{room_session_id}/actions/end operations: - name: endsession method: POST description: End a room session. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: room_session_id in: path type: string description: The unique identifier of a room session. required: true - name: room_sessions-room_session_id-actions-kick path: /room_sessions/{room_session_id}/actions/kick operations: - name: kickparticipantinsession method: POST description: Kick participants from a room session. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: room_session_id in: path type: string description: The unique identifier of a room session. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: room_sessions-room_session_id-actions-mute path: /room_sessions/{room_session_id}/actions/mute operations: - name: muteparticipantinsession method: POST description: Mute participants in room session. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: room_session_id in: path type: string description: The unique identifier of a room session. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: room_sessions-room_session_id-actions-unmute path: /room_sessions/{room_session_id}/actions/unmute operations: - name: unmuteparticipantinsession method: POST description: Unmute participants in room session. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: room_session_id in: path type: string description: The unique identifier of a room session. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: room_sessions-room_session_id-participants path: /room_sessions/{room_session_id}/participants operations: - name: retrievelistroomparticipants method: GET description: View a list of room participants. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: room_session_id in: path type: string description: The unique identifier of a room session. required: true - name: filter in: query type: object description: 'Consolidated filter parameter (deepObject style). Originally: filter[date_joined_at][eq], filter[date_joined_at][gte], filter[date_joined_at][lte], filter[date_' authentication: type: bearer token: '{{env.TELNYX_API_KEY}}' exposes: - type: rest namespace: telnyx-room-sessions-rest port: 8080 description: REST adapter for Telnyx API — Room Sessions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/room-sessions name: room-sessions description: REST surface for room_sessions. operations: - method: GET name: listroomsessions description: View a list of room sessions. call: telnyx-room-sessions.listroomsessions with: include_participants: rest.include_participants filter: rest.filter outputParameters: - type: object mapping: $. - path: /v1/room-sessions/{room-session-id} name: room-sessions-room-session-id description: REST surface for room_sessions-room_session_id. operations: - method: GET name: viewroomsession description: View a room session. call: telnyx-room-sessions.viewroomsession with: room_session_id: rest.room_session_id include_participants: rest.include_participants outputParameters: - type: object mapping: $. - path: /v1/room-sessions/{room-session-id}/actions/end name: room-sessions-room-session-id-actions-end description: REST surface for room_sessions-room_session_id-actions-end. operations: - method: POST name: endsession description: End a room session. call: telnyx-room-sessions.endsession with: room_session_id: rest.room_session_id outputParameters: - type: object mapping: $. - path: /v1/room-sessions/{room-session-id}/actions/kick name: room-sessions-room-session-id-actions-kick description: REST surface for room_sessions-room_session_id-actions-kick. operations: - method: POST name: kickparticipantinsession description: Kick participants from a room session. call: telnyx-room-sessions.kickparticipantinsession with: room_session_id: rest.room_session_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/room-sessions/{room-session-id}/actions/mute name: room-sessions-room-session-id-actions-mute description: REST surface for room_sessions-room_session_id-actions-mute. operations: - method: POST name: muteparticipantinsession description: Mute participants in room session. call: telnyx-room-sessions.muteparticipantinsession with: room_session_id: rest.room_session_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/room-sessions/{room-session-id}/actions/unmute name: room-sessions-room-session-id-actions-unmute description: REST surface for room_sessions-room_session_id-actions-unmute. operations: - method: POST name: unmuteparticipantinsession description: Unmute participants in room session. call: telnyx-room-sessions.unmuteparticipantinsession with: room_session_id: rest.room_session_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/room-sessions/{room-session-id}/participants name: room-sessions-room-session-id-participants description: REST surface for room_sessions-room_session_id-participants. operations: - method: GET name: retrievelistroomparticipants description: View a list of room participants. call: telnyx-room-sessions.retrievelistroomparticipants with: room_session_id: rest.room_session_id filter: rest.filter outputParameters: - type: object mapping: $. - type: mcp namespace: telnyx-room-sessions-mcp port: 9090 transport: http description: MCP adapter for Telnyx API — Room Sessions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: view-list-room-sessions description: View a list of room sessions. hints: readOnly: true destructive: false idempotent: true call: telnyx-room-sessions.listroomsessions with: include_participants: tools.include_participants filter: tools.filter outputParameters: - type: object mapping: $. - name: view-room-session description: View a room session. hints: readOnly: true destructive: false idempotent: true call: telnyx-room-sessions.viewroomsession with: room_session_id: tools.room_session_id include_participants: tools.include_participants outputParameters: - type: object mapping: $. - name: end-room-session description: End a room session. hints: readOnly: false destructive: false idempotent: false call: telnyx-room-sessions.endsession with: room_session_id: tools.room_session_id outputParameters: - type: object mapping: $. - name: kick-participants-room-session description: Kick participants from a room session. hints: readOnly: false destructive: false idempotent: false call: telnyx-room-sessions.kickparticipantinsession with: room_session_id: tools.room_session_id body: tools.body outputParameters: - type: object mapping: $. - name: mute-participants-room-session description: Mute participants in room session. hints: readOnly: false destructive: false idempotent: false call: telnyx-room-sessions.muteparticipantinsession with: room_session_id: tools.room_session_id body: tools.body outputParameters: - type: object mapping: $. - name: unmute-participants-room-session description: Unmute participants in room session. hints: readOnly: false destructive: false idempotent: false call: telnyx-room-sessions.unmuteparticipantinsession with: room_session_id: tools.room_session_id body: tools.body outputParameters: - type: object mapping: $. - name: view-list-room-participants description: View a list of room participants. hints: readOnly: true destructive: false idempotent: true call: telnyx-room-sessions.retrievelistroomparticipants with: room_session_id: tools.room_session_id filter: tools.filter outputParameters: - type: object mapping: $.