Cisco Meraki · Agentic Access

Cisco Meraki Agentic Access

x-agentic-access generated

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.

NetworkingWirelessSwitchingSecurity AppliancesCloud-Managed NetworkingMDMCameraIoT
Operations: 957 Acting: 445 Human-in-the-loop: 88 Method: generated

By consequence

read 512 write 132 physical 225 safety-critical 16

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.

MethodPathConsequenceHuman-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

Raw ↑
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

Work with this as data

Every access contract here is available over the APIs.io API and to AI agents over MCP. Agentic Access is not yet its own endpoint on the v1 API. Reach it through catalog search and the tag graph, or the MCP server.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for agentic access

3 MCP tools reach this
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
Search the catalog
curl "https://apis.io/api/v1/search?q=cisco-meraki-agentic-access&limit=10"
Everything under a tag
curl "https://apis.io/api/v1/tags/cisco-meraki-agentic-access"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.