generated: '2026-07-15' method: generated source: openapi/aip.yaml, openapi/connect.yaml, openapi/core-api.json, openapi/data.yaml, openapi/events-v1.yaml, openapi/events-v2.yaml, openapi/metar.yaml, openapi/slurper.yaml 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: 34 by_action_class: connected: 32 acting: 2 by_consequence: read: 32 write: 2 human_in_the_loop_required: 0 operations: - path: /airports/{icao} method: get operationId: getAirport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /airports/{icao}/stations method: get operationId: listAirportStations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /oauth/authorize method: get operationId: redirect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /oauth/token method: post operationId: getToken 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: /api/user method: get operationId: getUser x-agentic-access: action-class: connected consequence: read subject: optional scope: - country - email - full_name - vatsim_details token: max-ttl: 3600 audit: none - path: /v2/members/{member_id}/flightplans method: get operationId: members_api_retrieve_member_flightplans x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/members/{member_id}/stats method: get operationId: members_api_retrieve_member_stats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/members/{member_id}/status method: get operationId: members_api_retrieve_member_status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/members/{member_id} method: get operationId: members_api_retrieve_member_details x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/members/{member_id} method: patch operationId: members_api_update_member_details 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: /v2/members/{member_id}/atc method: get operationId: members_api_history_atc_cid x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/members/online method: get operationId: members_api_online x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/members/{member_id}/history method: get operationId: members_api_history x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/members/discord/{discord_user_id} method: get operationId: members_api_get_vatsim_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/orgs/subdivision/{subdivision_id} method: get operationId: orgs_api_subdivision_roster x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/orgs/division/{division_id} method: get operationId: orgs_api_division_roster x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/atc/online method: get operationId: atc_api_online_atc x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v2/atc/history method: get operationId: atc_api_history_atc x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vatsim-servers.json method: get operationId: listLiveFSDServers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sweatbox-servers.json method: get operationId: listSweatboxFSDServers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /all-servers.json method: get operationId: listAllFSDServers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /vatsim-data.json method: get operationId: getNetworkData x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /transceivers-data.json method: get operationId: listAudioClients x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /afv-atis-data.json method: get operationId: listATISStations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{num} method: get operationId: listEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{num}/{regionId} method: get operationId: listEventsByRegion x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /latest method: get operationId: listAllEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /latest/{num} method: get operationId: listEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /view/{eventId} method: get operationId: getEvent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /view/region/{regionId} method: get operationId: listEventsByRegion x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /view/division/{divisionId} method: get operationId: listEventsByDivision x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /export method: get operationId: exportEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{icao} method: get operationId: getMetar x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/info method: get operationId: getUserInfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none