generated: '2026-10-09' method: generated source: openapi/open-mobility-foundation-mds-agency-openapi.yml, openapi/open-mobility-foundation-mds-geography-openapi.yml, openapi/open-mobility-foundation-mds-jurisdiction-openapi.yml, openapi/open-mobility-foundation-mds-metrics-openapi.yml, openapi/open-mobility-foundation-mds-policy-openapi.yml, openapi/open-mobility-foundation-mds-provider-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: 38 by_action_class: acting: 9 connected: 29 by_consequence: write: 7 read: 29 safety-critical: 2 human_in_the_loop_required: 2 operations: - path: /vehicles method: post operationId: post-vehicles 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: /vehicles method: put operationId: put-vehicles 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: /vehicles method: get operationId: get-vehicles x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vehicles/{device_id} method: get operationId: get-vehicles-device_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vehicles/status method: get operationId: get-vehicles-status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vehicles/status/{device_id} method: get operationId: get-vehicles-status-device_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /trips method: post operationId: post-trips 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: /telemetry method: post operationId: post-telemetry 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: /events method: post operationId: post-events 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: /stops method: post operationId: post-stops 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: /stops method: put operationId: put-stops 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: /stops method: get operationId: get-stops x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stops/{stop_id} method: get operationId: get-stops-stop_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reports method: post operationId: post-reports 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: /geographies method: get operationId: get-geographies x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /geographies/{geography_id} method: get operationId: get-geographies-geography_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /geographies.json method: get operationId: get-geographies.json x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /jurisdictions method: get operationId: get-jurisdictions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /jurisdictions/{jurisdiction_id} method: get operationId: get-jurisdictions-jurisdiction_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /jurisdictions.json method: get operationId: get-jurisdictions.json x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /metrics method: get operationId: get-metrics x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /metrics method: post operationId: post-metrics 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: /policies method: get operationId: get-policies x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /policies/{policy_id} method: get operationId: get-policies-policy_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /policies.json method: get operationId: get-policies.json x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /value method: get operationId: get-value x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /requirements method: get operationId: get-requirements x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vehicles method: get operationId: get-vehicles x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vehicles/{device_id} method: get operationId: get-vehicles-device_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vehicles/status method: get operationId: get-vehicles-status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vehicles/status/{device_id} method: get operationId: get-vehicles-status-device_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /trips method: get operationId: get-trips-end_time x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /telemetry method: get operationId: get-telemetry-telemetry_time x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /events/historical method: get operationId: get-events-historical-event_time x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /events/recent method: get operationId: get-events-recent-start_time-end_time x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stops method: get operationId: get-stops x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stops/{stop_id} method: get operationId: get-stops-stop_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reports/{filename} method: get operationId: get-reports-filename x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none