Lightstream Agentic Access
Lightstream exposes 45 API operations that an AI agent could call, of which 30 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: 15 read, 28 write, and 2 safety-critical.
2 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 | /collection/{collectionId}/project/{projectId}/broadcast/stop | safety-critical | required |
| PUT | /collection/{collectionId}/project/{projectId}/webrtc/stop | safety-critical | required |
Source
Agentic Access
generated: '2026-07-19'
method: generated
source: openapi/lightstream-event-openapi-original.yml, openapi/lightstream-layout-openapi-original.yml,
openapi/lightstream-live-openapi-original.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: 45
by_action_class:
acting: 30
connected: 15
by_consequence:
write: 28
read: 15
safety-critical: 2
human_in_the_loop_required: 2
operations:
- path: /publish
method: post
operationId: EventService_Publish
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
method: get
operationId: EventService_Stream
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /layouts
method: get
operationId: LayoutService_ListLayouts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /layouts
method: post
operationId: LayoutService_CreateLayout
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: /layouts/{layoutId}
method: get
operationId: LayoutService_GetLayout
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /layouts/{layoutId}
method: delete
operationId: LayoutService_DeleteLayout
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: /layouts/{layoutId}
method: patch
operationId: LayoutService_UpdateLayout
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: /layouts/{layoutId}/layers
method: get
operationId: LayerService_ListLayers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /layouts/{layoutId}/layers
method: post
operationId: LayerService_CreateLayer
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: /layouts/{layoutId}/layers/batch
method: post
operationId: LayerService_Batch
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: /layouts/{layoutId}/layers/{layerId}
method: get
operationId: LayerService_GetLayer
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /layouts/{layoutId}/layers/{layerId}
method: delete
operationId: LayerService_DeleteLayer
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: /layouts/{layoutId}/layers/{layerId}
method: patch
operationId: LayerService_UpdateLayer
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: /authentication/jwks
method: get
operationId: PublicAuthenticationService_GetJsonWebKeySet
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authentication/token
method: post
operationId: BackendAuthenticationService_CreateAccessToken
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: /authentication/token
method: put
operationId: AuthenticationService_RefreshAccessToken
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: /authentication/token/guest
method: post
operationId: AuthenticationService_CreateGuestAccessToken
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: /collection
method: get
operationId: CollectionService_GetCollections
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collection
method: post
operationId: CollectionService_CreateCollection
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: /collection/{collectionId}
method: get
operationId: CollectionService_GetCollection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collection/{collectionId}
method: delete
operationId: CollectionService_DeleteCollection
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: /collection/{collectionId}
method: patch
operationId: CollectionService_UpdateCollection
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: /collection/{collectionId}/project
method: post
operationId: ProjectService_CreateProject
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: /collection/{collectionId}/project/{projectId}
method: get
operationId: ProjectService_GetProject
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collection/{collectionId}/project/{projectId}
method: delete
operationId: ProjectService_DeleteProject
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: /collection/{collectionId}/project/{projectId}
method: patch
operationId: ProjectService_UpdateProject
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: /collection/{collectionId}/project/{projectId}/broadcast/snapshot
method: get
operationId: ProjectService_GetProjectBroadcastSnapshot
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collection/{collectionId}/project/{projectId}/broadcast/start
method: put
operationId: ProjectService_StartProjectBroadcast
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: /collection/{collectionId}/project/{projectId}/broadcast/status
method: get
operationId: ProjectService_GetProjectBroadcastStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collection/{collectionId}/project/{projectId}/broadcast/stop
method: put
operationId: ProjectService_StopProjectBroadcast
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: /collection/{collectionId}/project/{projectId}/destination
method: post
operationId: DestinationService_CreateDestination
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: /collection/{collectionId}/project/{projectId}/destination/{destinationId}
method: get
operationId: DestinationService_GetDestination
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collection/{collectionId}/project/{projectId}/destination/{destinationId}
method: delete
operationId: DestinationService_DeleteDestination
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: /collection/{collectionId}/project/{projectId}/destination/{destinationId}
method: patch
operationId: DestinationService_UpdateDestination
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: /collection/{collectionId}/project/{projectId}/source/{sourceId}
method: delete
operationId: SourceService_RemoveSourceFromProject
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: /collection/{collectionId}/project/{projectId}/source/{sourceId}
method: put
operationId: SourceService_AddSourceToProject
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: /collection/{collectionId}/project/{projectId}/source/{sourceId}
method: patch
operationId: SourceService_UpdateSourceInProject
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: /collection/{collectionId}/project/{projectId}/webrtc/start
method: put
operationId: ProjectService_StartProjectWebRtc
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: /collection/{collectionId}/project/{projectId}/webrtc/stop
method: put
operationId: ProjectService_StopProjectWebRtc
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: /collection/{collectionId}/source
method: get
operationId: SourceService_GetSources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collection/{collectionId}/source
method: post
operationId: SourceService_CreateSource
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: /collection/{collectionId}/source/{sourceId}
method: get
operationId: SourceService_GetSource
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /collection/{collectionId}/source/{sourceId}
method: delete
operationId: SourceService_DeleteSource
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: /collection/{collectionId}/source/{sourceId}
method: patch
operationId: SourceService_UpdateSource
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: /r/{serviceId}/{code}
method: get
operationId: PublicAuthenticationService_GuestCodeRedirect
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none