generated: '2026-08-09' method: generated source: openapi/linkpeek-openapi-original.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: 16 by_action_class: connected: 16 by_consequence: read: 16 human_in_the_loop_required: 0 operations: - path: /api/preview method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/qr method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/qrcode method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/favicon-extractor method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/meta-tag-parser method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/status method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/health method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/og-image method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/extract method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/metadata-full method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/batch method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/favicons method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/headers method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/key method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/subscribe method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/health/json method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none # --- API Evangelist review note, added 2026-08-09 ------------------------------------------- # The method-based heuristic above classified all 16 operations as connected/read because every # one is a GET. Two of them are NOT reads and must be overridden before this contract is used: # # GET /api/key?email= mints a 14-day API key -> acting / write # GET /api/subscribe?email= mints a Pro key AND starts a -> acting / write # $1/month PayPal subscription # # Neither has an idempotency contract, so a retry or a prefetch can mint keys or start billing. # Any agent policy derived from this file must move those two to action-class: acting, # consequence: write, audit: required, and keep them off automatic retry paths. review_overrides: - path: /api/key method: get reason: side-effecting GET — issues a 14-day API key x-agentic-access: action-class: acting consequence: write subject: required token: max-ttl: 900 audit: required - path: /api/subscribe method: get reason: side-effecting GET — mints a Pro key and initiates a paid subscription x-agentic-access: action-class: acting consequence: physical subject: required token: max-ttl: 300 exchange: required purpose: required audit: required human-in-the-loop: required