generated: '2026-07-15' method: generated source: openapi/fastpix-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: 42 by_action_class: acting: 21 connected: 21 by_consequence: write: 20 read: 21 safety-critical: 1 human_in_the_loop_required: 1 operations: - path: /on-demand method: post operationId: createMedia 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: /on-demand method: get operationId: listMedia x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /on-demand/upload method: post operationId: createUpload 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: /on-demand/uploads method: get operationId: listUploads x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /on-demand/upload/{uploadId} method: put operationId: cancelUpload 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: /on-demand/{mediaId} method: get operationId: getMedia x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /on-demand/{mediaId} method: patch operationId: updateMedia 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: /on-demand/{mediaId} method: delete operationId: deleteMedia 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: /on-demand/{mediaId}/media-clips method: get operationId: listMediaClips x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /on-demand/{mediaId}/source method: patch operationId: updateSourceAccess 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: /on-demand/{mediaId}/update-mp4Support method: patch operationId: updateMp4Support 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: /on-demand/{mediaId}/tracks method: post operationId: addMediaTrack 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: /on-demand/{mediaId}/tracks/{trackId} method: patch operationId: updateMediaTrack 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: /on-demand/{mediaId}/tracks/{trackId} method: delete operationId: deleteMediaTrack 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: /on-demand/{mediaId}/tracks/{trackId}/generate-subtitle method: post operationId: generateSubtitleTrack 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 method: post operationId: createStream 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 method: get operationId: listStreams x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /live/streams/{streamId} method: get operationId: getStream x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /live/streams/{streamId} method: patch operationId: updateStream 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/{streamId} method: delete operationId: deleteStream 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/{streamId}/live-clips method: get operationId: listLiveClips x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /live/streams/{streamId}/playback-ids method: post operationId: createStreamPlaybackId 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/{streamId}/playback-ids/{playbackId} method: get operationId: getStreamPlaybackId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /live/streams/{streamId}/playback-ids/{playbackId} method: delete operationId: deleteStreamPlaybackId 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/{streamId}/simulcast method: post operationId: createSimulcast 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/{streamId}/simulcast/{simulcastId} method: get operationId: getSimulcast x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /live/streams/{streamId}/simulcast/{simulcastId} method: patch operationId: updateSimulcast 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/{streamId}/simulcast/{simulcastId} method: delete operationId: deleteSimulcast 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: /security/signing-keys method: post operationId: createSigningKey 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: /security/signing-keys method: get operationId: listSigningKeys x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /security/signing-keys/{signingKeyId} method: get operationId: getSigningKey x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /security/signing-keys/{signingKeyId} method: delete operationId: deleteSigningKey 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: /on-demand/drm-configurations method: get operationId: listDrmConfigurations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /on-demand/drm-configurations/{drmConfigurationId} method: get operationId: getDrmConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/dimensions method: get operationId: listDimensions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/dimensions/{dimensionId} method: get operationId: listDimensionValues x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/views method: get operationId: listVideoViews x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/views/{viewId} method: get operationId: getVideoView x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/errors method: get operationId: listErrors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/metrics/timeseries/{metricId} method: get operationId: getTimeseriesData x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/metrics/breakdown/{metricId} method: get operationId: getMetricBreakdown x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /data/metrics/overall/{metricId} method: get operationId: getOverallMetric x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none