Cisco Meraki Agentic Access
Cisco Meraki exposes 957 API operations that an AI agent could call, of which 445 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: 512 read, 132 write, 225 physical, and 16 safety-critical.
88 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 | /administered/identities/me/api/keys/{suffix}/revoke | safety-critical | required |
| POST | /devices/{serial}/blinkLeds | safety-critical | required |
| PUT | /devices/{serial}/camera/sense | safety-critical | required |
| POST | /devices/{serial}/liveTools/leds/blink | safety-critical | required |
| POST | /devices/{serial}/liveTools/ports/cycle | safety-critical | required |
| POST | /devices/{serial}/liveTools/power/usage | safety-critical | required |
| POST | /devices/{serial}/reboot | safety-critical | required |
| POST | /devices/{serial}/switch/ports/cycle | safety-critical | required |
| POST | /networks/{networkId}/appliance/devices/redundancy/swap | safety-critical | required |
| POST | /networks/{networkId}/appliance/warmSpare/swap | safety-critical | required |
| POST | /networks/{networkId}/sm/devices/reboot | safety-critical | required |
| POST | /networks/{networkId}/sm/devices/shutdown | safety-critical | required |
| POST | /networks/{networkId}/sm/devices/wipe | safety-critical | required |
| POST | /organizations/{organizationId}/cellularGateway/esims/swap | safety-critical | required |
| PUT | /organizations/{organizationId}/cellularGateway/esims/swap/{id} | safety-critical | required |
| POST | /organizations/{organizationId}/inventory/devices/swaps/bulk | safety-critical | required |
| PUT | /devices/{serial} | physical | conditional |
| POST | /devices/{serial}/appliance/interfaces/ports/update | physical | conditional |
| PUT | /devices/{serial}/appliance/radio/settings | physical | conditional |
| PUT | /devices/{serial}/appliance/uplinks/settings | physical | conditional |
| POST | /devices/{serial}/appliance/vmx/authenticationToken | physical | conditional |
| PUT | /devices/{serial}/camera/customAnalytics | physical | conditional |
| POST | /devices/{serial}/camera/generateSnapshot | physical | conditional |
| PUT | /devices/{serial}/camera/qualityAndRetention | physical | conditional |
| PUT | /devices/{serial}/camera/video/settings | physical | conditional |
Source
Agentic Access
generated: '2026-07-31'
method: generated
source: openapi/cisco-meraki-administered-api-openapi.json, openapi/cisco-meraki-appliance-api-openapi.json,
openapi/cisco-meraki-camera-api-openapi.json, openapi/cisco-meraki-campusgateway-api-openapi.json,
openapi/cisco-meraki-cellulargateway-api-openapi.json, openapi/cisco-meraki-devices-api-openapi.json,
openapi/cisco-meraki-insight-api-openapi.json, openapi/cisco-meraki-licensing-api-openapi.json,
openapi/cisco-meraki-networks-api-openapi.json, openapi/cisco-meraki-organizations-api-openapi.json,
openapi/cisco-meraki-sensor-api-openapi.json, openapi/cisco-meraki-sm-api-openapi.json,
openapi/cisco-meraki-spaces-api-openapi.json, openapi/cisco-meraki-switch-api-openapi.json,
openapi/cisco-meraki-wireless-api-openapi.json, openapi/cisco-meraki-wirelesscontroller-api-openapi.json
x-provenance:
authored_by: API Evangelist
derived_from: Cisco's published OpenAPI definitions
note: >-
Classification is heuristic and authored by API Evangelist, not by Cisco. The underlying operations are Cisco-published.
Review and bind audience per deployment before use.
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: 957
by_action_class:
connected: 512
acting: 445
by_consequence:
read: 512
write: 132
safety-critical: 16
physical: 225
destructive: 72
human_in_the_loop_required: 88
operations:
- path: /administered/identities/me
method: get
operationId: getAdministeredIdentitiesMe
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /administered/identities/me/api/keys
method: get
operationId: getAdministeredIdentitiesMeApiKeys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /administered/identities/me/api/keys/generate
method: post
operationId: generateAdministeredIdentitiesMeApiKeys
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /administered/identities/me/api/keys/{suffix}/revoke
method: post
operationId: revokeAdministeredIdentitiesMeApiKeys
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience:
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /devices/{serial}/appliance/dhcp/subnets
method: get
operationId: getDeviceApplianceDhcpSubnets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /devices/{serial}/appliance/interfaces/ports/update
method: post
operationId: createDeviceApplianceInterfacesPortsUpdate
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /devices/{serial}/appliance/performance
method: get
operationId: getDeviceAppliancePerformance
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /devices/{serial}/appliance/prefixes/delegated
method: get
operationId: getDeviceAppliancePrefixesDelegated
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /devices/{serial}/appliance/prefixes/delegated/vlanAssignments
method: get
operationId: getDeviceAppliancePrefixesDelegatedVlanAssignments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /devices/{serial}/appliance/radio/settings
method: get
operationId: getDeviceApplianceRadioSettings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /devices/{serial}/appliance/radio/settings
method: put
operationId: updateDeviceApplianceRadioSettings
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /devices/{serial}/appliance/uplinks/settings
method: get
operationId: getDeviceApplianceUplinksSettings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /devices/{serial}/appliance/uplinks/settings
method: put
operationId: updateDeviceApplianceUplinksSettings
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /devices/{serial}/appliance/vmx/authenticationToken
method: post
operationId: createDeviceApplianceVmxAuthenticationToken
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/clients/{clientId}/security/events
method: get
operationId: getNetworkApplianceClientSecurityEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/connectivityMonitoringDestinations
method: get
operationId: getNetworkApplianceConnectivityMonitoringDestinations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/connectivityMonitoringDestinations
method: put
operationId: updateNetworkApplianceConnectivityMonitoringDestinations
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/contentFiltering
method: get
operationId: getNetworkApplianceContentFiltering
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/contentFiltering
method: put
operationId: updateNetworkApplianceContentFiltering
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/contentFiltering/categories
method: get
operationId: getNetworkApplianceContentFilteringCategories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/devices/redundancy
method: put
operationId: updateNetworkApplianceDevicesRedundancy
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/devices/redundancy/swap
method: post
operationId: createNetworkApplianceDevicesRedundancySwap
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience:
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /networks/{networkId}/appliance/firewall/cellularFirewallRules
method: get
operationId: getNetworkApplianceFirewallCellularFirewallRules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/cellularFirewallRules
method: put
operationId: updateNetworkApplianceFirewallCellularFirewallRules
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/firewall/firewalledServices
method: get
operationId: getNetworkApplianceFirewallFirewalledServices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/firewalledServices/{service}
method: get
operationId: getNetworkApplianceFirewallFirewalledService
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/firewalledServices/{service}
method: put
operationId: updateNetworkApplianceFirewallFirewalledService
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/firewall/inboundCellularFirewallRules
method: get
operationId: getNetworkApplianceFirewallInboundCellularFirewallRules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/inboundCellularFirewallRules
method: put
operationId: updateNetworkApplianceFirewallInboundCellularFirewallRules
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/firewall/inboundFirewallRules
method: get
operationId: getNetworkApplianceFirewallInboundFirewallRules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/inboundFirewallRules
method: put
operationId: updateNetworkApplianceFirewallInboundFirewallRules
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/firewall/l3FirewallRules
method: get
operationId: getNetworkApplianceFirewallL3FirewallRules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/l3FirewallRules
method: put
operationId: updateNetworkApplianceFirewallL3FirewallRules
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/firewall/l7FirewallRules
method: get
operationId: getNetworkApplianceFirewallL7FirewallRules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/l7FirewallRules
method: put
operationId: updateNetworkApplianceFirewallL7FirewallRules
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/firewall/l7FirewallRules/applicationCategories
method: get
operationId: getNetworkApplianceFirewallL7FirewallRulesApplicationCategories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/multicastForwarding
method: put
operationId: updateNetworkApplianceFirewallMulticastForwarding
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/firewall/oneToManyNatRules
method: get
operationId: getNetworkApplianceFirewallOneToManyNatRules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/oneToManyNatRules
method: put
operationId: updateNetworkApplianceFirewallOneToManyNatRules
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/firewall/oneToOneNatRules
method: get
operationId: getNetworkApplianceFirewallOneToOneNatRules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/oneToOneNatRules
method: put
operationId: updateNetworkApplianceFirewallOneToOneNatRules
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/firewall/portForwardingRules
method: get
operationId: getNetworkApplianceFirewallPortForwardingRules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/portForwardingRules
method: put
operationId: updateNetworkApplianceFirewallPortForwardingRules
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/firewall/settings
method: get
operationId: getNetworkApplianceFirewallSettings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/firewall/settings
method: put
operationId: updateNetworkApplianceFirewallSettings
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/interfaces/l3
method: post
operationId: createNetworkApplianceInterfacesL3
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/interfaces/l3/{interfaceId}
method: put
operationId: updateNetworkApplianceInterfacesL3
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/interfaces/l3/{interfaceId}
method: delete
operationId: deleteNetworkApplianceInterfacesL3
x-agentic-access:
action-class: acting
consequence: destructive
subject: required
audience:
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /networks/{networkId}/appliance/ports
method: get
operationId: getNetworkAppliancePorts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/ports/{portId}
method: get
operationId: getNetworkAppliancePort
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/ports/{portId}
method: put
operationId: updateNetworkAppliancePort
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/prefixes/delegated/statics
method: get
operationId: getNetworkAppliancePrefixesDelegatedStatics
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/prefixes/delegated/statics
method: post
operationId: createNetworkAppliancePrefixesDelegatedStatic
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/prefixes/delegated/statics/{staticDelegatedPrefixId}
method: get
operationId: getNetworkAppliancePrefixesDelegatedStatic
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/prefixes/delegated/statics/{staticDelegatedPrefixId}
method: put
operationId: updateNetworkAppliancePrefixesDelegatedStatic
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/prefixes/delegated/statics/{staticDelegatedPrefixId}
method: delete
operationId: deleteNetworkAppliancePrefixesDelegatedStatic
x-agentic-access:
action-class: acting
consequence: destructive
subject: required
audience:
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /networks/{networkId}/appliance/rfProfiles
method: get
operationId: getNetworkApplianceRfProfiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/rfProfiles
method: post
operationId: createNetworkApplianceRfProfile
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/rfProfiles/{rfProfileId}
method: put
operationId: updateNetworkApplianceRfProfile
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/rfProfiles/{rfProfileId}
method: delete
operationId: deleteNetworkApplianceRfProfile
x-agentic-access:
action-class: acting
consequence: destructive
subject: required
audience:
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /networks/{networkId}/appliance/rfProfiles/{rfProfileId}
method: get
operationId: getNetworkApplianceRfProfile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/sdwan/internetPolicies
method: put
operationId: updateNetworkApplianceSdwanInternetPolicies
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/security/events
method: get
operationId: getNetworkApplianceSecurityEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/security/intrusion
method: get
operationId: getNetworkApplianceSecurityIntrusion
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/security/intrusion
method: put
operationId: updateNetworkApplianceSecurityIntrusion
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/security/malware
method: get
operationId: getNetworkApplianceSecurityMalware
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/security/malware
method: put
operationId: updateNetworkApplianceSecurityMalware
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/settings
method: get
operationId: getNetworkApplianceSettings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/settings
method: put
operationId: updateNetworkApplianceSettings
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/singleLan
method: get
operationId: getNetworkApplianceSingleLan
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/singleLan
method: put
operationId: updateNetworkApplianceSingleLan
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/ssids
method: get
operationId: getNetworkApplianceSsids
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/ssids/{number}
method: get
operationId: getNetworkApplianceSsid
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/ssids/{number}
method: put
operationId: updateNetworkApplianceSsid
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/staticRoutes
method: get
operationId: getNetworkApplianceStaticRoutes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/staticRoutes
method: post
operationId: createNetworkApplianceStaticRoute
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/staticRoutes/{staticRouteId}
method: get
operationId: getNetworkApplianceStaticRoute
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/staticRoutes/{staticRouteId}
method: put
operationId: updateNetworkApplianceStaticRoute
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/staticRoutes/{staticRouteId}
method: delete
operationId: deleteNetworkApplianceStaticRoute
x-agentic-access:
action-class: acting
consequence: destructive
subject: required
audience:
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /networks/{networkId}/appliance/trafficShaping
method: get
operationId: getNetworkApplianceTrafficShaping
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/trafficShaping
method: put
operationId: updateNetworkApplianceTrafficShaping
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/trafficShaping/customPerformanceClasses
method: get
operationId: getNetworkApplianceTrafficShapingCustomPerformanceClasses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/trafficShaping/customPerformanceClasses
method: post
operationId: createNetworkApplianceTrafficShapingCustomPerformanceClass
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/trafficShaping/customPerformanceClasses/{customPerformanceClassId}
method: get
operationId: getNetworkApplianceTrafficShapingCustomPerformanceClass
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/trafficShaping/customPerformanceClasses/{customPerformanceClassId}
method: put
operationId: updateNetworkApplianceTrafficShapingCustomPerformanceClass
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/trafficShaping/customPerformanceClasses/{customPerformanceClassId}
method: delete
operationId: deleteNetworkApplianceTrafficShapingCustomPerformanceClass
x-agentic-access:
action-class: acting
consequence: destructive
subject: required
audience:
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /networks/{networkId}/appliance/trafficShaping/rules
method: put
operationId: updateNetworkApplianceTrafficShapingRules
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/trafficShaping/rules
method: get
operationId: getNetworkApplianceTrafficShapingRules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/trafficShaping/uplinkBandwidth
method: get
operationId: getNetworkApplianceTrafficShapingUplinkBandwidth
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/trafficShaping/uplinkBandwidth
method: put
operationId: updateNetworkApplianceTrafficShapingUplinkBandwidth
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /networks/{networkId}/appliance/trafficShaping/uplinkSelection
method: get
operationId: getNetworkApplianceTrafficShapingUplinkSelection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /networks/{networkId}/appliance/trafficShaping/uplinkSelection
method: put
operationId: updateNetworkApplianceTrafficShapingUplinkSelection
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience:
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
tri
# --- truncated at 32 KB (310 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-meraki/refs/heads/main/agentic-access/cisco-meraki-agentic-access.yml