duvo.ai Agentic Access
duvo.ai exposes 213 API operations that an AI agent could call, of which 124 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 89 read, 116 write, 1 physical, and 7 safety-critical.
7 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| POST | /v2/artifacts/{artifactId}/stop | safety-critical | required |
| POST | /v2/clarity-v2/processes/{process_id}/snapshots/{kind}/stop | safety-critical | required |
| POST | /v2/runs/{run_id}/stop | safety-critical | required |
| DELETE | /v2/skills/{skill_id} | safety-critical | required |
| PUT | /v2/skills/{skill_id}/files/{*} | safety-critical | required |
| POST | /v2/teams/{teamId}/skills | safety-critical | required |
| POST | /v2/teams/{teamId}/skills/upload | safety-critical | required |
| POST | /v2/artifacts/{artifactId}/messages | physical | conditional |
Source
Agentic Access
generated: '2026-07-18'
method: generated
source: openapi/duvoai-openapi-original.json
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: 213
by_action_class:
acting: 124
connected: 89
by_consequence:
write: 116
read: 89
physical: 1
safety-critical: 7
human_in_the_loop_required: 7
operations:
- path: /v2/mcp
method: post
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: /v2/mcp
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/memory/files
method: get
operationId: listAgentMemoryFiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/memory/files/{*}
method: get
operationId: getAgentMemoryFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/plugins/catalog
method: get
operationId: listPluginCatalog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/schedules
method: post
operationId: createSchedule
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: /v2/agents/{agent_id}/schedules
method: get
operationId: listAgentSchedules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/schedules/{schedule_id}
method: patch
operationId: updateSchedule
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: /v2/agents/{agent_id}/schedules/{schedule_id}
method: delete
operationId: deleteSchedule
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: /v2/teams/{teamId}
method: get
operationId: getTeam
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/teams/{teamId}/connections/oauth/native/{provider}/start
method: post
operationId: startNativeOAuth
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: /v2/teams/{teamId}/connections/oauth/mcp/start
method: post
operationId: authorizeMcpOAuth
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: /v2/connections/oauth/mcp/check
method: post
operationId: checkMcpOAuth
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: /v2/artifacts
method: get
operationId: listPulseDashboards
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/artifacts
method: post
operationId: createPulseDashboard
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: /v2/artifacts/{artifactId}
method: get
operationId: getPulseDashboard
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/artifacts/{artifactId}
method: patch
operationId: updatePulseDashboard
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: /v2/artifacts/{artifactId}
method: delete
operationId: deletePulseDashboard
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: /v2/artifacts/{artifactId}/render
method: get
operationId: getPulseDashboardHtml
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/artifacts/{artifactId}/export/pdf
method: get
operationId: getPulseDashboardPdf
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/artifacts/{artifactId}/export/html
method: get
operationId: exportPulseDashboardHtml
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/artifacts/{artifactId}/publish
method: post
operationId: publishPulseDashboard
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: /v2/artifacts/{artifactId}/duplicate
method: post
operationId: duplicatePulseDashboard
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: /v2/artifacts/{artifactId}/messages
method: post
operationId: sendPulseDashboardMessage
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: /v2/artifacts/{artifactId}/messages
method: get
operationId: listPulseDashboardMessages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/artifacts/{artifactId}/refresh
method: post
operationId: refreshPulseDashboard
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: /v2/artifacts/{artifactId}/stop
method: post
operationId: stopPulseDashboardMessage
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: /v2/artifacts/{artifactId}/connections
method: get
operationId: listPulseDashboardConnections
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/artifacts/{artifactId}/connections
method: post
operationId: attachPulseDashboardConnection
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: /v2/artifacts/{artifactId}/connections/{connectionId}
method: delete
operationId: detachPulseDashboardConnection
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: /v2/artifacts/{artifactId}/answer
method: post
operationId: answerPulseDashboardQuestion
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: /v2/artifacts/{artifactId}/revisions
method: get
operationId: listPulseDashboardVersions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/artifacts/{artifactId}/revisions/{revisionId}/render
method: get
operationId: getPulseDashboardVersionHtml
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/artifacts/{artifactId}/revisions/{revisionId}/restore
method: post
operationId: restorePulseDashboardVersion
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: /v2/sandboxes
method: post
operationId: createSandbox
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: /v2/sandboxes/{sandbox_id}/upload-urls
method: post
operationId: createSandboxUploadUrl
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: /v2/sandboxes/{sandbox_id}/files
method: get
operationId: listSandboxFiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/sandboxes/{sandbox_id}/files
method: post
operationId: uploadSandboxFile
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: /v2/agent/{agentId}/runs/{runId}/evaluation
method: get
operationId: getRunEvaluation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agent/{agentId}/eval-scores
method: get
operationId: getEvalScores
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agentId}/eval-rubrics
method: get
operationId: getEvalRubrics
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agentId}/eval-rubrics
method: post
operationId: createEvalRubric
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: /v2/agents/{agentId}/eval-rubrics
method: put
operationId: replaceEvalRubrics
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: /v2/agents/{agentId}/eval-rubrics/{rubricId}
method: patch
operationId: updateEvalRubric
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: /v2/agents/{agentId}/eval-rubrics/{rubricId}
method: delete
operationId: deleteEvalRubric
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: /v2/agents/{agent_id}/case-triggers
method: get
operationId: listAgentCaseTriggers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/case-triggers
method: post
operationId: createAgentCaseTrigger
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: /v2/agents/{agent_id}/case-triggers/conflict-preview
method: get
operationId: previewAgentCaseTriggerConflicts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/case-triggers/{trigger_id}
method: get
operationId: getAgentCaseTrigger
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/case-triggers/{trigger_id}
method: patch
operationId: updateAgentCaseTrigger
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: /v2/agents/{agent_id}/case-triggers/{trigger_id}
method: delete
operationId: deleteAgentCaseTrigger
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: /v2/triggers/{agentId}
method: get
operationId: listAgentTriggers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/triggers/{agentId}
method: put
operationId: upsertAgentTrigger
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: /v2/trigger-config/{agentId}
method: get
operationId: listAgentTriggerTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/revisions
method: post
operationId: createRevision
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: /v2/agents/{agent_id}/revisions
method: get
operationId: listAgentRevisions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/revisions/{build_id}
method: get
operationId: getRevision
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/revisions/{build_id}
method: patch
operationId: updateRevision
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: /v2/revisions/{build_id}/promote
method: post
operationId: promoteRevision
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: /v2/agents/{agent_id}
method: get
operationId: getAgent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}
method: patch
operationId: updateAgent
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: /v2/agents/{agent_id}
method: delete
operationId: deleteAgent
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: /v2/agents/{agent_id}/move
method: post
operationId: moveAgent
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: /v2/agents/{agent_id}/revisions/{build_id}/integrations
method: get
operationId: listRevisionIntegrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/revisions/{build_id}/integrations
method: post
operationId: attachRevisionIntegrations
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: /v2/agents/{agent_id}/revisions/{build_id}/integrations/{integration_id}
method: delete
operationId: removeRevisionIntegration
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: /v2/agents/{agent_id}/revisions/{build_id}/integrations/{integration_id}/connections
method: get
operationId: listRevisionIntegrationConnections
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/revisions/{build_id}/integrations/{integration_id}/connections
method: post
operationId: pinRevisionIntegrationConnection
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: /v2/agents/{agent_id}/revisions/{build_id}/integrations/{integration_id}/connections/{connection_id}
method: delete
operationId: unpinRevisionIntegrationConnection
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: /v2/agents/{agent_id}/revisions/{build_id}/case-queue-validation
method: get
operationId: getRevisionCaseQueueSetup
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/revisions/{build_id}/integrations/{integration_id}/queues
method: get
operationId: listRevisionIntegrationQueues
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/{agent_id}/revisions/{build_id}/integrations/{integration_id}/queues
method: put
operationId: replaceRevisionIntegrationQueues
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: /v2/agents/{agent_id}/suggestions
method: get
operationId: listAgentSuggestions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/agents/suggestions/{id}/consume
method: post
operationId: consumeAgentSuggestion
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: /v2/agents/suggestions/{id}/reject
method: post
operationId: rejectAgentSuggestion
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: /v2/skills/system
method: get
operationId: listSystemSkills
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/skills/{skill_id}
method: delete
operationId: deleteSkill
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: /v2/skills/{skill_id}/download
method: get
operationId: downloadSkill
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/skills/{skill_id}/files
method: get
operationId: listSkillFiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/skills/{skill_id}/files/{*}
method: get
operationId: getSkillFileContent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/skills/{skill_id}/files/{*}
method: put
operationId: updateSkillFile
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: /v2/skills/{skill_id}/assignments
method: get
operationId: listSkillAssignments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/profile
method: get
operationId: getProfile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/clarity/processes/{id}
method: get
operationId: getLegacyClarityProcess
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/organizations/{orgId}/clarity/hierarchy/nodes/{nodeId}
method: patch
operationId: updateClarityLandscapeNode
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: /v2/organizations/{orgId}/clarity/hierarchy/nodes/{nodeId}
method: delete
operationId: deleteClarityLandscapeNode
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: /v2/organizations/{orgId}/clarity/hierarchy/nodes/{nodeId}/placement
method: put
operationId: setClarityLandscapeNodePlacement
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: /v2/organizations/{orgId}/clarity/hierarchy/proposed-processes
method: post
operationId: proposeClarityLandscapeProcess
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: /v2/clarity-v2/processes/{process_id}
method: get
operationId: getClarityProcess
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/clarity-v2/processes/{process_id}/postprocess
method: post
operationId: postprocessClaritySnapshot
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: /v2/clarity-v2/processes/{process_id}/automation
method: post
operationId: buildClarityAutomation
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: /v2/clarity-v2/processes/{process_id}/transformation-proposals/{transformation_proposal_id}/extra-capture-requests
method: get
operationId: listClarityExtraCaptureRequests
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/clarity-v2/processes/{process_id}/transformation-proposals/{transformation_proposal_id}/extra-capture-requests/{request_id}/assign
method: patch
operationId: assignClarityExtraCaptureRequest
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: /v2/clarity-v2/processes/{process_id}/invite-link
method: post
operationId: createClarityInviteLink
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: /v2/clarity-v2/processes/{process_id}/artifact-imports/create-upload-url
method: post
operationId: createClarityArtifactImportUploadUrl
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: /v2/clarity-v2/processes/{process_id}/artifact-imports/{capture_id}/complete
method: post
operationId: completeClarityArtifactImport
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: /v2/clarity-v2/processes/{process_id}/artifact-chat/conversations
method: get
operationId: listClarityArtifactChatConversations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/clarity-v2/processes/{process_id}/artifact-chat/conversations/{conversation_id}/messages
method: get
operationId: getClarityArtifactChatMessages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/clarity-v2/processes/{process_id}/artifact-chat/messages
method: post
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: /v2/clarity-v2/processes/{process_id}/artifact-chat/messages/{message_id}
method: put
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: /v2/clarity-v2/processes/{process_id}/snapshots/{kind}
method: get
operationId: listClarityProcessSnapshots
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/clarity-v2/processes/{process_id}/snapshots/{kind}/{snapshot_id}
method: get
operationId: getClarityProcessSnapshot
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/clarity-v2/processes/{process_id}/snapshots/{kind}/{snapshot_id}
method: delete
operationId: revertClarityProcessSnapshot
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/duvoai/refs/heads/main/agentic-access/duvoai-agentic-access.yml