generated: '2026-07-15' method: generated source: openapi/red5-brew-mixer-api-openapi.yml, openapi/red5-restreamer-api-openapi.yml, openapi/red5-server-api-openapi.yml, openapi/red5-stream-manager-2-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: 35 by_action_class: connected: 17 acting: 18 by_consequence: read: 17 write: 10 physical: 7 safety-critical: 1 human_in_the_loop_required: 1 operations: - path: /brewmixer/2.0/mixers method: get operationId: listMixers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /brewmixer/2.0/mixers method: post operationId: createMixer 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: /brewmixer/2.0/mixers/{mixerId} method: get operationId: getMixer x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /brewmixer/2.0/mixers/{mixerId} method: delete operationId: deleteMixer 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: /brewmixer/2.0/mixers/{mixerId}/inputs method: get operationId: listMixerInputs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /brewmixer/2.0/mixers/{mixerId}/inputs method: post operationId: addMixerInput 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: /brewmixer/2.0/mixers/{mixerId}/inputs/{inputId} method: put operationId: updateMixerInput 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: /brewmixer/2.0/mixers/{mixerId}/inputs/{inputId} method: delete operationId: removeMixerInput 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: /brewmixer/2.0/images method: post operationId: addImageOverlay 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: /brewmixer/2.0/images/{imageId} method: delete operationId: removeImageOverlay 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: /restreamer/provision.create method: post operationId: createRtmpProvision 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: /restreamer/provision.delete method: post operationId: deleteRtmpProvision 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: /restreamer/provision.pull.create method: post operationId: createRtmpPullProvision 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: /filerestreamer/provision.create method: post operationId: createFileRestreamProvision 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: /filerestreamer/provision.delete method: post operationId: deleteFileRestreamProvision 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: /restreamer/config method: get operationId: getRestreamConfig x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /server method: get operationId: getServerInfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /server/ping method: get operationId: pingServer x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /applications method: get operationId: listApplications x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /applications/{appName} method: get operationId: getApplication x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /applications/{appName}/streams method: get operationId: listStreams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /applications/{appName}/streams/{streamName} method: get operationId: getStream x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /applications/{appName}/streams/{streamName}/action/startrecord method: post operationId: startStreamRecording 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: /applications/{appName}/streams/{streamName}/action/stoprecord method: post operationId: stopStreamRecording 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: /logs method: get operationId: getServerLogs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streams/stream/{nodeGroupName}/publish/{streamGuid} method: get operationId: getPublishStreamEndpoint x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streams/stream/{nodeGroupName}/subscribe/{streamGuid} method: get operationId: getSubscribeStreamEndpoint x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streams/provision/{nodeGroupName}/{streamGuid} method: get operationId: getStreamProvision x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /streams/provision/{nodeGroupName}/{streamGuid} method: post operationId: createStreamProvision 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: /streams/provision/{nodeGroupName}/{streamGuid} method: delete operationId: deleteStreamProvision 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: /admin/nodegroups method: get operationId: listNodeGroups x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /admin/nodegroups/{nodeGroupName}/nodes method: get operationId: listNodes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /admin/system method: get operationId: getSystemInfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /proxy/whip/{nodeGroupName}/{streamGuid} method: post operationId: whipPublish 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: /proxy/whep/{nodeGroupName}/{streamGuid} method: post operationId: whepSubscribe 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