generated: '2026-09-22' method: generated source: openapi/miniflux-openapi-generated.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: 42 by_action_class: acting: 20 connected: 22 by_consequence: write: 20 read: 22 human_in_the_loop_required: 0 operations: - path: /feeds/{feedID}/entries/import method: post operationId: post_feeds_feedID_entries_import 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: /healthcheck method: get operationId: get_healthcheck x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /integrations/status method: get operationId: get_integrations_status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /liveness method: get operationId: get_liveness x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /readiness method: get operationId: get_readiness x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/api-keys method: get operationId: get_v1_api_keys x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/api-keys method: post operationId: post_v1_api_keys 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: /v1/api-keys/1 method: delete operationId: delete_v1_api_keys_1 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: /v1/categories method: get operationId: get_v1_categories x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/categories method: post operationId: post_v1_categories 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: /v1/categories/123 method: put operationId: put_v1_categories_123 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: /v1/categories/123/mark-all-as-read method: put operationId: put_v1_categories_123_mark_all_as_read 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: /v1/categories/123/refresh method: put operationId: put_v1_categories_123_refresh 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: /v1/categories/22/entries method: get operationId: get_v1_categories_22_entries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/categories/802 method: delete operationId: delete_v1_categories_802 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: /v1/categories/802 method: put operationId: put_v1_categories_802 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: /v1/enclosures/{enclosureID} method: get operationId: get_v1_enclosures_enclosureID x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/enclosures/{enclosureID} method: put operationId: put_v1_enclosures_enclosureID 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: /v1/entries method: get operationId: get_v1_entries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/entries method: put operationId: put_v1_entries 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: /v1/entries/1234/bookmark method: put operationId: put_v1_entries_1234_bookmark 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: /v1/entries/888 method: get operationId: get_v1_entries_888 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/entries/ids method: get operationId: get_v1_entries_ids x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/entries/{entryID} method: put operationId: put_v1_entries_entryID 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: /v1/entries/{entryID}/fetch-content method: get operationId: get_v1_entries_entryID_fetch_content x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/entries/{entryID}/save method: post operationId: post_v1_entries_entryID_save 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: /v1/export method: get operationId: get_v1_export x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/feeds/123/mark-all-as-read method: put operationId: put_v1_feeds_123_mark_all_as_read 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: /v1/feeds/42/entries method: get operationId: get_v1_feeds_42_entries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/feeds/42/entries/888 method: get operationId: get_v1_feeds_42_entries_888 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/feeds/counters method: get operationId: get_v1_feeds_counters x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/import method: post operationId: post_v1_import 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: /v1/me method: get operationId: get_v1_me x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/users method: get operationId: get_v1_users x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/users method: post operationId: post_v1_users 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: /v1/users/123/mark-all-as-read method: put operationId: put_v1_users_123_mark_all_as_read 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: /v1/users/270 method: delete operationId: delete_v1_users_270 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: /v1/users/270 method: get operationId: get_v1_users_270 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/users/270 method: put operationId: put_v1_users_270 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: /v1/users/foobar method: get operationId: get_v1_users_foobar x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/version method: get operationId: get_v1_version x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /version method: get operationId: get_version x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none