generated: '2026-07-15' method: generated source: openapi/codeproject-ai-server-openapi.yml, openapi/codeproject-rest-api-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: 42 by_action_class: acting: 29 connected: 13 by_consequence: write: 28 safety-critical: 1 read: 13 human_in_the_loop_required: 1 operations: - path: /v1/status/ping method: post operationId: pingServer 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/status/version method: post operationId: getServerVersion 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/status/logs method: post operationId: getServerLogs 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/status/updateavailable method: post operationId: checkForUpdates 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/vision/detection method: post operationId: detectObjects 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/vision/custom/{modelName} method: post operationId: detectCustom 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/vision/custom/list method: post operationId: listCustomModels 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/vision/scene method: post operationId: classifyScene 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/vision/face method: post operationId: detectFaces 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/vision/face/match method: post operationId: matchFaces 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/vision/face/list method: post operationId: listRegisteredFaces 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/vision/face/register method: post operationId: registerFace 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/vision/face/delete method: post operationId: deleteFace 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/vision/face/recognize method: post operationId: recognizeFaces 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/vision/alpr method: post operationId: readLicensePlate 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/image/alpr method: post operationId: readLicensePlateLegacy 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/image/removebackground method: post operationId: removeBackground 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/image/cartoonise method: post operationId: cartoonise 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/image/portraitfilter method: post operationId: portraitFilter 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/image/superresolution method: post operationId: superResolution 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/sound/classify method: post operationId: classifySound 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/text/sentiment method: post operationId: analyzeSentiment 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/text/summarize method: post operationId: summarizeText 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/train/create_dataset method: post operationId: createTrainingDataset 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/train/train_model method: post operationId: trainModel 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/train/status method: post operationId: getTrainingStatus 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/train/cancel method: post operationId: cancelTraining 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: /v1/train/get_model method: post operationId: getTrainedModel 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/train/get_dataset method: post operationId: getTrainingDataset 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/Articles method: get operationId: listArticles x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - path: /v1/Articles/{id} method: get operationId: getArticle x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - path: /v1/ForumMessages/{forumId} method: get operationId: listForumMessages x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - path: /v1/Questions method: get operationId: listQuestions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - path: /v1/Questions/{id} method: get operationId: getQuestion x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - path: /v1/My/Profile method: get operationId: getMyProfile x-agentic-access: action-class: connected consequence: read subject: optional scope: - read token: max-ttl: 3600 audit: none - path: /v1/My/Reputation method: get operationId: getMyReputation x-agentic-access: action-class: connected consequence: read subject: optional scope: - read token: max-ttl: 3600 audit: none - path: /v1/My/Articles method: get operationId: listMyArticles x-agentic-access: action-class: connected consequence: read subject: optional scope: - read token: max-ttl: 3600 audit: none - path: /v1/My/Answers method: get operationId: listMyAnswers x-agentic-access: action-class: connected consequence: read subject: optional scope: - read token: max-ttl: 3600 audit: none - path: /v1/My/Blog method: get operationId: listMyBlogPosts x-agentic-access: action-class: connected consequence: read subject: optional scope: - read token: max-ttl: 3600 audit: none - path: /v1/My/Bookmarks method: get operationId: listMyBookmarks x-agentic-access: action-class: connected consequence: read subject: optional scope: - read token: max-ttl: 3600 audit: none - path: /v1/My/Notifications method: get operationId: listMyNotifications x-agentic-access: action-class: connected consequence: read subject: optional scope: - read token: max-ttl: 3600 audit: none - path: /v1/My/Tips method: get operationId: listMyTips x-agentic-access: action-class: connected consequence: read subject: optional scope: - read token: max-ttl: 3600 audit: none