generated: '2026-07-15' method: generated source: openapi/100ms-live-server-side-api-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 63 by_action_class: connected: 29 acting: 34 by_consequence: read: 29 write: 24 safety-critical: 8 physical: 2 human_in_the_loop_required: 8 operations: - path: /rooms method: get operationId: listRooms x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rooms method: post operationId: createRoom x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /rooms/{room_id} method: get operationId: retrieveRoom x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rooms/{room_id} method: post operationId: updateRoom x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /rooms/{room_id}/enabled method: post operationId: setRoomEnabled x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /active-rooms/{room_id} method: get operationId: retrieveActiveRoom x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /active-rooms/{room_id}/end-room method: post operationId: endActiveRoom x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /active-rooms/{room_id}/peers method: get operationId: listPeers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /active-rooms/{room_id}/peers/{peer_id} method: get operationId: retrievePeer x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /active-rooms/{room_id}/peers/{peer_id} method: post operationId: updatePeer x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /active-rooms/{room_id}/remove-peers method: post operationId: removePeers x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /active-rooms/{room_id}/send-message method: post operationId: sendMessage x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /sessions method: get operationId: listSessions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sessions/{session_id} method: get operationId: retrieveSession x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /templates method: get operationId: listTemplates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /templates method: post operationId: createTemplate x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /templates/{template_id} method: get operationId: retrieveTemplate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /templates/{template_id} method: post operationId: updateTemplate x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /templates/{template_id}/roles/{role_name} method: get operationId: retrieveRole x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /templates/{template_id}/roles/{role_name} method: post operationId: upsertRole x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /templates/{template_id}/roles/{role_name} method: delete operationId: deleteRole x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /templates/{template_id}/destinations method: get operationId: retrieveDestinations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /templates/{template_id}/destinations method: post operationId: updateDestinations x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /templates/{template_id}/settings method: get operationId: retrieveSettings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /templates/{template_id}/settings method: post operationId: updateSettings x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /recordings method: get operationId: listRecordings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /recordings/{recording_id} method: get operationId: getRecording x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /recordings/room/{room_id}/start method: post operationId: startRecordingForRoom x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /recordings/room/{room_id}/stop method: post operationId: stopRecordingForRoom x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /recordings/{recording_id}/stop method: post operationId: stopRecordingById x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /recordings/room/{room_id}/pause method: post operationId: pauseRecording x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /recordings/room/{room_id}/resume method: post operationId: resumeRecording x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /recording-assets method: get operationId: listRecordingAssets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /recording-assets/{asset_id} method: get operationId: getRecordingAsset x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /recording-assets/{asset_id}/presigned-url method: get operationId: getRecordingAssetPresignedUrl x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /live-streams method: get operationId: listLiveStreams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /live-streams/{stream_id} method: get operationId: getLiveStream x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /live-streams/room/{room_id}/start method: post operationId: startLiveStreamForRoom x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /live-streams/room/{room_id}/stop method: post operationId: stopLiveStreamForRoom x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /live-streams/{stream_id}/stop method: post operationId: stopLiveStreamById x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /live-streams/{stream_id}/pause-recording method: post operationId: pauseLiveStreamRecording x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /live-streams/{stream_id}/resume-recording method: post operationId: resumeLiveStreamRecording x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /live-streams/{stream_id}/timed-metadata method: post operationId: sendTimedMetadata x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /external-streams method: get operationId: listExternalStreams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /external-streams/{stream_id} method: get operationId: getExternalStream x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /external-streams/room/{room_id}/start method: post operationId: startExternalStreamForRoom x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /external-streams/room/{room_id}/stop method: post operationId: stopExternalStreamForRoom x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /external-streams/{stream_id}/stop method: post operationId: stopExternalStreamById x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /stream-keys/room/{room_id} method: get operationId: getRtmpStreamKey x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stream-keys/room/{room_id} method: post operationId: createRtmpStreamKey x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /stream-keys/room/{room_id} method: delete operationId: disableRtmpStreamKey x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /room-codes/room/{room_id} method: post operationId: createRoomCodes x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /room-codes/room/{room_id} method: get operationId: getRoomCodes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /room-codes/code/{code} method: post operationId: updateRoomCode x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /polls method: post operationId: createOrUpdatePoll x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /polls/{poll_id} method: get operationId: getPoll x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /polls/room/{room_id}/link method: post operationId: linkPollWithRoom x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /analytics/events method: get operationId: listWebhookEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /analytics/events/replay method: post operationId: replayWebhookEvents x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /analytics/track-events method: get operationId: listTrackEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /analytics/recording-events method: get operationId: listRecordingEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /analytics/error-events method: get operationId: listErrorEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /analytics/peer-quality method: get operationId: getPeerQualityStats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none