Viam Agentic Access
Viam exposes 189 API operations that an AI agent could call, of which 189 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: 170 write, 11 physical, and 8 safety-critical.
8 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 |
|---|---|---|---|
| POST | /viam.app.datapipelines.v1.DataPipelinesService/DisableDataPipeline | safety-critical | required |
| POST | /viam.component.arm.v1.ArmService/Stop | safety-critical | required |
| POST | /viam.component.base.v1.BaseService/Stop | safety-critical | required |
| POST | /viam.component.encoder.v1.EncoderService/ResetPosition | safety-critical | required |
| POST | /viam.component.motor.v1.MotorService/Stop | safety-critical | required |
| POST | /viam.robot.v1.RobotService/Shutdown | safety-critical | required |
| POST | /viam.robot.v1.RobotService/StopAll | safety-critical | required |
| POST | /viam.service.motion.v1.MotionService/StopPlan | safety-critical | required |
| POST | /viam.app.v1.BillingService/ChargeOrganization | physical | conditional |
| POST | /viam.app.v1.BillingService/CreateInvoiceAndChargeImmediately | physical | conditional |
| POST | /viam.app.v1.BillingService/GetInvoicePdf | physical | conditional |
| POST | /viam.app.v1.BillingService/GetInvoicesSummary | physical | conditional |
| POST | /viam.app.v1.BillingService/SendPaymentRequiredEmail | physical | conditional |
| POST | /viam.provisioning.v1.ProvisioningService/ExitProvisioning | physical | conditional |
| POST | /viam.provisioning.v1.ProvisioningService/GetNetworkList | physical | conditional |
| POST | /viam.provisioning.v1.ProvisioningService/GetSmartMachineStatus | physical | conditional |
| POST | /viam.provisioning.v1.ProvisioningService/SetNetworkCredentials | physical | conditional |
| POST | /viam.provisioning.v1.ProvisioningService/SetSmartMachineCredentials | physical | conditional |
| POST | /viam.robot.v1.RobotService/SendSessionHeartbeat | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/viam-billing-api-openapi.yml, openapi/viam-component-apis-openapi.yml, openapi/viam-data-client-api-openapi.yml,
openapi/viam-data-pipelines-api-openapi.yml, openapi/viam-data-sync-api-openapi.yml, openapi/viam-fleet-management-api-openapi.yml,
openapi/viam-machine-management-api-openapi.yml, openapi/viam-ml-inference-api-openapi.yml,
openapi/viam-ml-model-service-api-openapi.yml, openapi/viam-ml-training-api-openapi.yml, openapi/viam-motion-service-api-openapi.yml,
openapi/viam-provisioning-api-openapi.yml, openapi/viam-slam-service-api-openapi.yml, openapi/viam-vision-service-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: 189
by_action_class:
acting: 189
by_consequence:
write: 170
physical: 11
safety-critical: 8
human_in_the_loop_required: 8
operations:
- path: /viam.app.v1.BillingService/GetCurrentMonthUsage
method: post
operationId: getCurrentMonthUsage
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: /viam.app.v1.BillingService/GetOrgBillingInformation
method: post
operationId: getOrgBillingInformation
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: /viam.app.v1.BillingService/GetInvoicesSummary
method: post
operationId: getInvoicesSummary
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: /viam.app.v1.BillingService/GetInvoicePdf
method: post
operationId: getInvoicePdf
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: /viam.app.v1.BillingService/SendPaymentRequiredEmail
method: post
operationId: sendPaymentRequiredEmail
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: /viam.app.v1.BillingService/GetAvailableBillingTiers
method: post
operationId: getAvailableBillingTiers
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: /viam.app.v1.BillingService/UpdateOrganizationBillingTier
method: post
operationId: updateOrganizationBillingTier
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: /viam.app.v1.BillingService/GetLocationBillingOrganization
method: post
operationId: getLocationBillingOrganization
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: /viam.app.v1.BillingService/UpdateLocationBillingOrganization
method: post
operationId: updateLocationBillingOrganization
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: /viam.app.v1.BillingService/ChargeOrganization
method: post
operationId: chargeOrganization
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: /viam.app.v1.BillingService/CreateInvoiceAndChargeImmediately
method: post
operationId: createInvoiceAndChargeImmediately
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: /viam.component.arm.v1.ArmService/GetEndPosition
method: post
operationId: armGetEndPosition
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: /viam.component.arm.v1.ArmService/MoveToPosition
method: post
operationId: armMoveToPosition
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: /viam.component.arm.v1.ArmService/GetJointPositions
method: post
operationId: armGetJointPositions
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: /viam.component.arm.v1.ArmService/MoveToJointPositions
method: post
operationId: armMoveToJointPositions
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: /viam.component.arm.v1.ArmService/Stop
method: post
operationId: armStop
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: /viam.component.base.v1.BaseService/MoveStraight
method: post
operationId: baseMoveStraight
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: /viam.component.base.v1.BaseService/Spin
method: post
operationId: baseSpin
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: /viam.component.base.v1.BaseService/SetPower
method: post
operationId: baseSetPower
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: /viam.component.base.v1.BaseService/SetVelocity
method: post
operationId: baseSetVelocity
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: /viam.component.base.v1.BaseService/Stop
method: post
operationId: baseStop
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: /viam.component.board.v1.BoardService/SetGPIO
method: post
operationId: boardSetGPIO
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: /viam.component.board.v1.BoardService/GetGPIO
method: post
operationId: boardGetGPIO
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: /viam.component.board.v1.BoardService/SetPWM
method: post
operationId: boardSetPWM
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: /viam.component.board.v1.BoardService/ReadAnalogReader
method: post
operationId: boardReadAnalogReader
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: /viam.component.board.v1.BoardService/StreamTicks
method: post
operationId: boardStreamTicks
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: /viam.component.button.v1.ButtonService/Push
method: post
operationId: buttonPush
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: /viam.component.camera.v1.CameraService/GetImages
method: post
operationId: cameraGetImages
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: /viam.component.camera.v1.CameraService/GetPointCloud
method: post
operationId: cameraGetPointCloud
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: /viam.component.camera.v1.CameraService/GetProperties
method: post
operationId: cameraGetProperties
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: /viam.component.encoder.v1.EncoderService/GetPosition
method: post
operationId: encoderGetPosition
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: /viam.component.encoder.v1.EncoderService/ResetPosition
method: post
operationId: encoderResetPosition
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: /viam.component.gantry.v1.GantryService/MoveToPosition
method: post
operationId: gantryMoveToPosition
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: /viam.component.gantry.v1.GantryService/Home
method: post
operationId: gantryHome
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: /viam.component.gripper.v1.GripperService/Open
method: post
operationId: gripperOpen
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: /viam.component.gripper.v1.GripperService/Grab
method: post
operationId: gripperGrab
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: /viam.component.gripper.v1.GripperService/IsHoldingSomething
method: post
operationId: gripperIsHoldingSomething
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: /viam.component.motor.v1.MotorService/SetPower
method: post
operationId: motorSetPower
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: /viam.component.motor.v1.MotorService/GoFor
method: post
operationId: motorGoFor
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: /viam.component.motor.v1.MotorService/GoTo
method: post
operationId: motorGoTo
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: /viam.component.motor.v1.MotorService/SetRPM
method: post
operationId: motorSetRPM
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: /viam.component.motor.v1.MotorService/Stop
method: post
operationId: motorStop
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: /viam.component.motor.v1.MotorService/IsPowered
method: post
operationId: motorIsPowered
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: /viam.component.movementsensor.v1.MovementSensorService/GetPosition
method: post
operationId: movementSensorGetPosition
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: /viam.component.movementsensor.v1.MovementSensorService/GetLinearVelocity
method: post
operationId: movementSensorGetLinearVelocity
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: /viam.component.movementsensor.v1.MovementSensorService/GetAngularVelocity
method: post
operationId: movementSensorGetAngularVelocity
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: /viam.component.movementsensor.v1.MovementSensorService/GetCompassHeading
method: post
operationId: movementSensorGetCompassHeading
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: /viam.component.movementsensor.v1.MovementSensorService/GetOrientation
method: post
operationId: movementSensorGetOrientation
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: /viam.component.powersensor.v1.PowerSensorService/GetVoltage
method: post
operationId: powerSensorGetVoltage
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: /viam.component.powersensor.v1.PowerSensorService/GetCurrent
method: post
operationId: powerSensorGetCurrent
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: /viam.component.powersensor.v1.PowerSensorService/GetPower
method: post
operationId: powerSensorGetPower
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: /viam.component.sensor.v1.SensorService/GetReadings
method: post
operationId: sensorGetReadings
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: /viam.component.servo.v1.ServoService/Move
method: post
operationId: servoMove
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: /viam.component.servo.v1.ServoService/GetPosition
method: post
operationId: servoGetPosition
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: /viam.component.switch.v1.SwitchService/SetPosition
method: post
operationId: switchSetPosition
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: /viam.component.switch.v1.SwitchService/GetPosition
method: post
operationId: switchGetPosition
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: /viam.component.audioin.v1.AudioInService/GetAudio
method: post
operationId: audioInGetAudio
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: /viam.component.audioout.v1.AudioOutService/Play
method: post
operationId: audioOutPlay
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: /viam.component.generic.v1.GenericService/DoCommand
method: post
operationId: genericDoCommand
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: /viam.app.data.v1.DataService/TabularDataByFilter
method: post
operationId: tabularDataByFilter
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: /viam.app.data.v1.DataService/TabularDataBySQL
method: post
operationId: tabularDataBySQL
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: /viam.app.data.v1.DataService/TabularDataByMQL
method: post
operationId: tabularDataByMQL
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: /viam.app.data.v1.DataService/ExportTabularData
method: post
operationId: exportTabularData
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: /viam.app.data.v1.DataService/GetLatestTabularData
method: post
operationId: getLatestTabularData
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: /viam.app.data.v1.DataService/DeleteTabularData
method: post
operationId: deleteTabularData
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: /viam.app.data.v1.DataService/BinaryDataByFilter
method: post
operationId: binaryDataByFilter
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: /viam.app.data.v1.DataService/BinaryDataByIDs
method: post
operationId: binaryDataByIDs
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: /viam.app.data.v1.DataService/DeleteBinaryDataByFilter
method: post
operationId: deleteBinaryDataByFilter
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: /viam.app.data.v1.DataService/DeleteBinaryDataByIDs
method: post
operationId: deleteBinaryDataByIDs
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: /viam.app.data.v1.DataService/CreateBinaryDataSignedURL
method: post
operationId: createBinaryDataSignedURL
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: /viam.app.data.v1.DataService/AddTagsToBinaryDataByIDs
method: post
operationId: addTagsToBinaryDataByIDs
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: /viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByIDs
method: post
operationId: removeTagsFromBinaryDataByIDs
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: /viam.app.data.v1.DataService/TagsByFilter
method: post
operationId: tagsByFilter
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: /viam.app.data.v1.DataService/AddBoundingBoxToImageByID
method: post
operationId: addBoundingBoxToImageByID
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: /viam.app.data.v1.DataService/RemoveBoundingBoxFromImageByID
method: post
operationId: removeBoundingBoxFromImageByID
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: /viam.app.data.v1.DataService/AddBinaryDataToDatasetByIDs
method: post
operationId: addBinaryDataToDatasetByIDs
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: /viam.app.data.v1.DataService/RemoveBinaryDataFromDatasetByIDs
method: post
operationId: removeBinaryDataFromDatasetByIDs
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: /viam.app.data.v1.DataService/CreateSavedQuery
method: post
operationId: createSavedQuery
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: /viam.app.data.v1.DataService/ListSavedQueries
method: post
operationId: listSavedQueries
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: /viam.app.data.v1.DataService/GetSavedQuery
method: post
operationId: getSavedQuery
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: /viam.app.data.v1.DataService/UpdateSavedQuery
method: post
operationId: updateSavedQuery
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: /viam.app.data.v1.DataService/DeleteSavedQuery
method: post
operationId: deleteSavedQuery
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: /viam.app.data.v1.DataService/CreateSequence
method: post
operationId: createSequence
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: /viam.app.data.v1.DataService/ListSequences
method: post
operationId: listSequences
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-lo
# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/viam/refs/heads/main/agentic-access/viam-agentic-access.yml