Reolink Agentic Access
Reolink exposes 65 API operations that an AI agent could call, of which 65 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: 61 write and 4 safety-critical.
4 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 | /cgi-bin/api.cgi?cmd=GetPtzPreset&token={token} | safety-critical | required |
| POST | /cgi-bin/api.cgi?cmd=PtzCtrl&token={token} | safety-critical | required |
| POST | /cgi-bin/api.cgi?cmd=Reboot&token={token} | safety-critical | required |
| POST | /cgi-bin/api.cgi?cmd=SetPtzPreset&token={token} | safety-critical | required |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/reolink-camera-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: 65
by_action_class:
acting: 65
by_consequence:
write: 61
safety-critical: 4
human_in_the_loop_required: 4
operations:
- path: /cgi-bin/api.cgi
method: post
operationId: login
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: /cgi-bin/api.cgi?cmd=Logout&token={token}
method: post
operationId: logout
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: /cgi-bin/api.cgi?cmd=GetDevInfo&token={token}
method: post
operationId: getDevInfo
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: /cgi-bin/api.cgi?cmd=GetAbility&token={token}
method: post
operationId: getAbility
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: /cgi-bin/api.cgi?cmd=GetTime&token={token}
method: post
operationId: getTime
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: /cgi-bin/api.cgi?cmd=SetTime&token={token}
method: post
operationId: setTime
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: /cgi-bin/api.cgi?cmd=GetHddInfo&token={token}
method: post
operationId: getHddInfo
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: /cgi-bin/api.cgi?cmd=FormatHdd&token={token}
method: post
operationId: formatHdd
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: /cgi-bin/api.cgi?cmd=Reboot&token={token}
method: post
operationId: reboot
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: /cgi-bin/api.cgi?cmd=GetDevName&token={token}
method: post
operationId: getDevName
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: /cgi-bin/api.cgi?cmd=SetDevName&token={token}
method: post
operationId: setDevName
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: /cgi-bin/api.cgi?cmd=GetAutoMaint&token={token}
method: post
operationId: getAutoMaint
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: /cgi-bin/api.cgi?cmd=GetAutoUpgrade&token={token}
method: post
operationId: getAutoUpgrade
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: /cgi-bin/api.cgi?cmd=GetChannelStatus&token={token}
method: post
operationId: getChannelStatus
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: /cgi-bin/api.cgi?cmd=GetUser&token={token}
method: post
operationId: getUser
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: /cgi-bin/api.cgi?cmd=GetOnline&token={token}
method: post
operationId: getOnline
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: /cgi-bin/api.cgi?cmd=GetNetPort&token={token}
method: post
operationId: getNetPort
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: /cgi-bin/api.cgi?cmd=SetNetPort&token={token}
method: post
operationId: setNetPort
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: /cgi-bin/api.cgi?cmd=GetLocalLink&token={token}
method: post
operationId: getLocalLink
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: /cgi-bin/api.cgi?cmd=GetWifi&token={token}
method: post
operationId: getWifi
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: /cgi-bin/api.cgi?cmd=GetDdns&token={token}
method: post
operationId: getDdns
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: /cgi-bin/api.cgi?cmd=GetNtp&token={token}
method: post
operationId: getNtp
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: /cgi-bin/api.cgi?cmd=GetEmail&token={token}
method: post
operationId: getEmail
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: /cgi-bin/api.cgi?cmd=GetFtp&token={token}
method: post
operationId: getFtp
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: /cgi-bin/api.cgi?cmd=GetPush&token={token}
method: post
operationId: getPush
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: /cgi-bin/api.cgi?cmd=GetUpnp&token={token}
method: post
operationId: getUpnp
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: /cgi-bin/api.cgi?cmd=GetImage&token={token}
method: post
operationId: getImage
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: /cgi-bin/api.cgi?cmd=SetImage&token={token}
method: post
operationId: setImage
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: /cgi-bin/api.cgi?cmd=GetOsd&token={token}
method: post
operationId: getOsd
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: /cgi-bin/api.cgi?cmd=SetOsd&token={token}
method: post
operationId: setOsd
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: /cgi-bin/api.cgi?cmd=GetIsp&token={token}
method: post
operationId: getIsp
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: /cgi-bin/api.cgi?cmd=GetMask&token={token}
method: post
operationId: getMask
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: /cgi-bin/api.cgi?cmd=SetMask&token={token}
method: post
operationId: setMask
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: /cgi-bin/api.cgi?cmd=Snap&token={token}
method: post
operationId: snap
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: /cgi-bin/api.cgi?cmd=GetEnc&token={token}
method: post
operationId: getEnc
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: /cgi-bin/api.cgi?cmd=SetEnc&token={token}
method: post
operationId: setEnc
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: /cgi-bin/api.cgi?cmd=GetRec&token={token}
method: post
operationId: getRec
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: /cgi-bin/api.cgi?cmd=SetRec&token={token}
method: post
operationId: setRec
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: /cgi-bin/api.cgi?cmd=Search&token={token}
method: post
operationId: searchRecordings
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: /cgi-bin/api.cgi?cmd=PtzCtrl&token={token}
method: post
operationId: ptzCtrl
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: /cgi-bin/api.cgi?cmd=GetPtzPreset&token={token}
method: post
operationId: getPtzPreset
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: /cgi-bin/api.cgi?cmd=SetPtzPreset&token={token}
method: post
operationId: setPtzPreset
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: /cgi-bin/api.cgi?cmd=GetPtzPatrol&token={token}
method: post
operationId: getPtzPatrol
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: /cgi-bin/api.cgi?cmd=SetPtzPatrol&token={token}
method: post
operationId: setPtzPatrol
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: /cgi-bin/api.cgi?cmd=PtzCheck&token={token}
method: post
operationId: ptzCheck
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: /cgi-bin/api.cgi?cmd=GetPtzCheckState&token={token}
method: post
operationId: getPtzCheckState
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: /cgi-bin/api.cgi?cmd=GetMdAlarm&token={token}
method: post
operationId: getMdAlarm
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: /cgi-bin/api.cgi?cmd=SetMdAlarm&token={token}
method: post
operationId: setMdAlarm
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: /cgi-bin/api.cgi?cmd=GetAiAlarm&token={token}
method: post
operationId: getAiAlarm
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: /cgi-bin/api.cgi?cmd=SetAiAlarm&token={token}
method: post
operationId: setAiAlarm
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: /cgi-bin/api.cgi?cmd=GetAlarmArea&token={token}
method: post
operationId: getAlarmArea
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: /cgi-bin/api.cgi?cmd=SetAlarmArea&token={token}
method: post
operationId: setAlarmArea
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: /cgi-bin/api.cgi?cmd=GetAudioAlarm&token={token}
method: post
operationId: getAudioAlarm
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: /cgi-bin/api.cgi?cmd=SetIrLights&token={token}
method: post
operationId: setIrLights
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: /cgi-bin/api.cgi?cmd=GetIrLights&token={token}
method: post
operationId: getIrLights
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: /cgi-bin/api.cgi?cmd=GetPowerLed&token={token}
method: post
operationId: getPowerLed
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: /cgi-bin/api.cgi?cmd=SetPowerLed&token={token}
method: post
operationId: setPowerLed
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: /cgi-bin/api.cgi?cmd=GetWhiteLed&token={token}
method: post
operationId: getWhiteLed
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: /cgi-bin/api.cgi?cmd=SetWhiteLed&token={token}
method: post
operationId: setWhiteLed
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: /cgi-bin/api.cgi?cmd=GetAiState&token={token}
method: post
operationId: getAiState
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: /cgi-bin/api.cgi?cmd=GetAiCfg&token={token}
method: post
operationId: getAiCfg
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: /cgi-bin/api.cgi?cmd=SetAiCfg&token={token}
method: post
operationId: setAiCfg
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: /cgi-bin/api.cgi?cmd=GetAutoFocus&token={token}
method: post
operationId: getAutoFocus
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: /cgi-bin/api.cgi?cmd=GetAutoTrack&token={token}
method: post
operationId: getAutoTrack
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: /cgi-bin/api.cgi?cmd=SetAutoTrack&token={token}
method: post
operationId: setAutoTrack
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