generated: '2026-07-15' method: generated source: openapi/wikivoyage-mediawiki-action-api-openapi.yaml, openapi/wikivoyage-mediawiki-core-rest-openapi.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: 24 by_action_class: connected: 17 acting: 7 by_consequence: read: 17 safety-critical: 1 write: 6 human_in_the_loop_required: 1 operations: - path: /api.php method: get operationId: callActionApiGet x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api.php method: post operationId: callActionApiPost 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: /page/{title} method: get operationId: getPage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /page/{title} method: put operationId: updatePage 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: /page/{title}/bare method: get operationId: getPageBare x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /page/{title}/html method: get operationId: getPageHtml x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /page/{title}/with_html method: get operationId: getPageWithHtml x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /page method: post operationId: createPage 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: /search/page method: get operationId: searchPages x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /search/title method: get operationId: searchTitles x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /file/{title} method: get operationId: getFile x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /page/{title}/history method: get operationId: getPageHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /page/{title}/history/counts/{type} method: get operationId: getPageHistoryCounts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /revision/{id} method: get operationId: getRevision x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /revision/{id}/bare method: get operationId: getRevisionBare x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /revision/{id}/source method: get operationId: getRevisionSource x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /revision/{id}/html method: get operationId: getRevisionHtml x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /revision/{id}/with_html method: get operationId: getRevisionWithHtml x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /revision/{from}/compare/{to} method: post operationId: compareRevisions 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: /transform/wikitext/to/html/{title} method: post operationId: transformWikitextToHtml 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: /transform/html/to/wikitext/{title} method: post operationId: transformHtmlToWikitext 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: /transform/wikitext/to/lint/{title} method: post operationId: transformWikitextToLint 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: /page/{title}/links/language method: get operationId: getPageLanguageLinks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /page/{title}/links/media method: get operationId: getPageMediaLinks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none