Brightcove Agentic Access
Brightcove exposes 219 API operations that an AI agent could call, of which 117 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 102 read, 112 write, and 5 safety-critical.
5 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| PUT | /jobs/{job_id}/rtmpouts/{rtmp_out_id}/stop | safety-critical | required |
| PUT | /jobs/{job_id}/stop | safety-critical | required |
| POST | /scheduler/jobstartstop | safety-critical | required |
| PUT | /scheduler/jobstartstop/{workflow_id} | safety-critical | required |
| DELETE | /scheduler/jobstartstop/{workflow_id} | safety-critical | required |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/analytics-api-openapi.yaml, openapi/audience-openapi.yaml, openapi/cms-api-openapi.yaml,
openapi/delivery-rules-openapi.yaml, openapi/dynamic-ingest-openapi.yaml, openapi/ingest-profiles-openapi.yaml,
openapi/live-api-openapi.yaml, openapi/oauth-openapi.yaml, openapi/player-management-openapi.yaml,
openapi/social-openapi.yaml, openapi/ssai-openapi.yaml
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: 219
by_action_class:
connected: 102
acting: 117
by_consequence:
read: 102
write: 112
safety-critical: 5
human_in_the_loop_required: 5
operations:
- path: /v1/engagement/accounts/{{account_id}}
method: get
operationId: GetAccountEngagement
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/analytics/read
token:
max-ttl: 3600
audit: none
- path: /v1/engagement/accounts/{{account_id}}/players/{{player_id}}
method: get
operationId: GetPlayerEngagement
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/analytics/read
token:
max-ttl: 3600
audit: none
- path: /v1/engagement/accounts/{{account_id}}/videos/{{video_id}}
method: get
operationId: GetVideoEngagement
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/analytics/read
token:
max-ttl: 3600
audit: none
- path: /v1/data
method: get
operationId: GetAnalyticsReport
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/analytics/read
token:
max-ttl: 3600
audit: none
- path: /v1/data/status
method: get
operationId: GetAvailableDateRange
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/analytics/read
token:
max-ttl: 3600
audit: none
- path: /v1/timeseries/accounts/{{account_id}}
method: get
operationId: GetLiveTimeSeries
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/analytics/read
token:
max-ttl: 3600
audit: none
- path: /v1/events/accounts/{account_id}
method: get
operationId: GetLiveEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/analytics/read
token:
max-ttl: 3600
audit: none
- path: /v1/alltime/accounts/{{account_id}}/videos/{{video_id}}
method: get
operationId: GetAlltimeVideoViews
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/analytics/read
token:
max-ttl: 3600
audit: none
- path: /accounts/{{account_id}}/leads
method: get
operationId: GetLeads
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/audience/read
token:
max-ttl: 3600
audit: none
- path: /accounts/{{account_id}}/view_events
method: get
operationId: GetViewEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/audience/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos
method: get
operationId: GetVideos
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos
method: post
operationId: CreateVideo
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/counts/videos
method: get
operationId: GetVideoCount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos{video_ids}}
method: get
operationId: GetVideoByIdOrReferenceId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos{video_ids}}
method: delete
operationId: DeleteVideo
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}
method: patch
operationId: UpdateVideo
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/sources
method: get
operationId: GetVideoSources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/images
method: get
operationId: GetVideoImages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/image_sources{label}}
method: delete
operationId: DeleteVideoImage
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/variants
method: get
operationId: GetVideoVariants
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/variants
method: post
operationId: createVideoVariant
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/variants{language}}
method: get
operationId: GetVideoVariant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/variants{language}}
method: patch
operationId: updateVideoVariant
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/variants{language}}
method: delete
operationId: deleteVideoVariant
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/audio_tracks
method: get
operationId: GetVideoAudioTracks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/audio_tracks{audio_track_id}}
method: get
operationId: GetVideoAudioTrack
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/audio_tracks{audio_track_id}}
method: patch
operationId: UpdateVideoAudioTrack
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/audio_tracks{audio_track_id}}
method: delete
operationId: DeleteVideoAudioTrack
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/digital_master
method: get
operationId: GetDigitalMasterInfo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/digital_master
method: delete
operationId: DeleteDigitalMaster
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/asset/delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/references
method: get
operationId: GetPlaylistsForVideo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/references
method: delete
operationId: RemoveVideoFromAllPlaylists
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/ingest_jobs
method: get
operationId: GetStatusOfIngestJobs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/ingest_jobs{job_id}}
method: get
operationId: GetStatusOfIngestJob
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/clear_videos/{{video_id}}
method: get
operationId: GetClearVideo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/clear-sources
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/clear_sources
method: get
operationId: GetClearVideoSources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/clear-sources
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/video_fields
method: get
operationId: GetVideoFields
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/video_fields/custom_fields
method: get
operationId: GetCustomFields
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/video_fields/custom_fields
method: post
operationId: CreateCustomField
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/video_fields/custom_fields/{{custom_field_id}}
method: get
operationId: GetCustomField
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/video_fields/custom_fields/{{custom_field_id}}
method: patch
operationId: UpdateCustomField
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/video_fields/custom_fields/{{custom_field_id}}
method: delete
operationId: DeleteCustomField
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/channels
method: get
operationId: ListChannels
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/sharing-relationships/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/channels{channel_name}}
method: get
operationId: GetChannelDetails
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/sharing-relationships/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/channels{channel_name}}
method: patch
operationId: UpdateChannel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/sharing-relationships/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/channels{channel_name}}/members
method: get
operationId: ListChannelAffiliates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/sharing-relationships/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/channels{channel_name}}/members/{{affiliate_account_id}}
method: put
operationId: AddAffiliate
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/sharing-relationships/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/channels{channel_name}}/members/{{affiliate_account_id}}
method: delete
operationId: RemoveAffiliate
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/sharing-relationships/delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/contracts
method: get
operationId: ListContracts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/sharing-relationships/update
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/contracts/{{master_account_id}}
method: get
operationId: GetContract
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/sharing-relationships/update
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/contracts/{{master_account_id}}
method: patch
operationId: ApproveContract
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/sharing-relationships/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/shares
method: get
operationId: ListShares
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/shares
method: post
operationId: ShareVideo
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/shares/{{affiliate_account_id}}
method: get
operationId: GetShare
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/shares/{{affiliate_account_id}}
method: delete
operationId: UnshareVideo
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/playlists
method: get
operationId: GetPlaylists
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/playlist/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/playlists
method: post
operationId: CreatePlaylist
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/playlist/create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/counts/playlists
method: get
operationId: GetPlaylistCount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/playlist/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/playlists/{{playlist_id}}
method: get
operationId: GetPlaylistById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/playlist/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/playlists/{{playlist_id}}
method: patch
operationId: UpdatePlaylist
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/playlist/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/playlists/{{playlist_id}}
method: delete
operationId: DeletePlaylists
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/playlist/delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/playlists/{{playlist_id}}/videos
method: get
operationId: GetVideosInPlaylist
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/playlist/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/counts/playlists/{{playlist_id}}/videos
method: get
operationId: GetVideoCountInPlaylist
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/playlist/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/folders
method: get
operationId: GetFolders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/folders
method: post
operationId: CreateFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/folders/{{folder_id}}
method: get
operationId: GetFolderInformation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/folders/{{folder_id}}
method: patch
operationId: UpdateFolderName
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/folders/{{folder_id}}
method: delete
operationId: DeleteFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/folders/{{folder_id}}/videos
method: get
operationId: GetVideosInFolder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/folders/{{folder_id}}/videos/{{video_id}}
method: put
operationId: AddVideoToFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/folders/{{folder_id}}/videos/{{video_id}}
method: delete
operationId: RemoveVideoFromFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/labels
method: post
operationId: CreateLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/labels
method: get
operationId: GetLabels
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/labels/by_path/{{label_path}}
method: patch
operationId: UpdateLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/labels/by_path/{{label_path}}
method: delete
operationId: deleteLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/subscriptions
method: get
operationId: GetSubscriptionsList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/notifications/all
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/subscriptions
method: post
operationId: CreateSubscription
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/notifications/all
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/subscriptions/{{subscription_id}}
method: get
operationId: GetSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/notifications/all
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/subscriptions/{{subscription_id}}
method: delete
operationId: DeleteSubscription
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/notifications/all
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets
method: get
operationId: GetAssets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/dynamic_renditions
method: get
operationId: GetDynamicRenditions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/renditions
method: post
operationId: AddRendition
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/renditions/{{asset_id}}
method: get
operationId: GetRendition
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/renditions/{{asset_id}}
method: patch
operationId: UpdateRendition
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/renditions/{{asset_id}}
method: delete
operationId: DeleteRendition
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/hls_manifest
method: get
operationId: GetHlsManifestList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/hls_manifest
method: post
operationId: AddHlsManifest
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/hls_manifest/{{asset_id}}
method: get
operationId: GetHlsManifest
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/hls_manifest/{{asset_id}}
method: patch
operationId: UpdateHlsManifest
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/hls_manifest/{{asset_id}}
method: delete
operationId: DeleteHlsManifest
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/dash_manifests
method: get
operationId: GetDashManifestList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- video-cloud/video/read
token:
max-ttl: 3600
audit: none
- path: /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/dash_manifests
method: post
operationId: AddDashManifest
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-cloud/video/upda
# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/brightcove/refs/heads/main/agentic-access/brightcove-agentic-access.yml