generated: '2026-07-15' method: generated source: openapi/grist-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: 120 by_action_class: connected: 45 acting: 75 by_consequence: read: 45 write: 71 safety-critical: 3 physical: 1 human_in_the_loop_required: 3 operations: - path: /orgs method: get operationId: listOrgs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /orgs/{orgId} method: get operationId: describeOrg x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /orgs/{orgId} method: patch operationId: modifyOrg 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: /orgs/{orgId}/{name} method: delete operationId: deleteOrg 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: /orgs/{orgId}/access method: get operationId: listOrgAccess x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /orgs/{orgId}/access method: patch operationId: modifyOrgAccess 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: /orgs/{orgId}/usage method: get operationId: getOrgUsage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /orgs/{orgId}/workspaces method: get operationId: listWorkspaces x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /orgs/{orgId}/workspaces method: post operationId: createWorkspace 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: /workspaces/{workspaceId} method: get operationId: describeWorkspace x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /workspaces/{workspaceId} method: patch operationId: modifyWorkspace 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: /workspaces/{workspaceId} method: delete operationId: deleteWorkspace 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: /workspaces/{workspaceId}/remove method: post operationId: removeWorkspace 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: /workspaces/{workspaceId}/unremove method: post operationId: unremoveWorkspace 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: /workspaces/{workspaceId}/docs method: post operationId: createDoc 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: /workspaces/{workspaceId}/import method: post operationId: importDoc 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: /workspaces/{workspaceId}/access method: get operationId: listWorkspaceAccess x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /workspaces/{workspaceId}/access method: patch operationId: modifyWorkspaceAccess 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: /templates method: get operationId: listTemplates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /templates/{templateId} method: get operationId: getTemplate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /widgets method: get operationId: listWidgets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs method: post operationId: createDocUnified 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: /docs/{docId} method: get operationId: describeDoc x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId} method: patch operationId: modifyDoc 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: /docs/{docId} method: delete operationId: deleteDoc 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: /docs/{docId}/remove method: post operationId: removeDoc 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: /docs/{docId}/unremove method: post operationId: unremoveDoc 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: /docs/{docId}/move method: patch operationId: moveDoc 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: /docs/{docId}/pin method: patch operationId: pinDoc 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: /docs/{docId}/unpin method: patch operationId: unpinDoc 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: /docs/{docId}/disable method: post operationId: disableDoc 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: /docs/{docId}/enable method: post operationId: enableDoc 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: /docs/{docId}/copy method: post operationId: copyDoc 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: /docs/{docId}/fork method: post operationId: forkDoc 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: /docs/{docId}/access method: get operationId: listDocAccess x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/access method: patch operationId: modifyDocAccess 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: /docs/{docId}/usersForViewAs method: get operationId: getUsersForViewAs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/download method: get operationId: downloadDoc x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/download/xlsx method: get operationId: downloadDocXlsx x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/download/csv method: get operationId: downloadDocCsv x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/download/tsv method: get operationId: downloadDocTsv x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/download/dsv method: get operationId: downloadDocDsv x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/download/table-schema method: get operationId: downloadTableSchema x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/snapshots method: get operationId: listSnapshots x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/snapshots/remove method: post operationId: removeSnapshots 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: /docs/{docId}/states method: get operationId: getStates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/compare method: get operationId: compareVersions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/compare/{docId2} method: get operationId: compareDocuments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/states/remove method: post operationId: deleteActions 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: /docs/{docId}/proposals method: get operationId: listProposals x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/propose method: post operationId: createProposal 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: /docs/{docId}/proposals/{proposalId}/apply method: post operationId: applyProposal 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: /docs/{docId}/force-reload method: post operationId: forceReload 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: /docs/{docId}/flush method: post operationId: flushDoc 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: /docs/{docId}/assign method: post operationId: assignDoc 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: /docs/{docId}/replace method: post operationId: replaceDoc 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: /docs/{docId}/recover method: post operationId: recoverDoc 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: /docs/{docId}/timing method: get operationId: getTimingStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/timing/start method: post operationId: startTiming 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: /docs/{docId}/timing/stop method: post operationId: stopTiming 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: /docs/{docId}/apply method: post operationId: applyUserActions 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: /docs/{docId}/tables/{tableId}/data method: get operationId: getTableData x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/tables/{tableId}/data method: post operationId: addRows 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: /docs/{docId}/tables/{tableId}/data method: patch operationId: modifyRows 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: /docs/{docId}/tables/{tableId}/data/delete method: post operationId: deleteRows 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: /docs/{docId}/attachments method: get operationId: listAttachments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/attachments method: post operationId: uploadAttachments 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: /docs/{docId}/attachments/{attachmentId} method: get operationId: getAttachmentMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/attachments/{attachmentId}/download method: get operationId: downloadAttachment x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/attachments/archive method: get operationId: downloadAttachments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/attachments/archive method: post operationId: uploadMissingAttachments 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: /docs/{docId}/attachments/store method: get operationId: getDocumentAttachmentStore x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/attachments/store method: post operationId: setDocumentAttachmentStore 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: /docs/{docId}/attachments/stores method: get operationId: listAttachmentStores x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/attachments/transferAll method: post operationId: startAttachmentTransfer x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /docs/{docId}/attachments/transferStatus method: get operationId: getAttachmentTransferStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/attachments/removeUnused method: post operationId: removeUnusedAttachments 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: /docs/{docId}/attachments/updateUsed method: post operationId: updateUsedAttachments 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: /docs/{docId}/attachments/verifyFiles method: post operationId: verifyAttachmentFiles 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: /docs/{docId}/tables/{tableId}/records method: get operationId: listRecords x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/tables/{tableId}/records method: post operationId: addRecords 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: /docs/{docId}/tables/{tableId}/records method: patch operationId: modifyRecords 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: /docs/{docId}/tables/{tableId}/records method: put operationId: replaceRecords 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: /docs/{docId}/tables/{tableId}/records/delete method: post operationId: deleteRecords 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: /docs/{docId}/tables method: get operationId: listTables x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/tables method: post operationId: addTables 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: /docs/{docId}/tables method: patch operationId: modifyTables 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: /docs/{docId}/tables/{tableId}/columns method: get operationId: listColumns x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/tables/{tableId}/columns method: post operationId: addColumns 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: /docs/{docId}/tables/{tableId}/columns method: patch operationId: modifyColumns 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: /docs/{docId}/tables/{tableId}/columns method: put operationId: replaceColumns 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: /docs/{docId}/tables/{tableId}/columns/{colId} method: delete operationId: deleteColumn 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: /docs/{docId}/forms/{viewSectionId} method: get operationId: getFormData x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/webhooks method: get operationId: listWebhooks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/webhooks method: post operationId: createWebhooks 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: /docs/{docId}/webhooks/{webhookId} method: patch operationId: modifyWebhook 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: /docs/{docId}/webhooks/{webhookId} method: delete operationId: deleteWebhook 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: /docs/{docId}/webhooks/queue method: delete operationId: clearWebhookQueue 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: /docs/{docId}/webhooks/queue/{webhookId} method: delete operationId: clearWebhookQueueForWebhook 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: /docs/{docId}/sql method: get operationId: runSqlGet x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /docs/{docId}/sql method: post operationId: runSql 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: /profile/user method: get operationId: getProfile x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /profile/user/name method: post operationId: updateUserName 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: /profile/user/locale method: post operationId: updateUserLocale 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: /profile/apikey method: get operationId: getApiKey x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /profile/apikey method: post operationId: createApiKey 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: /profile/apikey method: delete operationId: deleteApiKey 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: /session/access/active method: get operationId: getActiveSession x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /session/access/active method: post operationId: setActiveUser 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: /session/access/all method: get operationId: getAllSessions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{userId} method: delete operationId: deleteUser 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: /users/{userId}/disable method: post operationId: disableUser 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: /users/{userId}/enable method: post operationId: enableUser 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: /service-accounts method: get operationId: listServiceAccounts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /service-accounts method: post operationId: createServiceAccount 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: /service-accounts/{saId} method: get operationId: getServiceAccount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /service-accounts/{saId} method: patch operationId: modifyServiceAccount 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: /service-accounts/{saId} method: delete operationId: deleteServiceAccount 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: /service-accounts/{saId}/apikey method: post operationId: regenerateServiceAccountApiKey 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: /service-accounts/{saId}/apikey method: delete operationId: deleteServiceAccountApiKey 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