generated: '2026-07-19' method: generated source: openapi/flipturn-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: 26 by_action_class: connected: 15 acting: 11 by_consequence: read: 15 write: 11 human_in_the_loop_required: 0 operations: - path: /sites method: get operationId: listSites x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /chargers/{id} method: get operationId: getCharger x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /chargers/by-external-id/{id} method: get operationId: getChargerByExternalId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /chargers/by-ocpp-id/{id} method: get operationId: getChargerByOcppId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /charging-sessions method: get operationId: listChargingSessions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /charger-health method: get operationId: getChargerHealth x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /access-ids method: get operationId: listAccessIds x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /access-ids method: post operationId: createAccessId 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: /access-ids/{id} method: get operationId: getAccessId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /access-ids/{id} method: patch operationId: updateAccessId 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: /access-ids/batch method: put operationId: batchUpsertAccessIds 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: listVehicles x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vehicles method: post operationId: createVehicle 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/{id} method: get operationId: getVehicle x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vehicles/{id} method: patch operationId: updateVehicle 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: /alerts method: get operationId: listAlerts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /errors method: get operationId: listErrors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ocpp-messages method: get operationId: listOcppMessages x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ocpp/reservations method: post operationId: createReservation 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: /ocpp/reservations/cancel method: post operationId: cancelReservation 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: /site/{site-id}/limits method: get operationId: getSitePowerLimits x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /site/{site-id}/limits method: post operationId: createSitePowerLimit 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: /site/{site-id}/limits/{schedule-id} method: delete operationId: deleteSitePowerLimit 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: /departure-times/vehicle method: post operationId: syncVehicleDepartureTimes 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: /departure-times/batch method: post operationId: batchSyncDepartureTimes 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: /maintenance-windows method: get operationId: listMaintenanceWindows x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none