Skip to content

Duvo MCP

by duvoai · remote · no sign-in to list tools · v2026-05-24 · published by GitHub user duvoai

Governed retail, FMCG, and CPG operational tools: runs, cases, approvals, audit-ready execution.

Deletes · 136Final · 14Changes · 109

402 tools: 136 can delete or cancel things, 14 do something that can't be undone, 109 change things and 143 only read.

Scanned Oct 21, 2026

22 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http duvo https://api.duvo.ai/v1/mcp --header 'Authorization: <your-authorization>'

Findings

Matches of fixed checks, with the text they matched.

5 warn17 info
  • The server marks "postprocessClaritySnapshot" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "postprocessClaritySnapshot" says "snapshot": a word for reading.

    What this check looks for
  • The server marks "promoteClarityProcessSnapshot" destructive (destructiveHint: true), and its name says "snapshot", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "promoteClarityProcessSnapshot" says "snapshot": a word for reading.

    What this check looks for
  • The server marks "revertClarityProcessSnapshot" destructive (destructiveHint: true), and its name says "snapshot", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false}; The name "revertClarityProcessSnapshot" says "snapshot": a word for reading.

    What this check looks for
  • The server marks "searchCases" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "searchCases" says "search": a word for reading.

    What this check looks for
  • The server marks "getFileDownloadUrl" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "getFileDownloadUrl" says "get": a word for reading.

    What this check looks for
  • The input schema at properties.oauth_client_id.description mentions "credentials".

    Matched text

    inputSchema.properties.oauth_client_id.description: "...d). Takes precedence over preregistered credentials and Dynamic Client Registration. Cannot..."

    What this check looks for
Show 16 more findings

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

402 tools

Deletes or cancels 136Claude Code: deny
  • assignClarityExtraCaptureRequestAssign (or unassign, with `user_id: null`) a team member to fulfil an extra-capture request.No findings

    Why it is in this group

    • The name "assignClarityExtraCaptureRequest" says "assign": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Assign (or unassign, with `user_id: null`) a team member to fulfil an extra-capture request. Restricted to Lead Builders and above.

    Annotations the server declares

    • title: Assign Clarity Extra Capture Request
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • assignClarityLandscapeCaptureRequestAssign an open Process Landscape capture request to a team member, or unassign it by sending userId: null (manager+).No findings

    Why it is in this group

    • The name "assignClarityLandscapeCaptureRequest" says "assign": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Assign an open Process Landscape capture request to a team member, or unassign it by sending userId: null (manager+).

    Annotations the server declares

    • title: Assign Clarity Landscape Capture Request
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • assignClarityLandscapeNodeTeamSet the owning team of a process in the process landscape (organization admin+).No findings

    Why it is in this group

    • The name "assignClarityLandscapeNodeTeam" says "assign": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set the owning team of a process in the process landscape (organization admin+). On a proposed process this accepts the proposal and creates the real process for that team; on an existing process it moves the process, its captures and its brief to another team.

    Annotations the server declares

    • title: Assign Clarity Landscape Node Team
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • bulkReprocessCasesRe-process multiple cases on a chosen agent.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Re-process multiple cases on a chosen agent. Any active runs on the selected cases are interrupted first; the cases are then reset to pending and assigned to the chosen agent for the next dispatcher tick. The chosen agent must already be connected to the queue as a case-queue-consumer (with the trigger enabled or disabled) and not belong to a different automation than the queue.

    Annotations the server declares

    • title: Bulk Reprocess Cases
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • bulkUpdateCasePrioritySet the priority of multiple cases.No findings

    Why it is in this group

    • The name "bulkUpdateCasePriority" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set the priority of multiple cases. Priority only affects the order pending cases are picked up in: due postponed cases are handled first, then higher priority. It never interrupts runs or changes case status. Set `none` to clear priority back to the default.

    Annotations the server declares

    • title: Bulk Update Case Priority
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • bulkUpdateCaseStatusUpdate the status of multiple cases to pending, completed, failed, or canceled.No findings

    Why it is in this group

    • The name "bulkUpdateCaseStatus" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update the status of multiple cases to pending, completed, failed, or canceled. Interrupts any active runs and releases their case ownership, but never cancels their human-in-the-loop state — pending requests and open approval batches stay answerable/resolvable from the run view. Settling a case archives the pending requests on every run attached to it, both the runs this call interrupted and any that were already terminal, so they leave the activity inbox instead of outliving the case there. Resetting to pending archives nothing and re-dispatches cases to the queue's trigger consumer.

    Annotations the server declares

    • title: Bulk Update Case Status
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • cancelBuilderRunCancel a running builder run and pause its sandboxNo findings

    Why it is in this group

    • The name "cancelBuilderRun" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Cancel a running builder run and pause its sandbox

    Annotations the server declares

    • title: Cancel Builder Run
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • consumeAgentSuggestionApply a suggestion: stage its change into the Agent's draft revision, then auto-clear any pending suggestions it makes moot.No findings

    Why it is in this group

    • The description's first verb is "apply": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Apply a suggestion: stage its change into the Agent's draft revision, then auto-clear any pending suggestions it makes moot.

    Annotations the server declares

    • title: Consume Agent Suggestion
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • declineClarityLandscapeNodeReject a proposed process landscape node while it is still a proposal, removing it and any proposed descendants.No findings

    Why it is in this group

    • The description's first verb is "reject": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Reject a proposed process landscape node while it is still a proposal, removing it and any proposed descendants. Real processes nested underneath survive and move back to Unsorted. Only proposals can be declined — an accepted node is removed with deleteClarityLandscapeNode.

    Annotations the server declares

    • title: Decline Clarity Landscape Node
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • declineRevisionGenerationDiscard generated changes by restoring checkpoint_config and completing the builder run.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Discard generated changes by restoring checkpoint_config and completing the builder run. The saved draft is not activated.

    Annotations the server declares

    • title: Decline Revision Generation
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • deleteAgentDelete an agent and cascade-clean its schedules, case triggers, builder runs, and handover targets.No findings

    Why it is in this group

    • The name "deleteAgent" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an agent and cascade-clean its schedules, case triggers, builder runs, and handover targets. Any active jobs are interrupted and their sandboxes paused.

    Annotations the server declares

    • title: Delete Agent
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteAgentCaseTriggerDelete a case trigger.No findings

    Why it is in this group

    • The name "deleteAgentCaseTrigger" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a case trigger. Only the trigger creator or a builder/admin can delete it.

    Annotations the server declares

    • title: Delete Agent Case Trigger
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteAgentFolderDelete an agent folder.No findings

    Why it is in this group

    • The name "deleteAgentFolder" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an agent folder. If the folder contains assignments or subfolders, pass `force=true` to delete it and move the contained assignments to the root level.

    Annotations the server declares

    • title: Delete Agent Folder
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteAgentTriggerPermanently delete one of your own event triggers on an agent.No findings

    Why it is in this group

    • The name "deleteAgentTrigger" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Permanently delete one of your own event triggers on an agent. The agent stops starting Runs for that event and the trigger's filter config is lost. To keep the trigger but stop it firing, upsert it with `enabled: false` instead.

    Annotations the server declares

    • title: Delete Agent Trigger
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteAllNotificationsSoft-delete all notifications for the authenticated user's current team, read or unread.No findings

    Why it is in this group

    • The name "deleteAllNotifications" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Soft-delete all notifications for the authenticated user's current team, read or unread. Returns the count of notifications that were deleted. Destructive — only call on explicit user request, never bulk-delete unprompted. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

    Annotations the server declares

    • title: Delete All Notifications
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteAutomationSoft-delete an automation.No findings

    Why it is in this group

    • The name "deleteAutomation" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Soft-delete an automation. Its member agents and queues stop dispatching and disappear from listings, but their underlying rows and run history are preserved (not erased) so the automation can be restored.

    Annotations the server declares

    • title: Delete Automation
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteCaseDelete a case.No findings

    Why it is in this group

    • The name "deleteCase" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a case. Interrupts any associated active runs first.

    Annotations the server declares

    • title: Delete Case
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteCaseAttachmentRemove a file from a case.No findings

    Why it is in this group

    • The name "deleteCaseAttachment" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove a file from a case. The row is soft-deleted; deletion of the stored object is attempted best-effort.

    Annotations the server declares

    • title: Delete Case Attachment
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteCaseQueueEvalRubricRemove a single case-level evaluation rubric.No findings

    Why it is in this group

    • The name "deleteCaseQueueEvalRubric" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove a single case-level evaluation rubric. Cases settled after this are no longer judged against it; already-judged cases keep their original verdicts. Removing the queue's last remaining rubric is refused with 409 — whole-case evaluation regenerates rubrics for an empty set at the next settlement, so the removal would not stay removed.

    Annotations the server declares

    • title: Delete Case Queue Eval Rubric
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteClarityArtifactChatConversationSoft-delete an open or running artifact-chat conversation for the current user.No findings

    Why it is in this group

    • The name "deleteClarityArtifactChatConversation" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Soft-delete an open or running artifact-chat conversation for the current user.

    Annotations the server declares

    • title: Delete Clarity Artifact Chat Conversation
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteClarityCaptureDelete a capture from a clarity processNo findings

    Why it is in this group

    • The name "deleteClarityCapture" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a capture from a clarity process

    Annotations the server declares

    • title: Delete Clarity Capture
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteClarityFolderDelete a process folder.No findings

    Why it is in this group

    • The name "deleteClarityFolder" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a process folder. Contained processes fall back to Unfiled.

    Annotations the server declares

    • title: Delete Clarity Folder
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteClarityLandscapeNodeSoft-delete a tree node and its descendants.No findings

    Why it is in this group

    • The name "deleteClarityLandscapeNode" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Soft-delete a tree node and its descendants. Organization admins may delete any subtree; team managers may delete a childless process node owned by their team. The targeted node's linked clarity process and captures are deleted, while nested processes detach to the Unsorted bag.

    Annotations the server declares

    • title: Delete Clarity Landscape Node
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteClarityLandscapeNodeInterviewDelete an organization-scoped folder interviewNo findings

    Why it is in this group

    • The name "deleteClarityLandscapeNodeInterview" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an organization-scoped folder interview

    Annotations the server declares

    • title: Delete Clarity Landscape Node Interview
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteClarityOrganizationInterviewDelete an organization-level Clarity interviewNo findings

    Why it is in this group

    • The name "deleteClarityOrganizationInterview" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an organization-level Clarity interview

    Annotations the server declares

    • title: Delete Clarity Organization Interview
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteClarityProcessDelete a Clarity process.No findings

    Why it is in this group

    • The name "deleteClarityProcess" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a Clarity process. The creator or a team admin can delete it unless capture analysis is still in progress, or a Module runs it — a Module's process is part of the Module, so the Module has to be removed first. An automation built from the process keeps running, with its setup answers and people, but is no longer linked to it.

    Annotations the server declares

    • title: Delete Clarity Process
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteClarityProcessLabelDelete process tags from an organization.No findings

    Why it is in this group

    • The name "deleteClarityProcessLabel" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete process tags from an organization.

    Annotations the server declares

    • title: Delete Clarity Process Label
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteClarityTeamInterviewDelete a team-level Clarity interviewNo findings

    Why it is in this group

    • The name "deleteClarityTeamInterview" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a team-level Clarity interview

    Annotations the server declares

    • title: Delete Clarity Team Interview
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteConnectionDelete a connection (disconnects the user's connection and removes any triggers bound to it).No findings

    Why it is in this group

    • The name "deleteConnection" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a connection (disconnects the user's connection and removes any triggers bound to it).

    Annotations the server declares

    • title: Delete Connection
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteCredentialDelete a login by id.2 findings

    Why it is in this group

    • The name "deleteCredential" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).

    Findings

    Description, as the server wrote it
    Delete a login by id. Deleting a team-shared login requires lead builder role.

    Annotations the server declares

    • title: Delete credential by id
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteCustomIntegrationDelete a custom integration type (team-level catalog entry) and cascade-remove related connections.No findings

    Why it is in this group

    • The name "deleteCustomIntegration" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a custom integration type (team-level catalog entry) and cascade-remove related connections. Requires manager-or-above role.

    Annotations the server declares

    • title: Delete Custom Integration
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteEvalRubricRemove a single Agent-specific evaluation rubric.No findings

    Why it is in this group

    • The name "deleteEvalRubric" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove a single Agent-specific evaluation rubric. Future Runs on the build are no longer scored against it.

    Annotations the server declares

    • title: Delete Eval Rubric
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteFileDelete a file from team storage.No findings

    Why it is in this group

    • The name "deleteFile" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a file from team storage.

    Annotations the server declares

    • title: Delete File
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deletePulseDashboardDelete a Duvo Pulse dashboard.No findings

    Why it is in this group

    • The name "deletePulseDashboard" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a Duvo Pulse dashboard. Only the creator can delete it.

    Annotations the server declares

    • title: Delete Pulse Dashboard
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deletePulseDashboardCommentDelete a comment or reply on a Duvo Pulse dashboard.No findings

    Why it is in this group

    • The name "deletePulseDashboardComment" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a comment or reply on a Duvo Pulse dashboard. Allowed for the comment's author and for the dashboard's creator. Deleting a thread root keeps its replies, rendered under a deleted opening comment.

    Annotations the server declares

    • title: Delete Pulse Dashboard Comment
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteQueueDelete a queue.No findings

    Why it is in this group

    • The name "deleteQueue" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a queue. Interrupts all associated active runs first and returns the number of deleted cases plus the IDs of runs that were stopped.

    Annotations the server declares

    • title: Delete Queue
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteQueueAggregationSoft-delete an aggregation definition.No findings

    Why it is in this group

    • The name "deleteQueueAggregation" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Soft-delete an aggregation definition.

    Annotations the server declares

    • title: Delete Queue Aggregation
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteQueueLabelDelete a label from a queue.No findings

    Why it is in this group

    • The name "deleteQueueLabel" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a label from a queue. Cascade-deletes all assignments of this label on existing cases.

    Annotations the server declares

    • title: Delete Queue Label
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteReadNotificationsSoft-delete all read notifications for the authenticated user's current team.No findings

    Why it is in this group

    • The name "deleteReadNotifications" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Soft-delete all read notifications for the authenticated user's current team. Returns the count of notifications that were deleted. Destructive — only call on explicit user request. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

    Annotations the server declares

    • title: Delete Read Notifications
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteScheduleDelete a schedule.No findings

    Why it is in this group

    • The name "deleteSchedule" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a schedule. Owners may delete their own schedules; team superadmins may delete any schedule on agents in the current team. Deleting a schedule that belongs to an automation with versions stops it for its owner at once; the automation's versions keep the schedule for anyone else subscribed to it.

    Annotations the server declares

    • title: Delete Schedule
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteSecretSoft-delete an env-var secret.No findings

    Why it is in this group

    • The name "deleteSecret" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Soft-delete an env-var secret. Deleting a team-shared secret requires lead builder role.

    Annotations the server declares

    • title: Delete Secret
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteSkillDelete a skill for the current team.No findings

    Why it is in this group

    • The name "deleteSkill" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a skill for the current team.

    Annotations the server declares

    • title: Delete Skill
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteSkillRevisionDelete a draft or historic skill revision and its files.No findings

    Why it is in this group

    • The name "deleteSkillRevision" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a draft or historic skill revision and its files. The active revision can't be deleted — activate another revision first.

    Annotations the server declares

    • title: Delete Skill Revision
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteSkillRevisionFileDelete a file from a skill revision.No findings

    Why it is in this group

    • The name "deleteSkillRevisionFile" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a file from a skill revision. Deleting from a draft leaves the active revision untouched until the draft is promoted; deleting from the active revision changes what the skill runs immediately. SKILL.md can't be deleted. Historic revisions are read-only: create a draft from one to edit it.

    Annotations the server declares

    • title: Delete Skill Revision File
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteSlackTriggerPermanently delete a Slack channel trigger you own.No findings

    Why it is in this group

    • The name "deleteSlackTrigger" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Permanently delete a Slack channel trigger you own. The agent stops starting Runs for that channel. To keep the trigger but stop it firing, update it with `enabled: false` instead.

    Annotations the server declares

    • title: Delete Slack Channel Trigger
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • deleteTeamInviteRevoke a pending invitation so its link and email can no longer be used.No findings

    Why it is in this group

    • The name "deleteTeamInvite" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Revoke a pending invitation so its link and email can no longer be used. Accepts either a team invitation (requires Superadmin or above on the invitation's team) or a Clarity process invitation (requires the process creator or a team admin). Revoking one side also revokes its linked counterpart when a process invitation created both. An invitation already accepted or declined is refused with 409, including one accepted a moment before, and process access the invitee already holds through an earlier acceptance is kept, so revoking never undoes an acceptance.

    Annotations the server declares

    • title: Delete Team Invite
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • detachPulseDashboardConnectionDetach a connection (data source) from a Duvo Pulse dashboard (requires edit access).No findings

    Why it is in this group

    • The name "detachPulseDashboardConnection" says "detach": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Detach a connection (data source) from a Duvo Pulse dashboard (requires edit access).

    Annotations the server declares

    • title: Detach Pulse Dashboard Connection
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • detachQueueJsonSchemaStop validating new cases on a queue.No findings

    Why it is in this group

    • The name "detachQueueJsonSchema" says "detach": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Stop validating new cases on a queue. Typed cases already written keep their payload and their pinned schema version.

    Annotations the server declares

    • title: Detach Queue Json Schema
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • detachRevisionLoginDetach a login from a revision.No findings

    Why it is in this group

    • The name "detachRevisionLogin" says "detach": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Detach a login from a revision. Personal logins can only be detached by their owner; team-shared logins require builder permissions.

    Annotations the server declares

    • title: Detach Revision Login
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • detachRevisionSecretDetach an env-var secret from a revision.No findings

    Why it is in this group

    • The name "detachRevisionSecret" says "detach": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Detach an env-var secret from a revision. Personal secrets can only be detached by their owner; team-shared secrets require builder permissions.

    Annotations the server declares

    • title: Detach Revision Secret
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • disconnectPulseDataSourceDisconnect a source from a team-created dashboard.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Disconnect a source from a team-created dashboard. Subsequent dashboard reads and writes immediately lose access. Idempotent; does not delete the queue or cases.

    Annotations the server declares

    • title: Disconnect Pulse Data Source
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • dismissClarityCaptureSuggestionDismiss a pending Process Landscape capture suggestion without creating a capture request (manager+).No findings

    Why it is in this group

    • The name "dismissClarityCaptureSuggestion" says "dismiss": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Dismiss a pending Process Landscape capture suggestion without creating a capture request (manager+).

    Annotations the server declares

    • title: Dismiss Clarity Capture Suggestion
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • dismissClarityTeamAssignmentSuggestionDismiss a pending Process Landscape team-assignment suggestion without changing the node's owner (manager+).No findings

    Why it is in this group

    • The name "dismissClarityTeamAssignmentSuggestion" says "dismiss": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Dismiss a pending Process Landscape team-assignment suggestion without changing the node's owner (manager+).

    Annotations the server declares

    • title: Dismiss Clarity Team Assignment Suggestion
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • dismissNotificationDismiss an important notification for the authenticated user.No findings

    Why it is in this group

    • The name "dismissNotification" says "dismiss": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Dismiss an important notification for the authenticated user. A row pinned to their Important section is unpinned and the card stays, because the connection is still broken; a row that is not pinned for them — one they cannot reconnect themselves — is removed from their feed instead, matching what the card's Dismiss button does. Only important notifications (currently: connection_broken) can be dismissed. Idempotent. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

    Annotations the server declares

    • title: Dismiss Notification
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • hideConfigFieldHide a Policy question from the Policy screen, interviews and every agent's context.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Hide a Policy question from the Policy screen, interviews and every agent's context. Nothing is deleted: the answer and its history stay, and the restore operation shows it again. Returns the agents whose live version still reads the field; hiding is never refused because of them. A module template reinstall keeps the field hidden.

    Annotations the server declares

    • title: Hide Config Field
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • markNotificationReadMark a notification as read for the authenticated user.No findings

    Why it is in this group

    • The name "markNotificationRead" says "mark": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Mark a notification as read for the authenticated user. Idempotent — calling it again on an already-read notification still returns success. Pass `openedFrom` to record which channel the reader came through (`in_app` when they were already in Duvo, or `email`/`slack`/`teams` from the `notificationSource` param on an external link); omit it when the read is not somebody opening the notification. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

    Annotations the server declares

    • title: Mark Notification Read
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • movePulseDashboardMove a Pulse dashboard from the team in the URL to another team, keeping only its latest revision (chat history and older revisions are deleted).No findings

    Why it is in this group

    • The name "movePulseDashboard" says "move": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Move a Pulse dashboard from the team in the URL to another team, keeping only its latest revision (chat history and older revisions are deleted). The caller must be a Manager or above on both teams. Pass dryRun=true to preview which Connections reconnect vs drop without applying changes.

    Annotations the server declares

    • title: Move Pulse Dashboard
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • promoteClarityProcessSnapshotPromote a draft or historic Clarity v2 snapshot to live for its kind.1 finding

    Why it is in this group

    • The name "promoteClarityProcessSnapshot" says "snapshot": a word for reading.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Warn

      The server marks "promoteClarityProcessSnapshot" destructive (destructiveHint: true), and its name says "snapshot", a word for reading.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "promoteClarityProcessSnapshot" says "snapshot": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Promote a draft or historic Clarity v2 snapshot to live for its kind.

    Annotations the server declares

    • title: Promote Clarity Process Snapshot
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • promoteRevisionPromote a draft or historic revision to the live version.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Promote a draft or historic revision to the live version. The live revision is the one used by triggers and new runs. Fails if the revision is already live, or if a draft revision still has an active builder run.

    Annotations the server declares

    • title: Promote Revision
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • promoteSkillRevisionMake a skill revision the active (live) one.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Make a skill revision the active (live) one. The previously active revision becomes historic and can be re-activated later. Idempotent: promoting the already-active revision succeeds rather than erroring, and still applies any revision_name / revision_description supplied in the body.

    Annotations the server declares

    • title: Promote Skill Revision
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • rejectAgentSuggestionDismiss a pending suggestion.No findings

    Why it is in this group

    • The name "rejectAgentSuggestion" says "reject": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Dismiss a pending suggestion.

    Annotations the server declares

    • title: Reject Agent Suggestion
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • removeAutomationAgentRemove an agent from an automation on a team that is on the Automations workspace, with or without revisions — membership is not versioned.No findings

    Why it is in this group

    • The name "removeAutomationAgent" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove an agent from an automation on a team that is on the Automations workspace, with or without revisions — membership is not versioned. Deleting the agent interrupts its active runs and pauses their sandboxes, exactly as a standalone agent delete does. On a team that changes its automations by revision, an agent the active revision binds is refused: activate a revision that omits it first.

    Annotations the server declares

    • title: Remove Automation Agent
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • removeAutomationQueueRemove a queue from an automation, deleting the queue.No findings

    Why it is in this group

    • The name "removeAutomationQueue" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove a queue from an automation, deleting the queue. Its cases are cleared and the runs working them interrupted, exactly as a standalone queue delete does. Queue membership is not versioned, so this behaves the same whether or not the team changes its automations by revision.

    Annotations the server declares

    • title: Remove Automation Queue
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • removeClarityLandscapeNodePersonRemove a person from the process behind a process landscape node, and revoke the process access they were granted when they were added.No findings

    Why it is in this group

    • The name "removeClarityLandscapeNodePerson" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove a person from the process behind a process landscape node, and revoke the process access they were granted when they were added.

    Annotations the server declares

    • title: Remove Clarity Landscape Node Person
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • removeClarityProcessMemberRemove accepted access to a clarity processNo findings

    Why it is in this group

    • The name "removeClarityProcessMember" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove accepted access to a clarity process

    Annotations the server declares

    • title: Remove Clarity Process Member
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • removeConfigSectionRemove a section a person added to this automation's Policy, once it holds no question, hidden ones included.No findings

    Why it is in this group

    • The name "removeConfigSection" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove a section a person added to this automation's Policy, once it holds no question, hidden ones included. A section with questions, or one from the module template, is refused with a 409. Returns the removed section.

    Annotations the server declares

    • title: Remove Config Section
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • removeRevisionIntegrationRemove an integration from an agent revision.No findings

    Why it is in this group

    • The name "removeRevisionIntegration" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove an integration from an agent revision. Removes the slot for everyone on the revision, including all per-user connection pins. Requires edit permission on the agent.

    Annotations the server declares

    • title: Remove Revision Integration
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • removeTeamMemberRemove a member from a team.No findings

    Why it is in this group

    • The name "removeTeamMember" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove a member from a team. Removing another member requires the Superadmin role or above; any member may remove themselves (leaving the team). The last remaining Owner cannot be removed, and a member whose Owner role is inherited from the organization can only leave voluntarily.

    Annotations the server declares

    • title: Remove Team Member
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • renameConfigSectionRename a section of this automation's Policy.No findings

    Why it is in this group

    • The name "renameConfigSection" says "rename": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Rename a section of this automation's Policy. Its key and its questions stay as they are, and every reader shows the new name. A name another section has, ignoring case, is refused with a 409; the current name changes nothing. A module template reinstall keeps the rename.

    Annotations the server declares

    • title: Rename Config Section
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • renameFileRename a file in team storage.No findings

    Why it is in this group

    • The name "renameFile" says "rename": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Rename a file in team storage.

    Annotations the server declares

    • title: Rename File
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • reorderClarityFoldersReorder the team's process folders to match the given id order.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Reorder the team's process folders to match the given id order. The payload must name every folder exactly once.

    Annotations the server declares

    • title: Reorder Clarity Folders
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • reorderClarityLandscapeAreasReorder a sibling group of the organization's process landscape area folders left-to-right — the top-level areas by default, or the folder children of parentId (organization admin+…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Reorder a sibling group of the organization's process landscape area folders left-to-right — the top-level areas by default, or the folder children of parentId (organization admin+). This changes display order only; use setClarityLandscapeNodePlacement to move a node to a different parent.

    Annotations the server declares

    • title: Reorder Clarity Landscape Areas
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • reorderConfigSectionsReplace the display order of this automation's Policy sections.No findings

    Why it is in this group

    • The description's first verb is "replace": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replace the display order of this automation's Policy sections. keys must list every section key of the automation exactly once, else a 400 names what is missing, unknown or repeated. Returns every section in its new order. A module template reinstall keeps the order of the sections moved here.

    Annotations the server declares

    • title: Reorder Config Sections
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • replaceCaseQueueEvalRubricsReplace the entire case-level evaluation rubric set on a queue's current version (1 to N rubrics, N being 12 by default and 25 on teams with the newer rubric generator enabled).No findings

    Why it is in this group

    • The name "replaceCaseQueueEvalRubrics" says "replace": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replace the entire case-level evaluation rubric set on a queue's current version (1 to N rubrics, N being 12 by default and 25 on teams with the newer rubric generator enabled). Existing rubrics are removed and the supplied list becomes the new set. An empty list is refused — whole-case evaluation regenerates rubrics for an empty set at the next settlement, so a cleared set would not stay cleared; remove individual rubrics instead. Targets the queue's current version (build-set), which exists once its first Agent-processed case settles — this fails with 409 before then. Cases already judged keep their original verdicts.

    Annotations the server declares

    • title: Replace Case Queue Eval Rubrics
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • replaceEvalRubricsReplace a build's entire Agent-specific evaluation rubric set in one call (at most 5 rubrics by default, 25 on teams with the newer rubric generator enabled).No findings

    Why it is in this group

    • The name "replaceEvalRubrics" says "replace": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replace a build's entire Agent-specific evaluation rubric set in one call (at most 5 rubrics by default, 25 on teams with the newer rubric generator enabled). Existing custom rubrics are removed and the supplied list becomes the new set; pass an empty array to clear them. Defaults to the Agent's live build; pass build_id to target a specific revision.

    Annotations the server declares

    • title: Replace Eval Rubrics
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • replaceQueueJsonSchemaReplace a queue's Case schema with a new version.No findings

    Why it is in this group

    • The name "replaceQueueJsonSchema" says "replace": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replace a queue's Case schema with a new version. Every declared field is frozen against automated change, so this is the only way one can be edited. Every object schema, including nested objects, must set additionalProperties to false or the request fails with 400 "Object schemas must set additionalProperties to false".

    Annotations the server declares

    • title: Replace Queue Json Schema
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • replaceRevisionIntegrationQueuesReplace the set of queues linked to this build's case-queue integration slot.No findings

    Why it is in this group

    • The name "replaceRevisionIntegrationQueues" says "replace": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replace the set of queues linked to this build's case-queue integration slot. Send the full desired queue list — any queues not in the list will be unlinked. Requires edit permission on the agent. After linking, call getRevisionCaseQueueSetup to confirm the slot now reports linked_queue_count > 0.

    Annotations the server declares

    • title: Replace Revision Integration Queues
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • restoreConfigFieldShow a hidden Policy question again, with the answer it had.No findings

    Why it is in this group

    • The description's first verb is "show": a word for reading.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Show a hidden Policy question again, with the answer it had.

    Annotations the server declares

    • title: Restore Config Field
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • restorePulseDashboardVersionRestore a previous version of a Duvo Pulse dashboard, making it live again (requires edit access).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Restore a previous version of a Duvo Pulse dashboard, making it live again (requires edit access). Non-destructive — it moves the head pointer to the chosen version.

    Annotations the server declares

    • title: Restore Pulse Dashboard Version
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • revertClarityProcessSnapshotArchive a Clarity v2 snapshot of either kind.1 finding

    Why it is in this group

    • The name "revertClarityProcessSnapshot" says "snapshot": a word for reading.
    • The description's first verb is "archive": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Warn

      The server marks "revertClarityProcessSnapshot" destructive (destructiveHint: true), and its name says "snapshot", a word for reading.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false}; The name "revertClarityProcessSnapshot" says "snapshot": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Archive a Clarity v2 snapshot of either kind. If the live row is archived, the repository auto-promotes the latest historic row of the same kind.

    Annotations the server declares

    • title: Revert Clarity Process Snapshot
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • setCaseJsonDataFieldsSet one or more fields of a typed case's structured `json_data` payload in one atomic write, leaving every other field as stored.No findings

    Why it is in this group

    • The name "setCaseJsonDataFields" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set one or more fields of a typed case's structured `json_data` payload in one atomic write, leaving every other field as stored. Prefer this over `PATCH /cases/{case_id}` with a full `json_data` object when changing some fields: the write reads and locks the latest payload in the database, so a concurrent edit to another field, or to another item of the same array, is preserved. Each `set` entry names a `path`, a JSONPath declared in the queue's current Case schema, and the `value` to store there. A path is dotted object fields (`$.invoice.amount`) with optional array indices in brackets (`$.lines[0]` for a whole item, `$.lines[0].amount` for one field of it). An index must name an item that already exists; an out-of-range index or a non-array parent is refused, and a write never adds or removes items. A `value` can be any JSON value, including an object for an object field. Paths must be distinct, and no path may sit inside another in the same request (`$.lines` beside `$.lines[0]`, or `$.lines[0]` beside `$.lines[0].amount`). An index names a position, so when the array can change between your read and your write, add `expect` entries that pin the item, such as its id field (`$.lines[0].id`): if any stored value differs, nothing is written and the response is a 409. The resulting payload is validated against the queue's current Case schema and the case is re-pinned to that schema version; if any entry is refused, nothing is written. A case without a structured payload yet must be given one with `PATCH /cases/{case_id}` first. Returns the updated case with its event history and approval batches.

    Annotations the server declares

    • title: Set Case Json Data Fields
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • setClarityLandscapeNodePlacementMove a process landscape node (team builder or above for team processes; team manager or above for team proposals; organization admin for areas)No findings

    Why it is in this group

    • The name "setClarityLandscapeNodePlacement" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Move a process landscape node (team builder or above for team processes; team manager or above for team proposals; organization admin for areas)

    Annotations the server declares

    • title: Set Clarity Landscape Node Placement
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • setClarityLandscapePrioritiesSet or clear heatmap priorities in one batch (team managers for their processes; organization admin+ across the organization)No findings

    Why it is in this group

    • The name "setClarityLandscapePriorities" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set or clear heatmap priorities in one batch (team managers for their processes; organization admin+ across the organization)

    Annotations the server declares

    • title: Set Clarity Landscape Priorities
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • setPulseDashboardCommentResolutionMark a Duvo Pulse dashboard comment thread complete, or reopen it (requires view access).No findings

    Why it is in this group

    • The name "setPulseDashboardCommentResolution" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Mark a Duvo Pulse dashboard comment thread complete, or reopen it (requires view access). Pass the target state in `resolved`; the call is idempotent, and the response carries the thread with `resolved_at` and `resolved_by` set or cleared.

    Annotations the server declares

    • title: Set Pulse Dashboard Comment Resolution
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • setUpModuleSet up a Duvo Module (a ready-made solution such as AP Invoice Intake & Routing or Freight Audit) as a new Automation on the team, the same as pressing Set up on the Module in the …No findings

    Why it is in this group

    • The name "setUpModule" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set up a Duvo Module (a ready-made solution such as AP Invoice Intake & Routing or Freight Audit) as a new Automation on the team, the same as pressing Set up on the Module in the web app. Creates the Module's Agents, code steps, Queues, Policy and dashboards in one call. If the team already has a demo of this Module open, the call is refused with 409 unless `convert_existing_demo` is true; then that demo becomes the Automation and its sample cases and Runs are deleted, so ask the user first. The Automation starts mid-setup and does not run yet: call `getAutomationReadiness` next to see the Policy questions, Connections and routing still to configure. Give the user the `url`.

    Annotations the server declares

    • title: Set Up Module
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • stopClarityArtifactChatConversationStop an in-flight artifact-chat turn.No findings

    Why it is in this group

    • The name "stopClarityArtifactChatConversation" says "stop": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Stop an in-flight artifact-chat turn. Flips the conversation back to `open` first so the interrupted run's late webhooks are dropped as stale, then best-effort interrupts the cc-server execution.

    Annotations the server declares

    • title: Stop Clarity Artifact Chat Conversation
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • stopClarityProcessSnapshotStop an in-flight snapshot generation for the selected kind.No findings

    Why it is in this group

    • The name "stopClarityProcessSnapshot" says "stop": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Stop an in-flight snapshot generation for the selected kind. Reads the sandbox id from the process row, kills the sandbox, flips the process back to `review`, and clears the sandbox marker so any late webhook from the killed run is dropped as stale.

    Annotations the server declares

    • title: Stop Clarity Process Snapshot
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • stopPulseDashboardMessageStop an in-flight Duvo Pulse generation turn.No findings

    Why it is in this group

    • The name "stopPulseDashboardMessage" says "stop": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Stop an in-flight Duvo Pulse generation turn. Requires edit access to the dashboard. Flips the dashboard to 'interrupted' and keeps any streamed-so-far reply; stopping when nothing is generating is a successful no-op.

    Annotations the server declares

    • title: Stop Pulse Dashboard Message
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • stopRunStop an agent run.No findings

    Why it is in this group

    • The name "stopRun" says "stop": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Stop an agent run. No-op if the run is not currently running.

    Annotations the server declares

    • title: Stop Run
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • unlinkCaseLabelsRemove the given labels from a case.No findings

    Why it is in this group

    • The name "unlinkCaseLabels" says "unlink": a word for a change.
    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove the given labels from a case.

    Annotations the server declares

    • title: Unlink Case Labels
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • unlinkClarityProcessLabelsRemove process tags from a process.No findings

    Why it is in this group

    • The name "unlinkClarityProcessLabels" says "unlink": a word for a change.
    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove process tags from a process.

    Annotations the server declares

    • title: Unlink Clarity Process Labels
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • unpinRevisionIntegrationConnectionUnpin one of your connections from this build's integration slot.No findings

    Why it is in this group

    • The name "unpinRevisionIntegrationConnection" says "unpin": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Unpin one of your connections from this build's integration slot. The connection itself is not deleted; only the binding to this slot is removed.

    Annotations the server declares

    • title: Unpin Revision Integration Connection
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • updateAgentUpdate an agent's display name or delivery settings.No findings

    Why it is in this group

    • The name "updateAgent" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update an agent's display name or delivery settings.

    Annotations the server declares

    • title: Update Agent
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateAgentCaseTriggerUpdate fields on a case trigger.No findings

    Why it is in this group

    • The name "updateAgentCaseTrigger" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update fields on a case trigger. Only the trigger creator or a builder/admin can disable an enabled trigger or change its queue, and only a builder/admin can change queue concurrency.

    Annotations the server declares

    • title: Update Agent Case Trigger
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateAgentFolderRename an agent folder or move it to a new parent.No findings

    Why it is in this group

    • The name "updateAgentFolder" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Rename an agent folder or move it to a new parent.

    Annotations the server declares

    • title: Update Agent Folder
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateAutomationUpdate an automation, e.g.No findings

    Why it is in this group

    • The name "updateAutomation" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update an automation, e.g. rename it. Only the fields present in the body are changed.

    Annotations the server declares

    • title: Update Automation
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateAutomationTabsReplace the automation detail view's tab arrangement.No findings

    Why it is in this group

    • The name "updateAutomationTabs" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replace the automation detail view's tab arrangement. Pinning, unpinning, reordering and hiding a tab are all expressed as a different arrangement.

    Annotations the server declares

    • title: Update Automation Tabs
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • updateCaseEdit a case's title and/or its data payload.No findings

    Why it is in this group

    • The name "updateCase" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Edit a case's title and/or its data payload. Provide at least one field. For the payload, send free-form `data` OR a structured `json_data` object, never both. `json_data` is validated against the queue's Case schema and requires the queue to have one; a case that is already typed against a schema keeps its structured payload and rejects a free-text `data` write. Works on pending, in-progress, and settled cases. Other attributes (status, priority, labels) have their own dedicated endpoints. Returns the updated case with its event history and approval batches.

    Annotations the server declares

    • title: Update Case
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateCaseQueueEvalRubricEdit a single case-level evaluation rubric's title and/or description.No findings

    Why it is in this group

    • The name "updateCaseQueueEvalRubric" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Edit a single case-level evaluation rubric's title and/or description. The edit produces a NEW rubric (with a new id and slug) so previously judged cases stay attributed to the original criterion; the response contains the new rubric.

    Annotations the server declares

    • title: Update Case Queue Eval Rubric
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateClarityFolderRename a process folder.No findings

    Why it is in this group

    • The name "updateClarityFolder" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Rename a process folder. Renaming a landscape-linked folder permanently stops landscape name-sync.

    Annotations the server declares

    • title: Update Clarity Folder
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateClarityGuidanceUpdate the automation guidance message for a clarity processNo findings

    Why it is in this group

    • The name "updateClarityGuidance" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update the automation guidance message for a clarity process

    Annotations the server declares

    • title: Update Clarity Guidance
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateClarityLandscapeNodeRename a process landscape node or update its owner label (team manager or above for team processes; organization admin for areas)No findings

    Why it is in this group

    • The name "updateClarityLandscapeNode" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Rename a process landscape node or update its owner label (team manager or above for team processes; organization admin for areas)

    Annotations the server declares

    • title: Update Clarity Landscape Node
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateClarityLandscapeNodePersonChange the role a person plays in the process behind a process landscape node (for example "Approver").No findings

    Why it is in this group

    • The name "updateClarityLandscapeNodePerson" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Change the role a person plays in the process behind a process landscape node (for example "Approver"). Send role: null to clear it.

    Annotations the server declares

    • title: Update Clarity Landscape Node Person
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateClarityOrganizationInterviewRename an organization landscape Clarity captureNo findings

    Why it is in this group

    • The name "updateClarityOrganizationInterview" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Rename an organization landscape Clarity capture

    Annotations the server declares

    • title: Update Clarity Organization Interview
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateClarityProcessUpdate a Clarity process name, guidance, interview independence, visibility, or completion status.No findings

    Why it is in this group

    • The name "updateClarityProcess" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update a Clarity process name, guidance, interview independence, visibility, or completion status. Team Builders can edit names, guidance, and interview independence, only the creator or a team manager can change visibility, and completing or reopening a process for review requires a Lead Builder role.

    Annotations the server declares

    • title: Update Clarity Process
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateClarityProcessLabelUpdate process tags for an organization.No findings

    Why it is in this group

    • The name "updateClarityProcessLabel" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update process tags for an organization.

    Annotations the server declares

    • title: Update Clarity Process Label
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateClarityProcessSharingEnable or disable sharing for a clarity processNo findings

    Why it is in this group

    • The name "updateClarityProcessSharing" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Enable or disable sharing for a clarity process

    Annotations the server declares

    • title: Update Clarity Process Sharing
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateClarityTeamSettingsUpdate clarity team settings for financial calculationsNo findings

    Why it is in this group

    • The name "updateClarityTeamSettings" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update clarity team settings for financial calculations

    Annotations the server declares

    • title: Update Clarity Team Settings
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateConfigFieldSet or clear a config field's value.No findings

    Why it is in this group

    • The name "updateConfigField" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set or clear a config field's value. `value: null` removes the answer and does not restore the module default, so a Run that reads the field is refused until it is answered again. To use the default, send `default_value` as `value`. On a running automation (`running` in readAutomationPolicy) the change reaches its Agents from their next run: name the question, its current answer and the new one, change it only after the user says yes, and pass the current answer you showed, not the new one, as `expected_value` so a change someone made in between is not overwritten. A compound question takes every part in one write. When the field's `bindings` include `structural`, the module's Agents also need a matching change; propose it.

    Annotations the server declares

    • title: Update Config Field
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateConfigFieldDefinitionEdit a Policy question: its label, question, guidance, example answer, section, the roles that answer it, the options of a select or multiSelect field, and the columns of an unansw…No findings

    Why it is in this group

    • The name "updateConfigFieldDefinition" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Edit a Policy question: its label, question, guidance, example answer, section, the roles that answer it, the options of a select or multiSelect field, and the columns of an unanswered table field a person added. A reworded question gets a new version, and a new section moves the field to that section's end. The type of a field added through the API can change while it has no answer; a field from the module template keeps its type. The answer is never changed, and a module template reinstall keeps the edit.

    Annotations the server declares

    • title: Update Config Field Definition
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateConnectionUpdate an existing connection.No findings

    Why it is in this group

    • The name "updateConnection" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update an existing connection. For sensitive header values, sending an empty string keeps the existing value; send a new value to overwrite. Toggling `shared` moves the connection between personal and team-shared.

    Annotations the server declares

    • title: Update Connection
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateCredentialUpdate a login by id.2 findings

    Why it is in this group

    • The name "updateCredential" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    Findings

    Description, as the server wrote it
    Update a login by id. At least one of password or otp_secret must remain set after the update. Editing a team-shared login or toggling sharing requires lead builder role.

    Annotations the server declares

    • title: Update credential by id
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateEvalRubricEdit a single Agent-specific evaluation rubric's title and/or description.No findings

    Why it is in this group

    • The name "updateEvalRubric" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Edit a single Agent-specific evaluation rubric's title and/or description. The edit produces a NEW rubric (with a new id and slug) so previously scored Runs stay attributed to the original criterion; the response contains the new rubric.

    Annotations the server declares

    • title: Update Eval Rubric
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateFileContentUpdate the content of a text file.No findings

    Why it is in this group

    • The name "updateFileContent" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update the content of a text file.

    Annotations the server declares

    • title: Update File Content
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • updatePulseDashboardUpdate a Duvo Pulse dashboard's settings — rename it.No findings

    Why it is in this group

    • The name "updatePulseDashboard" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update a Duvo Pulse dashboard's settings — rename it. Only the creator can update it.

    Annotations the server declares

    • title: Update Pulse Dashboard
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateQueueUpdate a queue.No findings

    Why it is in this group

    • The name "updateQueue" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update a queue.

    Annotations the server declares

    • title: Update Queue
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateQueueJsonSchemaSettingsTurn a queue's schema guard on or off, and freeze or unfreeze the schema document.No findings

    Why it is in this group

    • The name "updateQueueJsonSchemaSettings" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Turn a queue's schema guard on or off, and freeze or unfreeze the schema document. A guarded queue with no schema yet asks its producing agent to declare one; a frozen schema refuses every change until it is unfrozen.

    Annotations the server declares

    • title: Update Queue Json Schema Settings
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateQueueLabelUpdate a label's key, value, or color.No findings

    Why it is in this group

    • The name "updateQueueLabel" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update a label's key, value, or color. Renaming key/value affects every case assigned to this label.

    Annotations the server declares

    • title: Update Queue Label
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateRevisionUpdate a revision's configuration, name, description, or handover targets.No findings

    Why it is in this group

    • The name "updateRevision" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update a revision's configuration, name, description, or handover targets. Returns the updated revision.

    Annotations the server declares

    • title: Update Revision
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateScheduleUpdate fields on an existing schedule.No findings

    Why it is in this group

    • The name "updateSchedule" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update fields on an existing schedule. Only supplied fields are changed; omitted fields retain their current values. Owners may update their own schedules; team superadmins may update any schedule on agents in the current team. A schedule that belongs to an automation with versions keeps firing as its automation's active version says: a change to its timing is saved to the automation's draft and takes effect when the draft is made active (see `pending_change`), while `enabled` applies at once.

    Annotations the server declares

    • title: Update Schedule
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateSecretUpdate an env-var secret.No findings

    Why it is in this group

    • The name "updateSecret" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update an env-var secret. Send `values` to replace all entries, or any of `rename_keys`, `remove_keys`, `add_values` for a non-destructive patch. Editing a team-shared secret or toggling sharing requires lead builder role.

    Annotations the server declares

    • title: Update Secret
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateSkillAskDuvoMark a team skill as available in Ask Duvo, or take it back off.No findings

    Why it is in this group

    • The name "updateSkillAskDuvo" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Mark a team skill as available in Ask Duvo, or take it back off. Every NEW Ask Duvo chat in the team starts with the marked skills on disk. A chat that is already open keeps the set it started with until its sandbox is replaced, and picks up the current set from then on.

    Annotations the server declares

    • title: Update Skill Ask Duvo
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateSkillFileUpdate the content of a file in a skill, overwriting the active revision in place — the previous content is not recoverable.No findings

    Why it is in this group

    • The name "updateSkillFile" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update the content of a file in a skill, overwriting the active revision in place — the previous content is not recoverable. Prefer the non-destructive flow when you can: createSkillRevision to open a draft, updateSkillRevisionFile to edit it, promoteSkillRevision to activate it. Only team skills can be edited.

    Annotations the server declares

    • title: Update Skill File
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • updateSkillRevisionRename a skill revision or change its description.No findings

    Why it is in this group

    • The name "updateSkillRevision" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Rename a skill revision or change its description. Works for drafts, the active revision, and historic revisions.

    Annotations the server declares

    • title: Update Skill Revision
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateSkillRevisionFileWrite a text file into a skill revision.No findings

    Why it is in this group

    • The name "updateSkillRevisionFile" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Write a text file into a skill revision. Writing into a draft leaves the active revision untouched until the draft is promoted; writing into the active revision changes what the skill runs immediately. Historic revisions are read-only: create a draft from one to edit it.

    Annotations the server declares

    • title: Update Skill Revision File
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • updateSlackTriggerUpdate a Slack channel trigger you own — repoint it at another channel, change which messages match, or pause and resume it with `enabled`.No findings

    Why it is in this group

    • The name "updateSlackTrigger" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update a Slack channel trigger you own — repoint it at another channel, change which messages match, or pause and resume it with `enabled`. Only the supplied fields change. Resuming a paused trigger requires the Slack connection it runs off to still be available on the agent; changing the channel resets the trigger's seen-message state.

    Annotations the server declares

    • title: Update Slack Channel Trigger
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateTeamInviteChange the role on a pending team invitation.No findings

    Why it is in this group

    • The name "updateTeamInvite" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Change the role on a pending team invitation. Only pending invitations can be updated — one already accepted or declined is rejected. Requires the Manager role or above on the invitation's own team.

    Annotations the server declares

    • title: Update Team Invite
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • updateTeamMemberRoleUpdate an existing team member's role.No findings

    Why it is in this group

    • The name "updateTeamMemberRole" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update an existing team member's role. Requires the Manager role or above; only an Owner may grant or remove the Owner role, and the last remaining Owner cannot be demoted. A member whose Owner role is inherited from the organization cannot be changed here.

    Annotations the server declares

    • title: Update Team Member Role
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • upgradeClarityProcessMove a v1 clarity process into v2.No findings

    Why it is in this group

    • The description's first verb is "move": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Move a v1 clarity process into v2. Rows with generated analysis are reset in place and regenerated; rows without analysis migrate in place when not generating.

    Annotations the server declares

    • title: Upgrade Clarity Process
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • upsertAgentTriggerCreate or update the authenticated user's trigger for an integration on an agent.No findings

    Why it is in this group

    • The name "upsertAgentTrigger" says "upsert": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Create or update the authenticated user's trigger for an integration on an agent. The integration must already be connected to the agent (its OAuth connection set up in the Duvo dashboard). Set `enabled: false` to pause a trigger without deleting it. An agent holds one trigger per integration for a user, so a save with a different `trigger_type` replaces the existing one — except when that trigger is an @mention trigger, which is managed from the agent's mention setting and answers 409 (`mention_trigger_protected`) here. @mention triggers are best managed from that setting throughout: this route leaves an existing one's `filter_config` untouched, and refuses to create a `teams_mention` trigger without a `filter_config.tenantId` (400, `mention_trigger_workspace_required`) — a Slack mention trigger has no equivalent field to supply.

    Annotations the server declares

    • title: Upsert Agent Trigger
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Can't be undone 14Claude Code: ask
  • acceptClarityCaptureSuggestionAccept a pending Process Landscape capture suggestion and create the durable capture request (manager+).No findings

    Why it is in this group

    • The name "acceptClarityCaptureSuggestion" says "capture": a word that usually means money moves, which cannot be taken back.
    Description, as the server wrote it
    Accept a pending Process Landscape capture suggestion and create the durable capture request (manager+).

    Annotations the server declares

    • title: Accept Clarity Capture Suggestion
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • bulkCreateTeamInvitesInvite several people to a team in one call, emailing each invitation immediately.No findings

    Why it is in this group

    • The name "bulkCreateTeamInvites" says "create": a word for a change.
    • The description's first verb is "invite": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Invite several people to a team in one call, emailing each invitation immediately. Returns per-batch counts: `succeeded` were invited, `skipped` were already on the team, already had a pending invitation, or were a duplicate of an earlier entry in the same batch, `failed` could not be emailed (those invitations are rolled back). The accept link is always built from the server-configured app origin.

    Annotations the server declares

    • title: Bulk Create Team Invites
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • createPulseDashboardCommentReplyReply to a comment thread on a Duvo Pulse dashboard (requires view access).No findings

    Why it is in this group

    • The name "createPulseDashboardCommentReply" says "create": a word for a change.
    • The description's first verb is "reply": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Reply to a comment thread on a Duvo Pulse dashboard (requires view access). `commentId` must be a thread root; threads are one level deep. A thread already marked complete still accepts replies and stays complete.

    Annotations the server declares

    • title: Create Pulse Dashboard Comment Reply
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createTeamInviteInvite one person to a team.No findings

    Why it is in this group

    • The name "createTeamInvite" says "create": a word for a change.
    • The description's first verb is "invite": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Invite one person to a team. Pass `processId` to invite them to a specific Clarity process instead of the whole team (that requires the `team:clarity-member` role). Creating the invitation does NOT email anyone — call sendTeamInviteEmail with the returned id to deliver it, or use bulkCreateTeamInvites, which creates and emails in one step.

    Annotations the server declares

    • title: Create Team Invite
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • finalizeCaseAttachmentConfirm an uploaded case attachment against storage.No findings

    Why it is in this group

    • The name "finalizeCaseAttachment" says "finalize": a word for a change that another call does not undo.
    Description, as the server wrote it
    Confirm an uploaded case attachment against storage. Answers with the attachment in its settled state — `ready` when the bytes are present, `failed` (with a reason) when the upload never completed.

    Annotations the server declares

    • title: Finalize Case Attachment
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • finalizeClarityOrganizationInterviewManually mark an in-progress organization interview as complete without requiring final media uploadsNo findings

    Why it is in this group

    • The name "finalizeClarityOrganizationInterview" says "finalize": a word for a change that another call does not undo.
    Description, as the server wrote it
    Manually mark an in-progress organization interview as complete without requiring final media uploads

    Annotations the server declares

    • title: Finalize Clarity Organization Interview
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • inviteClarityMeetingNotetakerInvite the in-meeting notetaker bot (Recall.ai) to a live meeting; the recording lands as a 'meeting' capture on the processNo findings

    Why it is in this group

    • The name "inviteClarityMeetingNotetaker" says "invite": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Invite the in-meeting notetaker bot (Recall.ai) to a live meeting; the recording lands as a 'meeting' capture on the process

    Annotations the server declares

    • title: Invite Clarity Meeting Notetaker
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • inviteClarityOrganizationNotetakerInvite the in-meeting notetaker bot (Recall.ai) to a live meeting; the recording lands as an organization Clarity interviewNo findings

    Why it is in this group

    • The name "inviteClarityOrganizationNotetaker" says "invite": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Invite the in-meeting notetaker bot (Recall.ai) to a live meeting; the recording lands as an organization Clarity interview

    Annotations the server declares

    • title: Invite Clarity Organization Notetaker
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • inviteOrgMemberInvite a person to an organization you administer, optionally assigning them to a team in that organization.No findings

    Why it is in this group

    • The name "inviteOrgMember" says "invite": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Invite a person to an organization you administer, optionally assigning them to a team in that organization. Requires an organization Admin, Executive, or Owner role. You cannot grant a role higher than your own.

    Annotations the server declares

    • title: Invite Org Member
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • postRunMessagePost a message to an agent run.No findings

    Why it is in this group

    • The name "postRunMessage" says "post" and "message": it sends a message, which cannot be taken back.
    Description, as the server wrote it
    Post a message to an agent run. This will persist the message and resume the agent execution if the run is in a resumable state (waiting, completed, or interrupted).

    Annotations the server declares

    • title: Post Run Message
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • publishPulseDashboardPublish (share) a Duvo Pulse dashboard to your whole team or your whole organization, or revert it to private (creator only).No findings

    Why it is in this group

    • The name "publishPulseDashboard" says "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    Publish (share) a Duvo Pulse dashboard to your whole team or your whole organization, or revert it to private (creator only). When publishing, set permission to 'view' (teammates see the dashboard) or 'edit' (teammates can also iterate on it); organization-wide viewers outside the team always get view-only access.

    Annotations the server declares

    • title: Publish Pulse Dashboard
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • sendClarityInterviewInvitesInvite people to record an interview about this Clarity process, and email each of them.No findings

    Why it is in this group

    • The name "sendClarityInterviewInvites" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Invite people to record an interview about this Clarity process, and email each of them. To invite people from the organization chart or landscape, first use the Clarity hierarchy people tools to find their names and email addresses, then pass them as invitees. Set includeProcessPeople to true to also invite everyone already listed as a person on this process. At most 25 unique recipients per call. Each invitee gets a Clarity process invitation, exactly as the Invite dialog creates one; someone already invited is sent their invitation again rather than a second one. Where the team has account-free interview links on, people without a Duvo account get a link that opens the interview directly and expires after 30 days; everyone else gets the normal invitation that asks them to sign in. Revoke a pending invitation with deleteTeamInvite.

    Annotations the server declares

    • title: Send Clarity Interview Invites
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • sendPulseDashboardMessageSend an instruction to iterate on a Duvo Pulse dashboard (e.g.No findings

    Why it is in this group

    • The name "sendPulseDashboardMessage" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Send an instruction to iterate on a Duvo Pulse dashboard (e.g. 'make it a bar chart', 'filter to last 14 days'). The creator can always iterate; teammates can too when the Pulse is published to the team with edit access. The agent regenerates asynchronously — poll GET /artifacts/{artifactId} for status.

    Annotations the server declares

    • title: Send Pulse Dashboard Message
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • sendTeamInviteEmailEmail an invitation to its recipient.No findings

    Why it is in this group

    • The name "sendTeamInviteEmail" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Email an invitation to its recipient. Use this to deliver an invitation created by createTeamInvite (which never sends mail on its own), or to resend one the recipient never received. The accept link is always built from the server-configured app origin.

    Annotations the server declares

    • title: Send Team Invite Email
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 109Claude Code: ask
  • acceptClarityLandscapeNodeAccept a proposed area folder into the active process landscape, so it stops being a proposal and becomes part of the real structure (organization admin+).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Accept a proposed area folder into the active process landscape, so it stops being a proposal and becomes part of the real structure (organization admin+). Only area folders can be accepted; a proposed process becomes real through assignClarityLandscapeNodeTeam instead. Re-accepting an already-active area is a no-op.

    Annotations the server declares

    • title: Accept Clarity Landscape Node
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • acceptClarityProcessJoinAccept a clarity interview invite link and gain process access.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Accept a clarity interview invite link and gain process access.

    Annotations the server declares

    • title: Accept Clarity Process Join
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • acceptClarityTeamAssignmentSuggestionAccept a pending Process Landscape team-assignment suggestion and durably assign the suggested team (manager+).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Accept a pending Process Landscape team-assignment suggestion and durably assign the suggested team (manager+).

    Annotations the server declares

    • title: Accept Clarity Team Assignment Suggestion
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • acceptRevisionGenerationAccept the reviewed generated configuration and complete the builder run.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Accept the reviewed generated configuration and complete the builder run. The saved draft is not activated.

    Annotations the server declares

    • title: Accept Revision Generation
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • addAutomationAgentAdd an agent to an automation on a team that is on the Automations workspace, with or without revisions — membership is not versioned.No findings

    Why it is in this group

    • The name "addAutomationAgent" says "add": a word for a change.
    Description, as the server wrote it
    Add an agent to an automation on a team that is on the Automations workspace, with or without revisions — membership is not versioned. The agent must not already belong to another automation; on a team that changes its automations by revision it cannot be moved between them at all, because the revisions binding it are immutable. Adding an agent that is already a member succeeds unchanged.

    Annotations the server declares

    • title: Add Automation Agent
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • addAutomationQueueAdd a queue to an automation on a team that is on the Automations workspace, with or without revisions — membership is not versioned.No findings

    Why it is in this group

    • The name "addAutomationQueue" says "add": a word for a change.
    Description, as the server wrote it
    Add a queue to an automation on a team that is on the Automations workspace, with or without revisions — membership is not versioned. The queue must not already belong to another automation; on a team that changes its automations by revision it cannot be moved between them at all, because the revisions binding it are immutable. Adding a queue that is already a member succeeds unchanged.

    Annotations the server declares

    • title: Add Automation Queue
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • addClarityLandscapeNodePersonAdd a person involved in the process behind a process landscape node.No findings

    Why it is in this group

    • The name "addClarityLandscapeNodePerson" says "add": a word for a change.
    Description, as the server wrote it
    Add a person involved in the process behind a process landscape node. Name only records a placeholder; supplying an email also gives that person access to the process and emails them an invitation, so only pass an email the user asked you to invite.

    Annotations the server declares

    • title: Add Clarity Landscape Node Person
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • addConfigFieldAdd a Policy question to this automation.No findings

    Why it is in this group

    • The name "addConfigField" says "add": a word for a change.
    Description, as the server wrote it
    Add a Policy question to this automation. Its key is `custom_` plus the label in snake_case, with `_2`, `_3` and so on appended when the key is taken, and it is placed at the end of its section. A module template reinstall never changes a field added here.

    Annotations the server declares

    • title: Add Config Field
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • addConfigSectionAdd an empty section to this automation's Policy, last or right after after_key.No findings

    Why it is in this group

    • The name "addConfigSection" says "add": a word for a change.
    Description, as the server wrote it
    Add an empty section to this automation's Policy, last or right after after_key. Its key is the name in lowercase words joined by hyphens, with `-2`, `-3` and so on appended when the key is taken. A name another section has, ignoring case, is refused with a 409. A module template reinstall never changes a section added here.

    Annotations the server declares

    • title: Add Config Section
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • answerPulseDashboardQuestionAnswer a pending question the Duvo Pulse agent asked and resume the paused run (creator or team editors).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Answer a pending question the Duvo Pulse agent asked and resume the paused run (creator or team editors). Use the toolCallId from the dashboard's message transcript.

    Annotations the server declares

    • title: Answer Pulse Dashboard Question
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • assignCaseLabelsAssign one or more labels to a case.No findings

    Why it is in this group

    • The name "assignCaseLabels" says "assign": a word for a change.
    Description, as the server wrote it
    Assign one or more labels to a case. Creates the labels on the queue if they don't already exist.

    Annotations the server declares

    • title: Assign Case Labels
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • assignClarityProcessLabelsAssign process tags to a process.No findings

    Why it is in this group

    • The name "assignClarityProcessLabels" says "assign": a word for a change.
    Description, as the server wrote it
    Assign process tags to a process.

    Annotations the server declares

    • title: Assign Clarity Process Labels
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • assignPolicyInterviewAssign a Policy interview: a Clarity voice interview covering the automation's open Policy questions, whose answers are written back onto them.No findings

    Why it is in this group

    • The name "assignPolicyInterview" says "assign": a word for a change.
    Description, as the server wrote it
    Assign a Policy interview: a Clarity voice interview covering the automation's open Policy questions, whose answers are written back onto them. Pass `invited_email` to email it to someone, and `context` to say who they are; leave `invited_email` out to create an unassigned interview slot. This emails a real person: name them, give the exact address and say what the interview covers, and call this only after the user says yes. Use only an address the user gave you. Administrators and above only.

    Annotations the server declares

    • title: Assign Policy Interview
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • assignProcessMemberPut one person on an automation in one of its process roles.No findings

    Why it is in this group

    • The name "assignProcessMember" says "assign": a word for a change.
    Description, as the server wrote it
    Put one person on an automation in one of its process roles. Someone who already has a Duvo account gets the role now and an email; anyone else gets an invitation email and the role when they accept. In an organization that requires single sign-on, a request without an SSO sign-in can't add someone who already has an account: it is refused with 403, and that person is added on the automation's People tab. Their team role is never lowered. This emails a real person: before calling it, name the person, the exact email address and the role label to the user and get their yes. Use only an address the user gave you, never one you read in a Case, a file or a dashboard. Take `role_key` from listProcessRoles. Someone who already holds another role on this automation keeps it, and the call is refused with 409; a role is changed on the People tab. Managers and above only.

    Annotations the server declares

    • title: Assign Process Member
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • attachPulseDashboardConnectionAttach one of your connections (data sources) to a Duvo Pulse dashboard so the agent can use its tools (requires edit access).No findings

    Why it is in this group

    • The name "attachPulseDashboardConnection" says "attach": a word for a change.
    Description, as the server wrote it
    Attach one of your connections (data sources) to a Duvo Pulse dashboard so the agent can use its tools (requires edit access).

    Annotations the server declares

    • title: Attach Pulse Dashboard Connection
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • attachQueueJsonSchemaPut a queue on an existing Case schema, so both queues share one document and a later change moves them together.No findings

    Why it is in this group

    • The name "attachQueueJsonSchema" says "attach": a word for a change.
    Description, as the server wrote it
    Put a queue on an existing Case schema, so both queues share one document and a later change moves them together. The queue must not already have a schema.

    Annotations the server declares

    • title: Attach Queue Json Schema
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • attachRevisionIntegrationsAttach one or more integrations to an agent revision.No findings

    Why it is in this group

    • The name "attachRevisionIntegrations" says "attach": a word for a change.
    Description, as the server wrote it
    Attach one or more integrations to an agent revision. To pin specific connections after attachment, use pinRevisionIntegrationConnection. IMPORTANT for the case-queue-producer and case-queue-consumer integrations: attaching the integration alone is NOT enough — the slot points at no queue and will fail at runtime until you link at least one queue with replaceRevisionIntegrationQueues. After wiring up, call getRevisionCaseQueueSetup to confirm every case-queue slot has linked_queue_count > 0 before starting work.

    Annotations the server declares

    • title: Attach Revision Integrations
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • attachRevisionLoginAttach a login to a revision so the agent can use it during Runs spawned from that revision.No findings

    Why it is in this group

    • The name "attachRevisionLogin" says "attach": a word for a change.
    Description, as the server wrote it
    Attach a login to a revision so the agent can use it during Runs spawned from that revision. Personal logins can only be attached by their owner; team-shared logins require builder permissions.

    Annotations the server declares

    • title: Attach Revision Login
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • attachRevisionSecretAttach an env-var secret to a revision so its keys are injected into Runs spawned from that revision.No findings

    Why it is in this group

    • The name "attachRevisionSecret" says "attach": a word for a change.
    Description, as the server wrote it
    Attach an env-var secret to a revision so its keys are injected into Runs spawned from that revision. Personal secrets can only be attached by their owner; team-shared secrets require builder permissions.

    Annotations the server declares

    • title: Attach Revision Secret
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • authorizeMcpOAuthStart an OAuth-based connection with a remote MCP server using Dynamic Client Registration.1 finding

    Why it is in this group

    • The description's first verb is "start": a word for a change.

    Findings

    • Info

      The input schema at properties.oauth_client_id.description mentions "credentials".

      Matched text

      inputSchema.properties.oauth_client_id.description: "...d). Takes precedence over preregistered credentials and Dynamic Client Registration. Cannot..."

      What this check looks for
    Description, as the server wrote it
    Start an OAuth-based connection with a remote MCP server using Dynamic Client Registration. Returns an authorization URL the user must open in a browser; once they grant consent, Duvo creates the matching connection and redirects the browser to the optional `returnUrl`.

    Annotations the server declares

    • title: Authorize Mcp OAuth
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • batchAddClarityLandscapeNodePeopleAdd one or more people to multiple Process Landscape nodes in a bounded batch.No findings

    Why it is in this group

    • The name "batchAddClarityLandscapeNodePeople" says "add": a word for a change.
    Description, as the server wrote it
    Add one or more people to multiple Process Landscape nodes in a bounded batch. Email entries can create invitations; each node-person outcome reports success, conflict, or delivery failure.

    Annotations the server declares

    • title: Batch Add Clarity Landscape Node People
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • buildClarityAutomationHand an automation proposal for a v2 clarity process off to the workflow-builder pipeline.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Hand an automation proposal for a v2 clarity process off to the workflow-builder pipeline. Builds from `transformation_proposal_id` when supplied, otherwise from the process's live proposal. The proposal id is the durable idempotency key, so retries return the same run and a different proposal starts a new run. Returns 202 while the LLM run completes asynchronously, or 409 when the resolved proposal is still being written.

    Annotations the server declares

    • title: Build Clarity Automation
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • bulkGenerateClarityProcessSnapshotsStart snapshot generation for many v2 clarity processes in the current team.No findings

    Why it is in this group

    • The name "bulkGenerateClarityProcessSnapshots" says "generate": a word for a change.
    Description, as the server wrote it
    Start snapshot generation for many v2 clarity processes in the current team. Starts at most a share of the free sandbox capacity per call; the rest come back in `deferred` and should be sent again once some of the started runs finish. Processes that cannot start (already generating, no usable interviews, not found) come back in `skipped` with the reason.

    Annotations the server declares

    • title: Bulk Generate Clarity Process Snapshots
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • checkMcpOAuthProbe an MCP server URL to discover whether it supports OAuth Dynamic Client Registration.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Probe an MCP server URL to discover whether it supports OAuth Dynamic Client Registration. Returns the authorization endpoint and required scopes when supported. Useful as a precursor to `/v2/teams/:team_id/connections/oauth/mcp/start` or `/v2/teams/:team_id/connections`. Performs no writes.

    Annotations the server declares

    • title: Check Mcp OAuth
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • completeClarityArtifactImportComplete a Miro artifact import after uploading to the signed URL.No findings

    Why it is in this group

    • The name "completeClarityArtifactImport" says "import": a word for a change.
    Description, as the server wrote it
    Complete a Miro artifact import after uploading to the signed URL. The uploaded bytes are validated before the import becomes a usable Clarity capture.

    Annotations the server declares

    • title: Complete Clarity Artifact Import
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • completeClarityDocumentUploadComplete a document capture after uploading to GCS via signed URLNo findings

    Why it is in this group

    • The name "completeClarityDocumentUpload" says "upload": a word for a change.
    Description, as the server wrote it
    Complete a document capture after uploading to GCS via signed URL

    Annotations the server declares

    • title: Complete Clarity Document Upload
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • completeClarityImageUploadComplete an image capture after uploading it to GCS via a signed URLNo findings

    Why it is in this group

    • The name "completeClarityImageUpload" says "upload": a word for a change.
    Description, as the server wrote it
    Complete an image capture after uploading it to GCS via a signed URL

    Annotations the server declares

    • title: Complete Clarity Image Upload
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • completeClarityOrganizationDocumentUploadComplete an organization document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generationNo findings

    Why it is in this group

    • The name "completeClarityOrganizationDocumentUpload" says "upload": a word for a change.
    Description, as the server wrote it
    Complete an organization document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generation

    Annotations the server declares

    • title: Complete Clarity Organization Document Upload
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • completeClarityTeamDocumentUploadComplete a team document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generationNo findings

    Why it is in this group

    • The name "completeClarityTeamDocumentUpload" says "upload": a word for a change.
    Description, as the server wrote it
    Complete a team document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generation

    Annotations the server declares

    • title: Complete Clarity Team Document Upload
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • completeClarityVideoUploadComplete a video capture after uploading to GCS via signed URLNo findings

    Why it is in this group

    • The name "completeClarityVideoUpload" says "upload": a word for a change.
    Description, as the server wrote it
    Complete a video capture after uploading to GCS via signed URL

    Annotations the server declares

    • title: Complete Clarity Video Upload
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • connectPulseDataSourceConnect an authorized same-team queue to a team-created Pulse before sampling it.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Connect an authorized same-team queue to a team-created Pulse before sampling it. Idempotent. This bounds dashboard data access; it never grants Process membership or case-action authority. Requires both edit permission and ordinary team source access.

    Annotations the server declares

    • title: Connect Pulse Data Source
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • createAgentCreate a new agent.No findings

    Why it is in this group

    • The name "createAgent" says "create": a word for a change.
    Description, as the server wrote it
    Create a new agent. Optionally include a build configuration to create the first build in the same request. On a team that versions its automations, an agent created inside an automation joins that automation's draft revision: its first build is a draft and goes live when the draft is made active.

    Annotations the server declares

    • title: Create Agent
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createAgentCaseTriggerCreate a case trigger for an agent.No findings

    Why it is in this group

    • The name "createAgentCaseTrigger" says "create": a word for a change.
    Description, as the server wrote it
    Create a case trigger for an agent. An agent may have at most one case trigger; this returns 409 if one already exists.

    Annotations the server declares

    • title: Create Agent Case Trigger
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createAgentFolderCreate a new agent folder.No findings

    Why it is in this group

    • The name "createAgentFolder" says "create": a word for a change.
    Description, as the server wrote it
    Create a new agent folder.

    Annotations the server declares

    • title: Create Agent Folder
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createAgentSlackTriggerCreate a Slack channel trigger on an agent (Agent in the Duvo UI): the agent starts a Run whenever a matching message is posted in the channel.No findings

    Why it is in this group

    • The name "createAgentSlackTrigger" says "create": a word for a change.
    Description, as the server wrote it
    Create a Slack channel trigger on an agent (Agent in the Duvo UI): the agent starts a Run whenever a matching message is posted in the channel. An agent can carry one trigger per channel, so call this once per channel. The Slack workspace must be installed for the team AND bound to the agent's live build first (see the Slack bound-workspaces endpoint) — otherwise this returns 400.

    Annotations the server declares

    • title: Create Slack Channel Trigger
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createAutomationCreate a new automation.No findings

    Why it is in this group

    • The name "createAutomation" says "create": a word for a change.
    Description, as the server wrote it
    Create a new automation. Its first agent is created alongside it so the caller lands on something editable; `first_agent` seeds that agent's name, configuration, and connections instead of the defaults. On a team on revision semantics the automation holds a single draft revision and no live revision, with the agent's first build bound into that draft, and the first activation makes the draft revision 1; on any other team the automation is a bare container and the build stands on its own.

    Annotations the server declares

    • title: Create Automation
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createCaseAttachmentUploadUrlIssue a signed URL for uploading a file to a case.No findings

    Why it is in this group

    • The name "createCaseAttachmentUploadUrl" says "create": a word for a change.
    Description, as the server wrote it
    Issue a signed URL for uploading a file to a case. The client must PUT the bytes to the returned URL with the returned Content-Type, then call the finalize endpoint so the attachment becomes visible on the case.

    Annotations the server declares

    • title: Create Case Attachment Upload Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createCaseQueueEvalRubricAdd one case-level evaluation rubric to a queue's current rubric set.No findings

    Why it is in this group

    • The name "createCaseQueueEvalRubric" says "create": a word for a change.
    Description, as the server wrote it
    Add one case-level evaluation rubric to a queue's current rubric set. Case-level rubrics judge the whole case (across every Run that touched it) as a Pass/Fail question at settlement. The rubric is added to the queue's current version (build-set) — the set new cases are judged against; a queue only gets one after its first Agent-processed case settles, so this fails with 409 before then, and once the version holds 12 rubrics by default (25 on teams with the newer rubric generator enabled); the error message states the ceiling.

    Annotations the server declares

    • title: Create Case Queue Eval Rubric
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createCasesCreate one or more cases in a queue.No findings

    Why it is in this group

    • The name "createCases" says "create": a word for a change.
    Description, as the server wrote it
    Create one or more cases in a queue. Provide either a single `case` object or a `cases` array (1-100); providing both returns 400. Each case takes a title (max 500 chars), optional labels that will be assigned to the case on creation (missing labels are created on the queue), and an optional priority (`none`, `medium`, or `high`; `medium`/`high` raise it above the default in the queue, `none` is the default; priority only affects the order pending cases are picked up in: due postponed cases are handled first, then higher priority). For the case payload, send free-form `data` OR a structured `json_data` object, never both, and a single request must be all free-text or all structured. `json_data` is validated against the queue's Case schema and requires the queue to have one; a schema-guarded queue accepts only `json_data`, while a queue without the guard also accepts free-text `data`. A guarded queue that has no schema yet accepts free-text `data` only when typed Case schemas are off for that queue — the team has them turned off AND the queue is not inside an automation (there is then no way to declare a schema, so the guard cannot apply). A queue inside an automation always has them on, so a guarded one refuses free-text `data` until its schema is declared.

    Annotations the server declares

    • title: Create Cases
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityArtifactImportUploadUrlCreate a signed upload URL for importing a Miro export into a Clarity v2 process.No findings

    Why it is in this group

    • The name "createClarityArtifactImportUploadUrl" says "create": a word for a change.
    Description, as the server wrote it
    Create a signed upload URL for importing a Miro export into a Clarity v2 process. Supports SVG, XML, PNG, and JPEG exports. The caller must upload the file to the returned URL, then complete the import.

    Annotations the server declares

    • title: Create Clarity Artifact Import Upload Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityDocumentUploadUrlCreate a signed URL for uploading a PDF, Word (.docx), TXT, Markdown, BPMN, XLSX, or CSV document directly to GCSNo findings

    Why it is in this group

    • The name "createClarityDocumentUploadUrl" says "create": a word for a change.
    Description, as the server wrote it
    Create a signed URL for uploading a PDF, Word (.docx), TXT, Markdown, BPMN, XLSX, or CSV document directly to GCS

    Annotations the server declares

    • title: Create Clarity Document Upload Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityFolderCreate a process folderNo findings

    Why it is in this group

    • The name "createClarityFolder" says "create": a word for a change.
    Description, as the server wrote it
    Create a process folder

    Annotations the server declares

    • title: Create Clarity Folder
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityGuidanceCreate a new automation guidance message for a clarity processNo findings

    Why it is in this group

    • The name "createClarityGuidance" says "create": a word for a change.
    Description, as the server wrote it
    Create a new automation guidance message for a clarity process

    Annotations the server declares

    • title: Create Clarity Guidance
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityImageUploadUrlCreate a signed URL for uploading a PNG, JPEG, WebP, or SVG image directly to GCSNo findings

    Why it is in this group

    • The name "createClarityImageUploadUrl" says "create": a word for a change.
    Description, as the server wrote it
    Create a signed URL for uploading a PNG, JPEG, WebP, or SVG image directly to GCS

    Annotations the server declares

    • title: Create Clarity Image Upload Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityLandscapeNodeCreate an area folder in the process tree.No findings

    Why it is in this group

    • The name "createClarityLandscapeNode" says "create": a word for a change.
    Description, as the server wrote it
    Create an area folder in the process tree. An active area (the default) requires organization admin+ or manager+ on a team of the organization; a "proposal" area may be added by any organization member.

    Annotations the server declares

    • title: Create Clarity Landscape Node
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityOrganizationDocumentUploadUrlCreate a signed URL for uploading a PDF, Word (.docx), TXT, Markdown, or BPMN document as an organization-level Clarity captureNo findings

    Why it is in this group

    • The name "createClarityOrganizationDocumentUploadUrl" says "create": a word for a change.
    Description, as the server wrote it
    Create a signed URL for uploading a PDF, Word (.docx), TXT, Markdown, or BPMN document as an organization-level Clarity capture

    Annotations the server declares

    • title: Create Clarity Organization Document Upload Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityProcessCreate a new Clarity v2 process for the current team (Builder+).No findings

    Why it is in this group

    • The name "createClarityProcess" says "create": a word for a change.
    Description, as the server wrote it
    Create a new Clarity v2 process for the current team (Builder+). Optional `name` defaults server-side when omitted. Response uses camelCase `createdAt` to match existing FE clients.

    Annotations the server declares

    • title: Create Clarity Process
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityProcessLabelCreate process tags for an organization.No findings

    Why it is in this group

    • The name "createClarityProcessLabel" says "create": a word for a change.
    Description, as the server wrote it
    Create process tags for an organization.

    Annotations the server declares

    • title: Create Clarity Process Label
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityProcessNodeFile an existing Clarity process into an area of the process landscape (team builder or organization admin+).No findings

    Why it is in this group

    • The name "createClarityProcessNode" says "create": a word for a change.
    Description, as the server wrote it
    File an existing Clarity process into an area of the process landscape (team builder or organization admin+). Use this for a process that already exists but sits in Unsorted; use proposeClarityLandscapeProcess to create a brand-new one.

    Annotations the server declares

    • title: Create Clarity Process Node
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityTeamDocumentUploadUrlCreate a signed URL for uploading a PDF, Word (.docx), TXT, Markdown, or BPMN document as a team-level Clarity captureNo findings

    Why it is in this group

    • The name "createClarityTeamDocumentUploadUrl" says "create": a word for a change.
    Description, as the server wrote it
    Create a signed URL for uploading a PDF, Word (.docx), TXT, Markdown, or BPMN document as a team-level Clarity capture

    Annotations the server declares

    • title: Create Clarity Team Document Upload Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createClarityVideoUploadUrlCreate a signed URL for uploading a video file directly to GCSNo findings

    Why it is in this group

    • The name "createClarityVideoUploadUrl" says "create": a word for a change.
    Description, as the server wrote it
    Create a signed URL for uploading a video file directly to GCS

    Annotations the server declares

    • title: Create Clarity Video Upload Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createConnectionCreate a new user-provided connection (custom MCP server) for the current team.No findings

    Why it is in this group

    • The name "createConnection" says "create": a word for a change.
    Description, as the server wrote it
    Create a new user-provided connection (custom MCP server) for the current team. OAuth-based integrations (native) require an interactive browser flow — start them with the dedicated OAuth endpoints (`/v2/teams/:team_id/connections/oauth/native/:provider/start` or `/v2/teams/:team_id/connections/oauth/mcp/start`) instead of calling this endpoint directly.

    Annotations the server declares

    • title: Create Connection
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createCredentialCreate a login.2 findings

    Why it is in this group

    • The name "createCredential" says "create": a word for a change.

    Findings

    Description, as the server wrote it
    Create a login. At least one of `password` or `otp_secret` must be provided. Personal by default; pass `shared: true` to create a team-shared login (requires lead builder role).

    Annotations the server declares

    • title: Create credential
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createCustomIntegrationCreate a custom integration type (team-level catalog entry) that users can then connect as user-provided MCP connections.No findings

    Why it is in this group

    • The name "createCustomIntegration" says "create": a word for a change.
    Description, as the server wrote it
    Create a custom integration type (team-level catalog entry) that users can then connect as user-provided MCP connections. Requires manager-or-above role.

    Annotations the server declares

    • title: Create Custom Integration
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createEvalRubricAdd one Agent-specific evaluation rubric to a build.No findings

    Why it is in this group

    • The name "createEvalRubric" says "create": a word for a change.
    Description, as the server wrote it
    Add one Agent-specific evaluation rubric to a build. A build may hold at most 5 custom rubrics by default (25 on teams with the newer rubric generator enabled); this fails with 409 once the build's ceiling is reached, and the error message states it. Defaults to the Agent's live build; pass build_id to target a specific revision.

    Annotations the server declares

    • title: Create Eval Rubric
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createFileUploadUrlGenerate a signed URL for uploading a file directly to GCS.No findings

    Why it is in this group

    • The name "createFileUploadUrl" says "create": a word for a change.
    Description, as the server wrote it
    Generate a signed URL for uploading a file directly to GCS.

    Annotations the server declares

    • title: Create File Upload Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createOrgTeamCreate a new team under an organization you administer.No findings

    Why it is in this group

    • The name "createOrgTeam" says "create": a word for a change.
    Description, as the server wrote it
    Create a new team under an organization you administer. Requires an organization Admin, Executive, or Owner role.

    Annotations the server declares

    • title: Create Org Team
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createPulseDashboardCreate a new Duvo Pulse dashboard from a natural-language prompt (e.g.No findings

    Why it is in this group

    • The name "createPulseDashboard" says "create": a word for a change.
    Description, as the server wrote it
    Create a new Duvo Pulse dashboard from a natural-language prompt (e.g. 'open cases by queue this week') and dispatch the first generation turn. Generation is asynchronous — poll GET /artifacts/{artifactId} until status is completed. The dashboard is private to you unless you set visibility to 'team', which shares it with your whole team straight away — with permission 'view' (teammates see the dashboard) or 'edit' (teammates can also iterate on it).

    Annotations the server declares

    • title: Create Pulse Dashboard
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • createPulseDashboardAttachmentUploadUrlIssue a presigned upload URL for a file to attach to a Duvo Pulse dashboard message (e.g.No findings

    Why it is in this group

    • The name "createPulseDashboardAttachmentUploadUrl" says "create": a word for a change.
    Description, as the server wrote it
    Issue a presigned upload URL for a file to attach to a Duvo Pulse dashboard message (e.g. an HTML dashboard to copy, or a screenshot to match). POST the file bytes to the returned upload_url as multipart form data under the field name 'file', then pass the returned attachment_id in the attachments array of POST /artifacts/{artifactId}/messages. The agent reads the file directly from its sandbox. Files live as long as the dashboard's sandbox (about 12 hours), so upload shortly before sending.

    Annotations the server declares

    • title: Create Pulse Dashboard Attachment Upload Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createPulseDashboardCommentStart a comment thread on a Duvo Pulse dashboard (requires view access).No findings

    Why it is in this group

    • The name "createPulseDashboardComment" says "create": a word for a change.
    Description, as the server wrote it
    Start a comment thread on a Duvo Pulse dashboard (requires view access). Pass `element` — captured from the dashboard canvas — to pin the thread to one element; omit it for a comment on the dashboard as a whole.

    Annotations the server declares

    • title: Create Pulse Dashboard Comment
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createQueueCreate a new queue.No findings

    Why it is in this group

    • The name "createQueue" says "create": a word for a change.
    Description, as the server wrote it
    Create a new queue.

    Annotations the server declares

    • title: Create Queue
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createQueueAggregationCreate an immutable aggregation definition on a queue.No findings

    Why it is in this group

    • The name "createQueueAggregation" says "create": a word for a change.
    Description, as the server wrote it
    Create an immutable aggregation definition on a queue.

    Annotations the server declares

    • title: Create Queue Aggregation
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createQueueJsonSchemaDeclare a queue's first Case schema by hand, so a person can type a queue up front instead of waiting for its producing agent to declare the shape.No findings

    Why it is in this group

    • The name "createQueueJsonSchema" says "create": a word for a change.
    Description, as the server wrote it
    Declare a queue's first Case schema by hand, so a person can type a queue up front instead of waiting for its producing agent to declare the shape. Fails if the queue already has a schema — replace an existing one with PUT. Every object schema, including nested objects, must set additionalProperties to false or the request fails with 400 "Object schemas must set additionalProperties to false".

    Annotations the server declares

    • title: Create Queue Json Schema
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createQueueLabelCreate a label on a queue without assigning it to a case.No findings

    Why it is in this group

    • The name "createQueueLabel" says "create": a word for a change.
    Description, as the server wrote it
    Create a label on a queue without assigning it to a case.

    Annotations the server declares

    • title: Create Queue Label
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createRevisionCreate a new revision for an existing agent.No findings

    Why it is in this group

    • The name "createRevision" says "create": a word for a change.
    Description, as the server wrote it
    Create a new revision for an existing agent.

    Annotations the server declares

    • title: Create Revision
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createSandboxCreate a new sandbox for file uploads.No findings

    Why it is in this group

    • The name "createSandbox" says "create": a word for a change.
    Description, as the server wrote it
    Create a new sandbox for file uploads. The returned sandbox_id can be passed to POST /v2/teams/:team_id/runs to stage data for a run.

    Annotations the server declares

    • title: Create Sandbox
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createSandboxUploadUrlGet a presigned URL for uploading a file into a sandbox.No findings

    Why it is in this group

    • The name "createSandboxUploadUrl" says "create": a word for a change.
    Description, as the server wrote it
    Get a presigned URL for uploading a file into a sandbox. Use for files larger than 10MB; smaller files can be uploaded directly via POST /v2/sandboxes/:sandbox_id/files.

    Annotations the server declares

    • title: Create Sandbox Upload Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createScheduleCreate a schedule for an agent.No findings

    Why it is in this group

    • The name "createSchedule" says "create": a word for a change.
    Description, as the server wrote it
    Create a schedule for an agent. The schedule fires against the agent's live build. The authenticated user owns the schedule. On a team with versions, a repeating schedule for an Agent in an automation joins that automation's versions: one matching a schedule the automation already runs fires at once, and a new one is saved to the automation's draft and fires once the draft is made active (see `pending_change`).

    Annotations the server declares

    • title: Create Schedule
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createSecretCreate an env-var secret.No findings

    Why it is in this group

    • The name "createSecret" says "create": a word for a change.
    Description, as the server wrote it
    Create an env-var secret. Personal by default; pass `shared: true` to create a team-shared secret (requires lead builder role).

    Annotations the server declares

    • title: Create Secret
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createSkillCreate or update a skill from a JSON body.No findings

    Why it is in this group

    • The name "createSkill" says "create": a word for a change.
    Description, as the server wrote it
    Create or update a skill from a JSON body. The server constructs SKILL.md from the provided fields and stores it. If a skill with the same name already exists in the team, it is updated.

    Annotations the server declares

    • title: Create Skill
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • createSkillRevisionOpen a draft revision of a skill, copying its files from the active revision (or from `source_revision_id`).No findings

    Why it is in this group

    • The name "createSkillRevision" says "create": a word for a change.
    Description, as the server wrote it
    Open a draft revision of a skill, copying its files from the active revision (or from `source_revision_id`). Edit the draft with updateSkillRevisionFile and deleteSkillRevisionFile, then activate it with promoteSkillRevision — the previously active revision stays intact and can be re-activated later. A skill has at most one open draft: if one already exists this returns it with `created: false`.

    Annotations the server declares

    • title: Create Skill Revision
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • createWorkspaceSet up the user's Duvo workspace, or return the one they already have (`created: false`, nothing created).No findings

    Why it is in this group

    • The name "createWorkspace" says "create": a word for a change.
    Description, as the server wrote it
    Set up the user's Duvo workspace, or return the one they already have (`created: false`, nothing created). Call it first when the user has no workspace: other tools fail with 'User has no current team' until one exists. A new workspace is on the Free plan, with Clarity and Automation. `has_clarity_access` says whether the team's plan includes Clarity, `interviews_remaining` counts interviews left on the plan without subtracting people invited but not yet interviewed, and `billing_url` is where the user upgrades. If the user's organization or email domain is already on Duvo, the call is refused with a link the user must open.

    Annotations the server declares

    • title: Create Workspace
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • downloadSkillDownload a custom skill as a ZIP archive.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Download a custom skill as a ZIP archive. Only custom (team-owned) skills can be downloaded.

    Annotations the server declares

    • title: Download Skill
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • duplicateAgentDuplicate an existing agent into a new agent named "Copy of <name>", carrying over its configuration.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Duplicate an existing agent into a new agent named "Copy of <name>", carrying over its configuration. Use the include_* flags in the (optional) body to control what is copied; all default on except memory. Requires the Lead Builder team role or above.

    Annotations the server declares

    • title: Duplicate Agent
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • duplicateAutomationDuplicate an automation into a new one named "Copy of <name>", copying what it runs today: its live agents and builds, its queues (empty), the routing and handovers between them, a…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Duplicate an automation into a new one named "Copy of <name>", copying what it runs today: its live agents and builds, its queues (empty), the routing and handovers between them, and each agent's Memory when the team holds Memory and the agent has it on. The caller's own triggers and schedules are copied switched off, so the copy starts no run until they turn them on; other members' triggers and schedules are not copied. An automation built by hand also gets its Policy: sections, questions, answers, and which agents read them. Cases and run history are not copied. A Module demo, and a Module automation with Policy questions, can't be duplicated.

    Annotations the server declares

    • title: Duplicate Automation
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • duplicateClarityProcessDuplicate a Clarity process with its analysis, captures, message history, and, for v2 processes, its live current map and automation proposal.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Duplicate a Clarity process with its analysis, captures, message history, and, for v2 processes, its live current map and automation proposal. Requires a team manager role.

    Annotations the server declares

    • title: Duplicate Clarity Process
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • duplicatePulseDashboardDuplicate a Duvo Pulse dashboard, producing an idle clone of the current rendered dashboard.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Duplicate a Duvo Pulse dashboard, producing an idle clone of the current rendered dashboard. The conversation history, shares, and connections are not copied.

    Annotations the server declares

    • title: Duplicate Pulse Dashboard
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • evaluateQueueAggregationEvaluate an aggregation definition against the current data without persisting it.No findings

    Why it is in this group

    • The name "evaluateQueueAggregation" says "evaluate": a word for a change.
    Description, as the server wrote it
    Evaluate an aggregation definition against the current data without persisting it.

    Annotations the server declares

    • title: Evaluate Queue Aggregation
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • exportCasesExport a queue's cases, respecting the same status, severity, failure source, approval, priority, label, date-range, json_data field, and free-text filters as the list view.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...olves to the authenticated caller, so a credential with no user behind it is rejected rath..."

      What this check looks for
    Description, as the server wrote it
    Export a queue's cases, respecting the same status, severity, failure source, approval, priority, label, date-range, json_data field, and free-text filters as the list view. Set awaiting_my_approval to export only the cases holding an unanswered approval row assigned to you; like the list view it resolves to the authenticated caller, so a credential with no user behind it is rejected rather than exporting an empty file. `format: "json"` (default) returns a re-importable JSON payload; `format: "csv"` returns a text/csv file with the columns id, title, status, priority, labels, created_at, updated_at, completed_at, postponed_to, data.

    Annotations the server declares

    • title: Export Cases
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • exportPulseDashboardHtmlRender a Duvo Pulse dashboard to a self-contained static HTML snapshot (text/html, data baked in).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Render a Duvo Pulse dashboard to a self-contained static HTML snapshot (text/html, data baked in). 404 until the first generation turn has produced HTML; 409 for an openui dashboard, whose substrate this exporter cannot render.

    Annotations the server declares

    • title: Export Pulse Dashboard Html
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • fileSuggestedClarityProcessesFile every unfiled process the viewer can see into its suggested folderNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    File every unfiled process the viewer can see into its suggested folder

    Annotations the server declares

    • title: File Suggested Clarity Processes
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • generateClarityPortfolioIntelligenceGenerate portfolio intelligence from all completed clarity processes.No findings

    Why it is in this group

    • The name "generateClarityPortfolioIntelligence" says "generate": a word for a change.
    Description, as the server wrote it
    Generate portfolio intelligence from all completed clarity processes. Returns 202 Accepted immediately and processes in background.

    Annotations the server declares

    • title: Generate Clarity Portfolio Intelligence
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • generateClarityProcessLandscapeStart a process-landscape generation run for the organization from its eligible Clarity captures (organization executives and owners)No findings

    Why it is in this group

    • The name "generateClarityProcessLandscape" says "generate": a word for a change.
    Description, as the server wrote it
    Start a process-landscape generation run for the organization from its eligible Clarity captures (organization executives and owners)

    Annotations the server declares

    • title: Generate Clarity Process Landscape
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • generateClarityProcessSnapshotTrigger a snapshot generation pipeline for a v2 clarity process, selected by kind.No findings

    Why it is in this group

    • The name "generateClarityProcessSnapshot" says "generate": a word for a change.
    Description, as the server wrote it
    Trigger a snapshot generation pipeline for a v2 clarity process, selected by kind. `current_process` runs the generateCurrentProcess pipeline (body fields are proposal-only and rejected); `transformation_proposal` runs the generate or regenerate proposal pipeline. Returns 202 immediately and finalises asynchronously via the cc-server webhook stream.

    Annotations the server declares

    • title: Generate Clarity Process Snapshot
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • generateRevisionGenerate agent instructions or code into a saved draft.No findings

    Why it is in this group

    • The name "generateRevision" says "generate": a word for a change.
    Description, as the server wrote it
    Generate agent instructions or code into a saved draft. Poll the returned builder run, answer questions if requested, then accept or decline the reviewed checkpoint. This never activates the revision.

    Annotations the server declares

    • title: Generate Revision
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • getFileDownloadUrlGenerate a signed download URL for a file.1 finding

    Why it is in this group

    • The name "getFileDownloadUrl" says "get": a word for reading.
    • The description's first verb is "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "getFileDownloadUrl" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "getFileDownloadUrl" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Generate a signed download URL for a file.

    Annotations the server declares

    • title: Get File Download Url
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • markAllNotificationsReadMark all notifications as read for the authenticated user's current team.No findings

    Why it is in this group

    • The name "markAllNotificationsRead" says "mark": a word for a change.
    Description, as the server wrote it
    Mark all notifications as read for the authenticated user's current team. Returns the count of notifications that were updated. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

    Annotations the server declares

    • title: Mark All Notifications Read
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • markNotificationBatchReadMark every unread live member of a notification batch as read for the authenticated user.No findings

    Why it is in this group

    • The name "markNotificationBatchRead" says "mark": a word for a change.
    Description, as the server wrote it
    Mark every unread live member of a notification batch as read for the authenticated user. Pass `types` to narrow the mark-read to those member types, and `severity` (exact) or `minSeverity` (threshold, mutually exclusive with `severity`) to narrow it by urgency — e.g. the page's active filters; omit them to mark every live member. Narrowing matters when the batch card was rendered under a filter: the rows marked read should be the rows the card counted. Pass `openedFrom` to record which channel the reader came through, on every member this call marks read. Returns the count of members that were updated. Requires the Notification Center feature; returns 404 when it is not enabled for the team or the batch does not exist or belongs to another recipient/team.

    Annotations the server declares

    • title: Mark Notification Batch Read
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • moveAgentMove an agent (and its connected workspace) to a different team.No findings

    Why it is in this group

    • The name "moveAgent" says "move": a word for a change.
    Description, as the server wrote it
    Move an agent (and its connected workspace) to a different team. Pass dry_run=true to preview the closure without applying changes.

    Annotations the server declares

    • title: Move Agent
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • moveAgentsToFolderMove one or more agents (assignments) into a folder, or to the root level.No findings

    Why it is in this group

    • The name "moveAgentsToFolder" says "move": a word for a change.
    Description, as the server wrote it
    Move one or more agents (assignments) into a folder, or to the root level.

    Annotations the server declares

    • title: Move Agents To Folder
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • moveAutomationsToFolderMove one or more automations into an agent folder, or to the root level.No findings

    Why it is in this group

    • The name "moveAutomationsToFolder" says "move": a word for a change.
    Description, as the server wrote it
    Move one or more automations into an agent folder, or to the root level.

    Annotations the server declares

    • title: Move Automations To Folder
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • moveClarityProcessesToFolderMove processes into a folder (or back to Unfiled)No findings

    Why it is in this group

    • The name "moveClarityProcessesToFolder" says "move": a word for a change.
    Description, as the server wrote it
    Move processes into a folder (or back to Unfiled)

    Annotations the server declares

    • title: Move Clarity Processes To Folder
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • organizeClarityProcessLandscapeStart an asynchronous organization pass over the organization's unfiled processes, placing them into the Process Landscape where possible (organization admin+).No findings

    Why it is in this group

    • The description's first verb is "start": a word for a change.
    Description, as the server wrote it
    Start an asynchronous organization pass over the organization's unfiled processes, placing them into the Process Landscape where possible (organization admin+). Results appear progressively; started is false when there is nothing to organize.

    Annotations the server declares

    • title: Organize Clarity Process Landscape
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • pinRevisionIntegrationConnectionPin one of your connections (from GET /v2/teams/:team_id/connections) to this build's integration slot.No findings

    Why it is in this group

    • The name "pinRevisionIntegrationConnection" says "pin": a word for a change.
    Description, as the server wrote it
    Pin one of your connections (from GET /v2/teams/:team_id/connections) to this build's integration slot. Multi-pin is supported: a single user can pin multiple connections to the same slot.

    Annotations the server declares

    • title: Pin Revision Integration Connection
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • postprocessClaritySnapshotRe-run postprocessing agents on an existing v2 clarity snapshot.1 finding

    Why it is in this group

    • The name "postprocessClaritySnapshot" says "snapshot": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "postprocessClaritySnapshot" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "postprocessClaritySnapshot" says "snapshot": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Re-run postprocessing agents on an existing v2 clarity snapshot. Targets either the current-process snapshot or the automation proposal snapshot, identified by id in the body. Flips the process status to `generating` and returns 202 immediately; agents run asynchronously and flip the status back to `review` once they settle.

    Annotations the server declares

    • title: Postprocess Clarity Snapshot
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • probeMcpServerProbe an MCP server URL and list the tools it exposes.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Probe an MCP server URL and list the tools it exposes. Useful as a dry-run before creating a connection — verifies the URL is reachable, that authentication headers (if any) are correct, and surfaces the tool catalog. Performs no writes; sits alongside `/v2/teams/:team_id/connections/oauth/mcp/check` (which probes the same URL for OAuth support).

    Annotations the server declares

    • title: Probe an MCP server for available tools
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • proposeClarityLandscapeProcessCreate a manual process in the organization's Process Landscape, either as an unassigned proposal or atomically assigned to an eligible team.No findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    Description, as the server wrote it
    Create a manual process in the organization's Process Landscape, either as an unassigned proposal or atomically assigned to an eligible team.

    Annotations the server declares

    • title: Propose Clarity Landscape Process
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • refreshPulseDashboardTrigger an on-demand data refresh of a Duvo Pulse dashboard.No findings

    Why it is in this group

    • The description's first verb is "trigger": a word for a change.
    Description, as the server wrote it
    Trigger an on-demand data refresh of a Duvo Pulse dashboard. The dashboard regenerates its connection-sourced values in the background — poll GET /artifacts/{artifactId} for status.

    Annotations the server declares

    • title: Refresh Pulse Dashboard
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • refreshQueueAggregationForce a fresh recompute of an aggregation definition.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Force a fresh recompute of an aggregation definition.

    Annotations the server declares

    • title: Refresh Queue Aggregation
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • respondToHumanRequestRespond to a human-in-the-loop request.No findings

    Why it is in this group

    • The name "respondToHumanRequest" says "request": a word for a change.
    Description, as the server wrote it
    Respond to a human-in-the-loop request. Use 'approved' (true/false) for approval-type requests, or 'answers' ({question: answer}) for question-type requests. Only works when the run is in 'waiting' status.

    Annotations the server declares

    • title: Respond To Human Request
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • resumeBuilderRunResume a builder run that is waiting for user inputNo findings

    Why it is in this group

    • The name "resumeBuilderRun" says "run": a word for a change.
    Description, as the server wrote it
    Resume a builder run that is waiting for user input

    Annotations the server declares

    • title: Resume Builder Run
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • saveClarityProcessSnapshotSave user edits as the live Clarity v2 snapshot for the selected kind.No findings

    Why it is in this group

    • The name "saveClarityProcessSnapshot" says "save": a word for a change.
    Description, as the server wrote it
    Save user edits as the live Clarity v2 snapshot for the selected kind.

    Annotations the server declares

    • title: Save Clarity Process Snapshot
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • searchCasesSearch cases in a queue with rich filters (multi-status, date ranges, label-based filters, and field-value filters over a typed queue's json_data).1 finding

    Why it is in this group

    • The name "searchCases" says "search": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "searchCases" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "searchCases" says "search": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Search cases in a queue with rich filters (multi-status, date ranges, label-based filters, and field-value filters over a typed queue's json_data). Use this when the simple query-string filters on GET /v2/queues/:queue_id/cases aren't enough. Each json_data entry is {path, operator, value} where path is a declared scalar in JSONPath dotted form ($.invoice.amount); entries are ANDed, so two comparisons on one path express a range. A path the queue's Case schema does not declare is rejected rather than ignored, as is a value that does not match the field's declared type. The contains operator is case-sensitive (unlike the free-text search parameter). Set count_only=true to skip Case row selection, enrichment, and transformation. The normal response shape is returned with cases: [] and the matching total.

    Annotations the server declares

    • title: Search Cases
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • setupClarityFoldersFromLandscapeCreate one linked folder per landscape group node containing this team's processes.No findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    Description, as the server wrote it
    Create one linked folder per landscape group node containing this team's processes. Idempotent: groups that already have a linked folder are skipped.

    Annotations the server declares

    • title: Setup Clarity Folders From Landscape
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • startClarityExportStart a Clarity → SAP Signavio export jobNo findings

    Why it is in this group

    • The name "startClarityExport" says "start": a word for a change.
    Description, as the server wrote it
    Start a Clarity → SAP Signavio export job

    Annotations the server declares

    • title: Start Clarity Export
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • startNativeOAuthStart an OAuth-based connection with a native provider (Gmail, Google Sheets, Outlook, etc.).No findings

    Why it is in this group

    • The name "startNativeOAuth" says "start": a word for a change.
    Description, as the server wrote it
    Start an OAuth-based connection with a native provider (Gmail, Google Sheets, Outlook, etc.). The provider path parameter is the native OAuth provider key from listIntegrations, not the integration type. Returns an authorization URL that must be opened in a browser by a human end-user; once they grant consent, Duvo creates the matching connection and redirects the browser to the optional `return_url` (or the Duvo dashboard if none is provided). Poll `/v2/teams/:team_id/connections` to detect the new connection.

    Annotations the server declares

    • title: Start Native OAuth
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • startRunStart a new agent run.No findings

    Why it is in this group

    • The name "startRun" says "start": a word for a change.
    Description, as the server wrote it
    Start a new agent run. Returns immediately with run info - does not wait for completion.

    Annotations the server declares

    • title: Start Run
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • uploadSandboxFileUpload a file directly to the sandbox.No findings

    Why it is in this group

    • The name "uploadSandboxFile" says "upload": a word for a change.
    Description, as the server wrote it
    Upload a file directly to the sandbox. Maximum file size is 10MB. For larger files, use POST /v2/sandboxes/:sandbox_id/upload-urls.

    Annotations the server declares

    • title: Upload Sandbox File
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 143Claude Code: allow
  • getAgentGet an agent by ID.No findings

    Why it is in this group

    • The name "getAgent" says "get": a word for reading.
    Description, as the server wrote it
    Get an agent by ID. The response carries no revision config: use listAgentRevisions and getRevision for a revision, and getRevisionBody to read a large AOP in character ranges.

    Annotations the server declares

    • title: Get Agent
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getAgentCaseTriggerRetrieve a single case trigger by id.No findings

    Why it is in this group

    • The name "getAgentCaseTrigger" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve a single case trigger by id.

    Annotations the server declares

    • title: Get Agent Case Trigger
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getAgentMemoryFileGet the contents of a single memory file for an agent.No findings

    Why it is in this group

    • The name "getAgentMemoryFile" says "get": a word for reading.
    Description, as the server wrote it
    Get the contents of a single memory file for an agent.

    Annotations the server declares

    • title: Get Agent Memory File
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getAgentSuggestionFetch a single suggestion.No findings

    Why it is in this group

    • The name "getAgentSuggestion" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single suggestion. Poll this after a 202 from consume: an AOP apply in flight reports payload.apply.state (running/failed); once consumed, applied_revision_id carries the draft revision the change was staged onto.

    Annotations the server declares

    • title: Get Agent Suggestion
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getAutomationGet a single automation with its agent and queue counts, the tab arrangement its detail view navigates by, and `links` to each tab it has right now.No findings

    Why it is in this group

    • The name "getAutomation" says "get": a word for reading.
    Description, as the server wrote it
    Get a single automation with its agent and queue counts, the tab arrangement its detail view navigates by, and `links` to each tab it has right now.

    Annotations the server declares

    • title: Get Automation
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getAutomationCurrentGet what the automation is set up to do right now: its member agents with the builds that are live, its queues' routing, and the triggers and schedules firing for it.No findings

    Why it is in this group

    • The name "getAutomationCurrent" says "get": a word for reading.
    Description, as the server wrote it
    Get what the automation is set up to do right now: its member agents with the builds that are live, its queues' routing, and the triggers and schedules firing for it. The revision-less counterpart of the revision detail — an automation without revisions is read here. `links` holds a link to each tab the automation has right now.

    Annotations the server declares

    • title: Get Automation Current
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getAutomationCurrentFlowGet the automation's flow graph as it stands right now: the agents and queues it currently wires together, plus the producer, consumer, and handover edges between them.No findings

    Why it is in this group

    • The name "getAutomationCurrentFlow" says "get": a word for reading.
    Description, as the server wrote it
    Get the automation's flow graph as it stands right now: the agents and queues it currently wires together, plus the producer, consumer, and handover edges between them. The revision-less counterpart of the revision flow.

    Annotations the server declares

    • title: Get Automation Current Flow
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getAutomationReadinessWhat still has to be set up before an automation can run on real work.No findings

    Why it is in this group

    • The name "getAutomationReadiness" says "get": a word for reading.
    Description, as the server wrote it
    What still has to be set up before an automation can run on real work. Call this first for a readiness question ("what do I still need to set up", "is it ready to run", "why isn't it running") and before checking an automation's Connections, Logins or Secrets one by one. Each of `items` is `{ key, label, status: ok | missing | broken, detail, link, link_tab }` and covers one of: required Policy questions still open, Connections with no working account pinned or that need reconnecting, Logins and Secrets (present or missing, never their values), Queue slots with no Queue linked, Queues with routing off, no Agent or an Agent with no live version, what starts it (a Trigger, a Schedule, or Cases added to a routed Queue), the live revision and a pending draft, and whether it is still a demo. Lead with what is `missing` or `broken`, each with its own `link` (named by `link_tab`); never build a link. Quote counts from `summary`, including `connections_to_fix`, rather than counting items. `ready` is null when the caller can't read the Policy; `note` then says what to tell the user. A Connection only the caller can see counts for the caller. When `links_note` is present, give no link to the automation at all. Each `link` is a path in the Duvo web app; give the user the full URL beside it (`url`, and `urls` for `links`).

    Annotations the server declares

    • title: Get Automation Readiness
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getAutomationTabsGet the automation detail view's tab arrangement, plus metadata for the Pulse dashboards pinned into it.No findings

    Why it is in this group

    • The name "getAutomationTabs" says "get": a word for reading.
    Description, as the server wrote it
    Get the automation detail view's tab arrangement, plus metadata for the Pulse dashboards pinned into it. Pinned dashboards are filtered to the ones the calling identity may see.

    Annotations the server declares

    • title: Get Automation Tabs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getBatchQueueStatsGet case status counts for many Queues in ONE call.No findings

    Why it is in this group

    • The name "getBatchQueueStats" says "get": a word for reading.
    Description, as the server wrote it
    Get case status counts for many Queues in ONE call. Use this after listQueues whenever you need per-Queue counts — cases waiting on a human, needing review, pending, failed — instead of calling listCases or searchCases once per Queue. Results are keyed by Queue ID and include zero counts for Queues with no matching cases; Queue IDs from other teams are silently dropped. For a count on a single Queue with richer filters, listCases with count_only=true is the alternative.

    Annotations the server declares

    • title: Get Batch Queue Stats
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getBuilderRunGet the status of a builder runNo findings

    Why it is in this group

    • The name "getBuilderRun" says "get": a word for reading.
    Description, as the server wrote it
    Get the status of a builder run

    Annotations the server declares

    • title: Get Builder Run
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getCaseGet a case by ID.No findings

    Why it is in this group

    • The name "getCase" says "get": a word for reading.
    Description, as the server wrote it
    Get a case by ID. Returns the case, its event history, and every case-approval batch ever created on the case (newest first).

    Annotations the server declares

    • title: Get Case
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getCaseAttachmentDownloadUrlMint a short-lived signed URL for one case attachment.No findings

    Why it is in this group

    • The name "getCaseAttachmentDownloadUrl" says "get": a word for reading.
    Description, as the server wrote it
    Mint a short-lived signed URL for one case attachment. `disposition=inline` serves the file for the in-app viewer; `attachment` forces a download.

    Annotations the server declares

    • title: Get Case Attachment Download Url
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getCaseQueueEvalRubricsList a queue's active case-level evaluation rubrics — the Pass/Fail questions a whole case is judged against at settlement.No findings

    Why it is in this group

    • The name "getCaseQueueEvalRubrics" says "get": a word for reading.
    Description, as the server wrote it
    List a queue's active case-level evaluation rubrics — the Pass/Fail questions a whole case is judged against at settlement. Shows the queue's current version's set (auto-generated from the connected Assignments' AOPs, plus any manually-authored rubrics).

    Annotations the server declares

    • title: Get Case Queue Eval Rubrics
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityArtifactChatMessagesLoad the latest artifact-chat messages for one active conversation, returned oldest-first.No findings

    Why it is in this group

    • The name "getClarityArtifactChatMessages" says "get": a word for reading.
    Description, as the server wrote it
    Load the latest artifact-chat messages for one active conversation, returned oldest-first.

    Annotations the server declares

    • title: Get Clarity Artifact Chat Messages
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityCaptureGet a single Clarity v2 capture including full transcript and video transcript.No findings

    Why it is in this group

    • The name "getClarityCapture" says "get": a word for reading.
    Description, as the server wrote it
    Get a single Clarity v2 capture including full transcript and video transcript. Use this when the process was loaded with captures=lite, or when only one capture's transcript is needed.

    Annotations the server declares

    • title: Get Clarity Capture
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityExportGet a Clarity export run by IDNo findings

    Why it is in this group

    • The name "getClarityExport" says "get": a word for reading.
    Description, as the server wrote it
    Get a Clarity export run by ID

    Annotations the server declares

    • title: Get Clarity Export
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityHierarchyPeopleList the people attached to every authorized linked process node in the organization's Process Landscape.No findings

    Why it is in this group

    • The name "getClarityHierarchyPeople" says "get": a word for reading.
    Description, as the server wrote it
    List the people attached to every authorized linked process node in the organization's Process Landscape. Returns a flat list where each person carries `nodeId` and `processId`, plus their role, invite status, and capture count. Narrow it with `rootId` (one subtree), `ownerTeamId` (one owning team), and `userId` or `search` (one person) — an unfiltered organization roster is large enough to be refused by response-size caps. To find the processes where one person has not captured yet, filter to that person and read `captureCount` per row. `truncated` is true when the node subtree or any single process roster was capped.

    Annotations the server declares

    • title: Get Clarity Hierarchy People
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityOrganizationInterviewLoad a single organization Clarity interview with transcriptNo findings

    Why it is in this group

    • The name "getClarityOrganizationInterview" says "get": a word for reading.
    Description, as the server wrote it
    Load a single organization Clarity interview with transcript

    Annotations the server declares

    • title: Get Clarity Organization Interview
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityPortfolioIntelligenceGet portfolio intelligence for the current teamNo findings

    Why it is in this group

    • The name "getClarityPortfolioIntelligence" says "get": a word for reading.
    Description, as the server wrote it
    Get portfolio intelligence for the current team

    Annotations the server declares

    • title: Get Clarity Portfolio Intelligence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityProcessGet the v2 read model for a clarity process: the process row (with operational fields like generation_error, generation_progress, generation_started_at, generation_last_activity_at…No findings

    Why it is in this group

    • The name "getClarityProcess" says "get": a word for reading.
    Description, as the server wrote it
    Get the v2 read model for a clarity process: the process row (with operational fields like generation_error, generation_progress, generation_started_at, generation_last_activity_at, custom_prompt), its captures, and the lightweight version arrays for both snapshot tabs. The full payload of any specific snapshot is fetched lazily via the unified per-snapshot detail endpoint (`GET .../snapshots/:kind/:id`); this read model deliberately doesn't carry it so the response stays small.

    Annotations the server declares

    • title: Get Clarity Process
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityProcessJoinInfoGet information about a clarity interview invite link (public).No findings

    Why it is in this group

    • The name "getClarityProcessJoinInfo" says "get": a word for reading.
    Description, as the server wrote it
    Get information about a clarity interview invite link (public).

    Annotations the server declares

    • title: Get Clarity Process Join Info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityProcessLandscapeFetch the organization's full process landscape with process summaries, team assignments, and page-level statsNo findings

    Why it is in this group

    • The name "getClarityProcessLandscape" says "get": a word for reading.
    Description, as the server wrote it
    Fetch the organization's full process landscape with process summaries, team assignments, and page-level stats

    Annotations the server declares

    • title: Get Clarity Process Landscape
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityProcessSharingGet the sharing status for a clarity processNo findings

    Why it is in this group

    • The name "getClarityProcessSharing" says "get": a word for reading.
    Description, as the server wrote it
    Get the sharing status for a clarity process

    Annotations the server declares

    • title: Get Clarity Process Sharing
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityProcessSnapshotFetch the full payload for a Clarity v2 process snapshot of either kind.No findings

    Why it is in this group

    • The name "getClarityProcessSnapshot" says "get": a word for reading.
    Description, as the server wrote it
    Fetch the full payload for a Clarity v2 process snapshot of either kind.

    Annotations the server declares

    • title: Get Clarity Process Snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityProcessTreeFetch the organization's process tree, or the subtree under rootId.No findings

    Why it is in this group

    • The name "getClarityProcessTree" says "get": a word for reading.
    Description, as the server wrote it
    Fetch the organization's process tree, or the subtree under rootId. Narrow a large organization with `rootId` (one subtree) or `ownerTeamId` (one team's processes) — a whole-organization tree is large enough to be refused by response-size caps

    Annotations the server declares

    • title: Get Clarity Process Tree
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getClarityTeamSettingsGet clarity team settings for financial calculationsNo findings

    Why it is in this group

    • The name "getClarityTeamSettings" says "get": a word for reading.
    Description, as the server wrote it
    Get clarity team settings for financial calculations

    Annotations the server declares

    • title: Get Clarity Team Settings
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getConnectionGet one of your connections by ID.No findings

    Why it is in this group

    • The name "getConnection" says "get": a word for reading.
    Description, as the server wrote it
    Get one of your connections by ID.

    Annotations the server declares

    • title: Get Connection
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getConnectionCredentialsGet the header keys configured for a connection.3 findings

    Why it is in this group

    • The name "getConnectionCredentials" says "get": a word for reading.

    Findings

    • Info

      The title mentions "Credentials".

      Matched text

      title: "Get Connection Credentials"

      What this check looks for
    • Info

      The annotations title mentions "Credentials".

      Matched text

      annotations.title: "Get Connection Credentials"

      What this check looks for
    • Info

      The description mentions "credential".

      Matched text

      description: "...rings — the response only reveals which credential fields are set, never their values."

      What this check looks for
    Description, as the server wrote it
    Get the header keys configured for a connection. Sensitive values (api keys, tokens, passwords) are returned as empty strings — the response only reveals which credential fields are set, never their values.

    Annotations the server declares

    • title: Get Connection Credentials
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getCredentialGet a login by id.2 findings

    Why it is in this group

    • The name "getCredential" says "get": a word for reading.

    Findings

    Description, as the server wrote it
    Get a login by id. Returns the encrypted password/otp_secret blobs — only the owner or team members can access it.

    Annotations the server declares

    • title: Get credential by id
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getEvalRubricsList the evaluation rubrics a Run is scored against: the platform default rubrics plus the Agent-specific rubrics for a build.No findings

    Why it is in this group

    • The name "getEvalRubrics" says "get": a word for reading.
    Description, as the server wrote it
    List the evaluation rubrics a Run is scored against: the platform default rubrics plus the Agent-specific rubrics for a build. Defaults to the Agent's live build; pass build_id to target the revision a specific Run ran against.

    Annotations the server declares

    • title: Get Eval Rubrics
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getEvalScoresAggregate evaluation counts and flag distribution for an Assignment's Jobs since the given timestamp.No findings

    Why it is in this group

    • The name "getEvalScores" says "get": a word for reading.
    Description, as the server wrote it
    Aggregate evaluation counts and flag distribution for an Assignment's Jobs since the given timestamp.

    Annotations the server declares

    • title: Get Eval Scores
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getFileContentGet the content of a text file.No findings

    Why it is in this group

    • The name "getFileContent" says "get": a word for reading.
    Description, as the server wrote it
    Get the content of a text file.

    Annotations the server declares

    • title: Get File Content
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getLegacyClarityProcessGet a legacy v1 Clarity process with process metadata, generated analysis, automation guidance, generation progress, and captures.No findings

    Why it is in this group

    • The name "getLegacyClarityProcess" says "get": a word for reading.
    Description, as the server wrote it
    Get a legacy v1 Clarity process with process metadata, generated analysis, automation guidance, generation progress, and captures. Use this for rows from listClarityProcesses where version=1; v2 rows should use getClarityProcess and snapshot detail tools.

    Annotations the server declares

    • title: Get Legacy Clarity Process
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getNotificationGet a single notification by id for the authenticated user.No findings

    Why it is in this group

    • The name "getNotification" says "get": a word for reading.
    Description, as the server wrote it
    Get a single notification by id for the authenticated user. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

    Annotations the server declares

    • title: Get Notification
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getNotificationBatchGet a single notification batch by id for the authenticated user, with per-type live-member counts, unread count, and worst severity.No findings

    Why it is in this group

    • The name "getNotificationBatch" says "get": a word for reading.
    Description, as the server wrote it
    Get a single notification batch by id for the authenticated user, with per-type live-member counts, unread count, and worst severity. Serves cold deep links and sidebar retention for batches the caller can no longer see in the feed. Counts every live member by default; the optional type/severity/minSeverity filters narrow them to matching members only, exactly as the feed narrows a batch row it returns under the same filters. Requires the Notification Center feature; returns 404 when it is not enabled for the team, the batch does not exist, it belongs to another recipient/team, or no live member matches the given filters.

    Annotations the server declares

    • title: Get Notification Batch
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getNotificationCountsPer-type notification counts for the authenticated user's current team.No findings

    Why it is in this group

    • The name "getNotificationCounts" says "get": a word for reading.
    Description, as the server wrote it
    Per-type notification counts for the authenticated user's current team. Narrow with `unread`, `important`, and with either `severity` (counts only that exact severity) or `minSeverity` (counts that urgency and above) — the two are mutually exclusive and a request carrying both is rejected with 400. Pass the same filters the feed is showing, so the counts describe the list the reader would land on. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

    Annotations the server declares

    • title: Get Notification Counts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getNotificationFeedList the notification feed for the authenticated user's current team, most recent activity first.No findings

    Why it is in this group

    • The name "getNotificationFeed" says "get": a word for reading.
    Description, as the server wrote it
    List the notification feed for the authenticated user's current team, most recent activity first. Each item is either an individual notification or a notification batch (a per-agent group of job_issue/eval_issue/job_done/schedule_issue notifications). Filter with type, unread, and either severity (exact match) or minSeverity (threshold; the two are mutually exclusive); paginate with limit/cursor. Either severity filter also narrows a surfaced batch's counts to its qualifying members, and hides a batch with no qualifying live member. The feed is eventually consistent — a batch's counts can lag a concurrent write by one page fetch. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

    Annotations the server declares

    • title: Get Notification Feed
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getOrgInsightsHeadlineGet org-wide headline insight KPIs (run totals, success rate, distinct active agents and users) aggregated across every team in the organization.No findings

    Why it is in this group

    • The name "getOrgInsightsHeadline" says "get": a word for reading.
    Description, as the server wrote it
    Get org-wide headline insight KPIs (run totals, success rate, distinct active agents and users) aggregated across every team in the organization. Requires an organization Admin, Executive, or Owner role.

    Annotations the server declares

    • title: Get Org Insights Headline
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getOrgInsightsMetricsGet org-level insights metrics (runs, assignments, schedules) broken down per team across the organization.No findings

    Why it is in this group

    • The name "getOrgInsightsMetrics" says "get": a word for reading.
    Description, as the server wrote it
    Get org-level insights metrics (runs, assignments, schedules) broken down per team across the organization. Requires an organization Admin, Executive, or Owner role.

    Annotations the server declares

    • title: Get Org Insights Metrics
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getOrgInsightsUsageChartGet org-level run-volume buckets (scheduled vs on-demand) at day/week/month granularity across the organization.No findings

    Why it is in this group

    • The name "getOrgInsightsUsageChart" says "get": a word for reading.
    Description, as the server wrote it
    Get org-level run-volume buckets (scheduled vs on-demand) at day/week/month granularity across the organization. Requires an organization Admin, Executive, or Owner role.

    Annotations the server declares

    • title: Get Org Insights Usage Chart
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getProfileGet the profile of the authenticated user (the owner of the API key).No findings

    Why it is in this group

    • The name "getProfile" says "get": a word for reading.
    Description, as the server wrote it
    Get the profile of the authenticated user (the owner of the API key).

    Annotations the server declares

    • title: Get Profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getPulseDashboardGet a Duvo Pulse dashboard's metadata and generation status.No findings

    Why it is in this group

    • The name "getPulseDashboard" says "get": a word for reading.
    Description, as the server wrote it
    Get a Duvo Pulse dashboard's metadata and generation status. When status is completed and html_code_present is true, fetch the rendered HTML from GET /artifacts/{artifactId}/render; the conversation is served by GET /artifacts/{artifactId}/messages.

    Annotations the server declares

    • title: Get Pulse Dashboard
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getPulseDashboardAttachmentDownloadUrlMint a short-lived presigned URL to download or preview a file attached to a Duvo Pulse dashboard message.No findings

    Why it is in this group

    • The name "getPulseDashboardAttachmentDownloadUrl" says "get": a word for reading.
    Description, as the server wrote it
    Mint a short-lived presigned URL to download or preview a file attached to a Duvo Pulse dashboard message. Returns 404 once the dashboard's sandbox has expired and the file is gone (about 12 hours).

    Annotations the server declares

    • title: Get Pulse Dashboard Attachment Download Url
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getPulseDashboardHtmlServe a Duvo Pulse dashboard's rendered HTML document (text/html, not JSON).No findings

    Why it is in this group

    • The name "getPulseDashboardHtml" says "get": a word for reading.
    Description, as the server wrote it
    Serve a Duvo Pulse dashboard's rendered HTML document (text/html, not JSON). 404 until the first generation turn has produced HTML.

    Annotations the server declares

    • title: Get Pulse Dashboard Html
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getPulseDashboardPdfRender a Duvo Pulse dashboard to a PDF document (application/pdf, not JSON).No findings

    Why it is in this group

    • The name "getPulseDashboardPdf" says "get": a word for reading.
    Description, as the server wrote it
    Render a Duvo Pulse dashboard to a PDF document (application/pdf, not JSON). 404 until the first generation turn has produced HTML; 409 for an openui dashboard, whose substrate this exporter cannot render.

    Annotations the server declares

    • title: Get Pulse Dashboard Pdf
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getPulseDashboardVersionHtmlServe a specific version's rendered HTML document for a Duvo Pulse dashboard (text/html, requires edit access).No findings

    Why it is in this group

    • The name "getPulseDashboardVersionHtml" says "get": a word for reading.
    Description, as the server wrote it
    Serve a specific version's rendered HTML document for a Duvo Pulse dashboard (text/html, requires edit access).

    Annotations the server declares

    • title: Get Pulse Dashboard Version Html
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getQueueGet a queue by ID.No findings

    Why it is in this group

    • The name "getQueue" says "get": a word for reading.
    Description, as the server wrote it
    Get a queue by ID.

    Annotations the server declares

    • title: Get Queue
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getQueueAggregationResultRead an aggregation definition's cached result.No findings

    Why it is in this group

    • The name "getQueueAggregationResult" says "get": a word for reading.
    Description, as the server wrote it
    Read an aggregation definition's cached result.

    Annotations the server declares

    • title: Get Queue Aggregation Result
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getQueueJsonSchemaGet a queue's Case schema settings: whether it requires typed cases, and the schema it validates them against.No findings

    Why it is in this group

    • The name "getQueueJsonSchema" says "get": a word for reading.
    Description, as the server wrote it
    Get a queue's Case schema settings: whether it requires typed cases, and the schema it validates them against.

    Annotations the server declares

    • title: Get Queue Json Schema
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getRevisionGet a revision by ID.No findings

    Why it is in this group

    • The name "getRevision" says "get": a word for reading.
    Description, as the server wrote it
    Get a revision by ID.

    Annotations the server declares

    • title: Get Revision
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getRevisionBodyRead one section of a revision's config as plain text, in character ranges: the AOP (`input`) or the code-step program (`source`).No findings

    Why it is in this group

    • The name "getRevisionBody" says "get": a word for reading.
    Description, as the server wrote it
    Read one section of a revision's config as plain text, in character ranges: the AOP (`input`) or the code-step program (`source`). Use it instead of getRevision when the text is large; listAgents with `config=light` reports each agent's `input_chars` and `source_chars`.

    Annotations the server declares

    • title: Get Revision Body
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getRevisionCaseQueueSetupCheck that this build's case-queue integration slots are wired up correctly.No findings

    Why it is in this group

    • The name "getRevisionCaseQueueSetup" says "get": a word for reading.
    Description, as the server wrote it
    Check that this build's case-queue integration slots are wired up correctly. Returns, per case-queue-producer/consumer slot, how many queues are linked, plus whether any queue is available to bind (scoped to the agent's automation on a migrated team, team-wide otherwise). A slot with linked_queue_count of 0 is attached but points at no queue and will fail at runtime — link a queue with replaceRevisionIntegrationQueues before starting work.

    Annotations the server declares

    • title: Get Revision Case Queue Setup
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getRunGet information about an agent run.No findings

    Why it is in this group

    • The name "getRun" says "get": a word for reading.
    Description, as the server wrote it
    Get information about an agent run. Can be polled to check status.

    Annotations the server declares

    • title: Get Run
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getRunEvaluationGet the latest evaluation analysis for a specific agent run (Run).No findings

    Why it is in this group

    • The name "getRunEvaluation" says "get": a word for reading.
    Description, as the server wrote it
    Get the latest evaluation analysis for a specific agent run (Run).

    Annotations the server declares

    • title: Get Run Evaluation
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getSecretGet an env-var secret by id.No findings

    Why it is in this group

    • The name "getSecret" says "get": a word for reading.
    Description, as the server wrote it
    Get an env-var secret by id. Returns metadata and env var keys; secret values are never exposed.

    Annotations the server declares

    • title: Get Secret
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getSkillFileContentGet the content of a file in a skill.No findings

    Why it is in this group

    • The name "getSkillFileContent" says "get": a word for reading.
    Description, as the server wrote it
    Get the content of a file in a skill.

    Annotations the server declares

    • title: Get Skill File Content
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getSkillRevisionFileContentGet the content of a text file in a skill revision.No findings

    Why it is in this group

    • The name "getSkillRevisionFileContent" says "get": a word for reading.
    Description, as the server wrote it
    Get the content of a text file in a skill revision.

    Annotations the server declares

    • title: Get Skill Revision File Content
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getTeamGet a team by ID.No findings

    Why it is in this group

    • The name "getTeam" says "get": a word for reading.
    Description, as the server wrote it
    Get a team by ID. The caller must be scoped to the requested team.

    Annotations the server declares

    • title: Get Team
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • getUnreadNotificationCountGet the unread notification count for the authenticated user's current team.No findings

    Why it is in this group

    • The name "getUnreadNotificationCount" says "get": a word for reading.
    Description, as the server wrote it
    Get the unread notification count for the authenticated user's current team. Each notification batch with unread members counts as 1, regardless of its member count. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

    Annotations the server declares

    • title: Get Unread Notification Count
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listActiveClarityExportsList active (queued or running) Clarity export jobs for the current userNo findings

    Why it is in this group

    • The name "listActiveClarityExports" says "list": a word for reading.
    Description, as the server wrote it
    List active (queued or running) Clarity export jobs for the current user

    Annotations the server declares

    • title: List Active Clarity Exports
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentCaseTriggersList the case triggers configured for an agent.No findings

    Why it is in this group

    • The name "listAgentCaseTriggers" says "list": a word for reading.
    Description, as the server wrote it
    List the case triggers configured for an agent. Each trigger automatically dispatches the agent to run cases added to a queue.

    Annotations the server declares

    • title: List Agent Case Triggers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentFoldersList all agent folders for the authenticated team.No findings

    Why it is in this group

    • The name "listAgentFolders" says "list": a word for reading.
    Description, as the server wrote it
    List all agent folders for the authenticated team.

    Annotations the server declares

    • title: List Agent Folders
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentMemoryFilesList the memory files stored for an agent.No findings

    Why it is in this group

    • The name "listAgentMemoryFiles" says "list": a word for reading.
    Description, as the server wrote it
    List the memory files stored for an agent.

    Annotations the server declares

    • title: List Agent Memory Files
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentRevisionsList revisions for an agent.No findings

    Why it is in this group

    • The name "listAgentRevisions" says "list": a word for reading.
    Description, as the server wrote it
    List revisions for an agent. Pass `config=light` to leave each revision's config out of the page and get its sizes instead; read the AOP with getRevisionBody.

    Annotations the server declares

    • title: List Agent Revisions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentsList agents for your team.No findings

    Why it is in this group

    • The name "listAgents" says "list": a word for reading.
    Description, as the server wrote it
    List agents for your team. Pass `config=light` to leave each agent's revision config out of the page and get its sizes instead; read the AOP with getRevisionBody.

    Annotations the server declares

    • title: List Agents
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentSchedulesList the schedules you own on an agent.No findings

    Why it is in this group

    • The name "listAgentSchedules" says "list": a word for reading.
    Description, as the server wrote it
    List the schedules you own on an agent. Returns only your own schedules, whoever you are. Callers with an elevated team role can read every member's schedules on the agent, including who created each one, via `GET /agents/{agent_id}/schedules/all`.

    Annotations the server declares

    • title: List Agent Schedules
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentSlackBoundWorkspacesList the Slack workspaces bound to an agent build that you can create channel triggers for.No findings

    Why it is in this group

    • The name "listAgentSlackBoundWorkspaces" says "list": a word for reading.
    Description, as the server wrote it
    List the Slack workspaces bound to an agent build that you can create channel triggers for. Creating a Slack channel trigger for any other workspace is rejected, so start here to pick a valid `slack_team_id` and `integration_instance_id`.

    Annotations the server declares

    • title: List Slack Workspaces Bound To An Agent
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentSlackTriggersList the Slack channel triggers you own on an agent (Agent in the Duvo UI), oldest first.No findings

    Why it is in this group

    • The name "listAgentSlackTriggers" says "list": a word for reading.
    Description, as the server wrote it
    List the Slack channel triggers you own on an agent (Agent in the Duvo UI), oldest first. Each trigger's `filter_config` carries the watched `channelId`, `channelName`, Slack `workspaceId`, and `matchRule`. Capped at 100 triggers per agent.

    Annotations the server declares

    • title: List Slack Channel Triggers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentSuggestionsList an Agent's suggestions.No findings

    Why it is in this group

    • The name "listAgentSuggestions" says "list": a word for reading.
    Description, as the server wrote it
    List an Agent's suggestions. status=pending is the inbox; status=history is consumed/dismissed/auto-cleared. Reads lazily auto-clear stale pending items.

    Annotations the server declares

    • title: List Agent Suggestions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentTriggersList the trigger definitions the authenticated user owns on an agent (Agent in the Duvo UI).No findings

    Why it is in this group

    • The name "listAgentTriggers" says "list": a word for reading.
    Description, as the server wrote it
    List the trigger definitions the authenticated user owns on an agent (Agent in the Duvo UI). Triggers start a Run automatically when an external event fires (e.g. an email arrives or a Linear issue is created).

    Annotations the server declares

    • title: List Agent Triggers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAgentTriggerTypesList the trigger types available for an agent, grouped by integration.No findings

    Why it is in this group

    • The name "listAgentTriggerTypes" says "list": a word for reading.
    Description, as the server wrote it
    List the trigger types available for an agent, grouped by integration. Use the returned `integration_slug` and `trigger_type` values when creating a trigger.

    Annotations the server declares

    • title: List Agent Trigger Types
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAllAgentSchedulesList every team member's schedules on an agent, including who created each one.No findings

    Why it is in this group

    • The name "listAllAgentSchedules" says "list": a word for reading.
    Description, as the server wrote it
    List every team member's schedules on an agent, including who created each one. Requires an elevated team role; callers without one receive 403 and should use `GET /agents/{agent_id}/schedules`, which returns only the schedules they own.

    Annotations the server declares

    • title: List All Agent Schedules
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAutomationsList the team's automations, each with its live agent and queue counts.No findings

    Why it is in this group

    • The name "listAutomations" says "list": a word for reading.
    Description, as the server wrote it
    List the team's automations, each with its live agent and queue counts. An automation is the workspace container an agent or queue belongs to on a team that has moved to Automations — its id is what `POST /queues` and `POST /agents` need as `automation_id`.

    Annotations the server declares

    • title: List Automations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listAvailableClarityProcessLabelsList process tags available for a process.No findings

    Why it is in this group

    • The name "listAvailableClarityProcessLabels" says "list": a word for reading.
    Description, as the server wrote it
    List process tags available for a process.

    Annotations the server declares

    • title: List Available Clarity Process Labels
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listCaseAttachmentsList the files attached to a case, oldest first.No findings

    Why it is in this group

    • The name "listCaseAttachments" says "list": a word for reading.
    Description, as the server wrote it
    List the files attached to a case, oldest first. Includes attachments whose upload failed, so a missing source document is visible rather than silent.

    Annotations the server declares

    • title: List Case Attachments
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listCaseLabelsList all labels assigned to a case.No findings

    Why it is in this group

    • The name "listCaseLabels" says "list": a word for reading.
    Description, as the server wrote it
    List all labels assigned to a case.

    Annotations the server declares

    • title: List Case Labels
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listCaseRunRecentMessagesReturn the latest qualifying messages (assistant text + tool calls) for a Run on a case, newest last.No findings

    Why it is in this group

    • The name "listCaseRunRecentMessages" says "list": a word for reading.
    Description, as the server wrote it
    Return the latest qualifying messages (assistant text + tool calls) for a Run on a case, newest last. Used to populate the live body of an active Run card in the case Activity timeline.

    Annotations the server declares

    • title: List Case Run Recent Messages
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listCaseRunsList Runs (agent runs) that have claimed or received handover of a case, newest first.No findings

    Why it is in this group

    • The name "listCaseRuns" says "list": a word for reading.
    Description, as the server wrote it
    List Runs (agent runs) that have claimed or received handover of a case, newest first. Capped at 50 ownership events.

    Annotations the server declares

    • title: List Case Runs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listCasesList cases in a queue.1 finding

    Why it is in this group

    • The name "listCases" says "list": a word for reading.

    Findings

    • Info

      The input schema at properties.awaiting_my_approval.description mentions "credential".

      Matched text

      inputSchema.properties.awaiting_my_approval.description: "...filters as the user who owns it, and a credential with no user behind it is rejected rath..."

      What this check looks for
    Description, as the server wrote it
    List cases in a queue. Supports status, date-range, free-text, and json_data field filters via query params. Set count_only=true to skip Case row selection and transformation. The normal response shape is returned with cases: [] and the matching total. For label filters, use POST /v2/queues/:queue_id/cases/search.

    Annotations the server declares

    • title: List Cases
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityArtifactChatConversationsList the current user's recent non-deleted artifact-chat conversations for a Clarity v2 process and snapshot kind.No findings

    Why it is in this group

    • The name "listClarityArtifactChatConversations" says "list": a word for reading.
    Description, as the server wrote it
    List the current user's recent non-deleted artifact-chat conversations for a Clarity v2 process and snapshot kind.

    Annotations the server declares

    • title: List Clarity Artifact Chat Conversations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityExtraCaptureRequestsList active extra-capture requests for a given automation proposal of a Clarity v2 process.No findings

    Why it is in this group

    • The name "listClarityExtraCaptureRequests" says "list": a word for reading.
    Description, as the server wrote it
    List active extra-capture requests for a given automation proposal of a Clarity v2 process. The caller is expected to know the proposal id from the V2 read model and skip the call when no proposal exists yet.

    Annotations the server declares

    • title: List Clarity Extra Capture Requests
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityFoldersList the team's process folders with process and suggestion countsNo findings

    Why it is in this group

    • The name "listClarityFolders" says "list": a word for reading.
    Description, as the server wrote it
    List the team's process folders with process and suggestion counts

    Annotations the server declares

    • title: List Clarity Folders
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityInterviewInvitesList a Clarity process's pending and accepted invitations, newest first, with whether each was accepted, whether it was sent an account-free interview link, and whether the invitee…No findings

    Why it is in this group

    • The name "listClarityInterviewInvites" says "list": a word for reading.
    Description, as the server wrote it
    List a Clarity process's pending and accepted invitations, newest first, with whether each was accepted, whether it was sent an account-free interview link, and whether the invitee has opened that link or submitted an interview. Paginate with limit and offset; total is the number of invitations. Revoke a pending invitation by passing its id to deleteTeamInvite.

    Annotations the server declares

    • title: List Clarity Interview Invites
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityLandscapeCapturesList the organization's Process Landscape captures.No findings

    Why it is in this group

    • The name "listClarityLandscapeCaptures" says "list": a word for reading.
    Description, as the server wrote it
    List the organization's Process Landscape captures. By default, only captures eligible to seed new process proposals are returned; excluded captures can be included for inspection.

    Annotations the server declares

    • title: List Clarity Landscape Captures
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityLandscapeNodeInterviewsList Clarity interviews linked to a process folderNo findings

    Why it is in this group

    • The name "listClarityLandscapeNodeInterviews" says "list": a word for reading.
    Description, as the server wrote it
    List Clarity interviews linked to a process folder

    Annotations the server declares

    • title: List Clarity Landscape Node Interviews
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityLandscapeNodePeopleList the people involved in the process behind one process landscape node.No findings

    Why it is in this group

    • The name "listClarityLandscapeNodePeople" says "list": a word for reading.
    Description, as the server wrote it
    List the people involved in the process behind one process landscape node. To read the people across the whole landscape in one request, use getClarityHierarchyPeople instead.

    Annotations the server declares

    • title: List Clarity Landscape Node People
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityOrganizationInterviewsList Clarity interviews across an organizationNo findings

    Why it is in this group

    • The name "listClarityOrganizationInterviews" says "list": a word for reading.
    Description, as the server wrote it
    List Clarity interviews across an organization

    Annotations the server declares

    • title: List Clarity Organization Interviews
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityProcessAssignedLabelsList process tags on a process.No findings

    Why it is in this group

    • The name "listClarityProcessAssignedLabels" says "list": a word for reading.
    Description, as the server wrote it
    List process tags on a process.

    Annotations the server declares

    • title: List Clarity Process Assigned Labels
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityProcessesList Clarity processes for the current team, most recently updated first.No findings

    Why it is in this group

    • The name "listClarityProcesses" says "list": a word for reading.
    Description, as the server wrote it
    List Clarity processes for the current team, most recently updated first. Returns lightweight metadata (capture counts, contributors, status) suitable for building a picker; the per-process read model is available via `GET /v2/teams/:team_id/clarity-v2/processes/:process_id` for v2 rows and `GET /v2/teams/:team_id/clarity/processes/:id` for legacy v1 rows. Both v1 (legacy) and v2 processes are returned by default; use `search`, `status`, and `version` to narrow discovery. Capped at 100 per page.

    Annotations the server declares

    • title: List Clarity Processes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityProcessLabelsList process tags available in an organization.No findings

    Why it is in this group

    • The name "listClarityProcessLabels" says "list": a word for reading.
    Description, as the server wrote it
    List process tags available in an organization.

    Annotations the server declares

    • title: List Clarity Process Labels
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityProcessMembersList users with accepted access to a clarity process, the people invited who have not accepted yet, and anyone else who has recorded a capture on itNo findings

    Why it is in this group

    • The name "listClarityProcessMembers" says "list": a word for reading.
    Description, as the server wrote it
    List users with accepted access to a clarity process, the people invited who have not accepted yet, and anyone else who has recorded a capture on it

    Annotations the server declares

    • title: List Clarity Process Members
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityProcessSnapshotsList lightweight Clarity v2 process snapshots for one kind.No findings

    Why it is in this group

    • The name "listClarityProcessSnapshots" says "list": a word for reading.
    Description, as the server wrote it
    List lightweight Clarity v2 process snapshots for one kind.

    Annotations the server declares

    • title: List Clarity Process Snapshots
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityProcessSummariesCross-process portfolio digest for every completed Clarity process on the team: per-process summary, SWOT, projected impact, and a step skeleton (role, system, and flow edges) — wi…No findings

    Why it is in this group

    • The name "listClarityProcessSummaries" says "list": a word for reading.
    Description, as the server wrote it
    Cross-process portfolio digest for every completed Clarity process on the team: per-process summary, SWOT, projected impact, and a step skeleton (role, system, and flow edges) — without step prose or source excerpts. Paginated (default 5, max 10). Use this to answer portfolio-wide questions in one pass; fetch a single process's full detail via getClarityProcessSnapshot only for the few that matter.

    Annotations the server declares

    • title: List Clarity Process Summaries
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityStepFramesReturn one representative screenshare frame for each current-process step.No findings

    Why it is in this group

    • The name "listClarityStepFrames" says "list": a word for reading.
    Description, as the server wrote it
    Return one representative screenshare frame for each current-process step. Explicit frame evidence wins. Otherwise, a timestamped screenshare transcript source selects the closest persisted frame at or after that timestamp, with the closest earlier frame as fallback. Pass `window` (1-5) to also receive that many neighbouring frames on each side as candidates, for recovering when the selected frame does not show the step. Pass `size=thumb` for 768px copies that are cheaper to download and inspect. Signed URLs are short-lived and can be null when signing is unavailable.

    Annotations the server declares

    • title: List Clarity Step Frames
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listClarityTeamInterviewsList team-level Clarity interviewsNo findings

    Why it is in this group

    • The name "listClarityTeamInterviews" says "list": a word for reading.
    Description, as the server wrote it
    List team-level Clarity interviews

    Annotations the server declares

    • title: List Clarity Team Interviews
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listConfigFieldsRead an automation's module config fields (its Policy), grouped by section in the automation's section order, with each field's current value, default, and fill provenance.No findings

    Why it is in this group

    • The name "listConfigFields" says "list": a word for reading.
    Description, as the server wrote it
    Read an automation's module config fields (its Policy), grouped by section in the automation's section order, with each field's current value, default, and fill provenance.

    Annotations the server declares

    • title: List Config Fields
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listConfigSectionsList the sections of an automation's Policy in display order, empty ones included, each with its key, name, origin and question count.No findings

    Why it is in this group

    • The name "listConfigSections" says "list": a word for reading.
    Description, as the server wrote it
    List the sections of an automation's Policy in display order, empty ones included, each with its key, name, origin and question count. No offset/limit params: this is the automation's whole set of sections.

    Annotations the server declares

    • title: List Config Sections
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listConnectionsList the authenticated user's connections (connected integration instances) for the current team.No findings

    Why it is in this group

    • The name "listConnections" says "list": a word for reading.
    Description, as the server wrote it
    List the authenticated user's connections (connected integration instances) for the current team. Includes team-shared instances visible to the caller, and instances another team has granted to this one, when the org-level Connections sharing setting is on. The `type` query parameter filters by integration type, not native OAuth provider key.

    Annotations the server declares

    • title: List Connections
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listCredentialsList browser-login credentials visible to the caller for the current team — team-shared (user_id IS NULL) plus the caller's own personal logins.3 findings

    Why it is in this group

    • The name "listCredentials" says "list": a word for reading.

    Findings

    • Info

      The title mentions "credentials".

      Matched text

      title: "List credentials for user and team"

      What this check looks for
    • Info

      The annotations title mentions "credentials".

      Matched text

      annotations.title: "List credentials for user and team"

      What this check looks for
    • Info

      The description mentions "credentials".

      Matched text

      description: "List browser-login credentials visible to the caller for the current t..."

      What this check looks for
    Description, as the server wrote it
    List browser-login credentials visible to the caller for the current team — team-shared (user_id IS NULL) plus the caller's own personal logins. Optionally filter by `domain`. Passwords and OTP secrets are never returned; only metadata flags indicating whether they are set.

    Annotations the server declares

    • title: List credentials for user and team
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listFilesList files for the current team.No findings

    Why it is in this group

    • The name "listFiles" says "list": a word for reading.
    Description, as the server wrote it
    List files for the current team.

    Annotations the server declares

    • title: List Files
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listIntegrationsList the team's integration catalog: built-in integration types plus the custom connection types this team owns or has been granted by another team in its organization.No findings

    Why it is in this group

    • The name "listIntegrations" says "list": a word for reading.
    Description, as the server wrote it
    List the team's integration catalog: built-in integration types plus the custom connection types this team owns or has been granted by another team in its organization. OAuth authorization flows are browser-based and cannot be performed via this API; use the Duvo dashboard to complete OAuth-based connections.

    Annotations the server declares

    • title: List Integrations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listMyOrganizationsList the organizations the current user belongs to, with their role (organization:member, organization:admin, organization:owner, or organization:executive) and member count in eac…No findings

    Why it is in this group

    • The name "listMyOrganizations" says "list": a word for reading.
    Description, as the server wrote it
    List the organizations the current user belongs to, with their role (organization:member, organization:admin, organization:owner, or organization:executive) and member count in each. Use this to check whether the user has an admin-or-above role before calling organization-scoped endpoints, which reject lower roles with 403.

    Annotations the server declares

    • title: List My Organizations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listMyTeamsList teams the authenticated caller can act on.No findings

    Why it is in this group

    • The name "listMyTeams" says "list": a word for reading.
    Description, as the server wrote it
    List teams the authenticated caller can act on. Team-scoped API keys see only the key's team; managed Ask Duvo keys stay within their origin boundary; human user-scoped API keys and OAuth callers see every team they're a member of.

    Annotations the server declares

    • title: List My Teams
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listNotificationsList notifications for the authenticated user's current team, most recent first.No findings

    Why it is in this group

    • The name "listNotifications" says "list": a word for reading.
    Description, as the server wrote it
    List notifications for the authenticated user's current team, most recent first. Filter with type, unread, severity or minSeverity (mutually exclusive), important, agentRunId, or processId; paginate with limit/cursor. Pass batchId to list only the live members of a notification batch, optionally ordered by sort=importance (only valid together with batchId). Requires the Notification Center feature; returns 404 when it is not enabled for the team.

    Annotations the server declares

    • title: List Notifications
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listOrgAgentsList every agent across all teams in an organization, with the team it belongs to, the state of its most recent run and the state of its schedules.No findings

    Why it is in this group

    • The name "listOrgAgents" says "list": a word for reading.
    Description, as the server wrote it
    List every agent across all teams in an organization, with the team it belongs to, the state of its most recent run and the state of its schedules. Intended for external monitoring: it answers 'which agents have gone silent' and 'which agents were switched off' without a request per team or per agent. Requires an organization Admin, Executive, or Owner role, and an API key scoped to all teams you can access — a key pinned to a single team is rejected, because this endpoint spans every team in the organization.

    Annotations the server declares

    • title: List Org Agents
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listOrgRunsList runs across every team in an organization, filtered by status, agent, team, source, evaluation issues and time.No findings

    Why it is in this group

    • The name "listOrgRuns" says "list": a word for reading.
    Description, as the server wrote it
    List runs across every team in an organization, filtered by status, agent, team, source, evaluation issues and time. Intended for external monitoring: one call covers the whole org instead of one per team. Requires an organization Admin, Executive, or Owner role, and an API key scoped to all teams you can access — a key pinned to a single team is rejected, because this endpoint spans every team in the organization.

    Annotations the server declares

    • title: List Org Runs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listOrgTeamsList teams belonging to an organization you are a member of, including your membership and role in each.No findings

    Why it is in this group

    • The name "listOrgTeams" says "list": a word for reading.
    Description, as the server wrote it
    List teams belonging to an organization you are a member of, including your membership and role in each.

    Annotations the server declares

    • title: List Org Teams
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listPluginCatalogList plugins that can be referenced by name in a build's plugins array.No findings

    Why it is in this group

    • The name "listPluginCatalog" says "list": a word for reading.
    Description, as the server wrote it
    List plugins that can be referenced by name in a build's plugins array. Builds may also reference any public GitHub repository URL (https://github.com/owner/repo) as a plugin; those are not enumerated here.

    Annotations the server declares

    • title: List Plugin Catalog
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listProcessRolesList the process roles of an automation (Operator, Executive, Approver and the like, defined on that one automation, not the team's Admin/Member/Builder roles) with what each can d…No findings

    Why it is in this group

    • The name "listProcessRoles" says "list": a word for reading.
    Description, as the server wrote it
    List the process roles of an automation (Operator, Executive, Approver and the like, defined on that one automation, not the team's Admin/Member/Builder roles) with what each can do and who holds it. Answer "who can see X", "who has which role" and "what does each role see" on an automation from this, not from team membership or dashboard sharing. Each role has its `key` (pass it to assignProcessMember), `label`, `can_act_on_cases`, `can_view_manage`, the `dashboards` it opens, its `members` and its `pending_invites`. `dashboards_shared_individually` are pinned dashboards a role alone does not open: say they must be shared with the person too. `dashboards_creator_only` read a live Connection and open only for their creator. When `roster.complete` is false the lists were cut off: say so, give the totals, and point to the People tab (`urls.people`) instead of saying who holds a role. Give the user the full `url`s, not the paths. Managers and above only.

    Annotations the server declares

    • title: List Process Roles
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listPulseDashboardCommentsList the comment threads on a Duvo Pulse dashboard (requires view access).No findings

    Why it is in this group

    • The name "listPulseDashboardComments" says "list": a word for reading.
    Description, as the server wrote it
    List the comment threads on a Duvo Pulse dashboard (requires view access). Each thread carries its author, the dashboard element it is pinned to, its replies oldest-first, and whether it has been marked complete.

    Annotations the server declares

    • title: List Pulse Dashboard Comments
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listPulseDashboardConnectionsList the connections (data sources) attached to a Duvo Pulse dashboard (requires edit access).No findings

    Why it is in this group

    • The name "listPulseDashboardConnections" says "list": a word for reading.
    Description, as the server wrote it
    List the connections (data sources) attached to a Duvo Pulse dashboard (requires edit access).

    Annotations the server declares

    • title: List Pulse Dashboard Connections
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listPulseDashboardMessagesList the chat transcript of a Duvo Pulse dashboard's live version (requires edit access).No findings

    Why it is in this group

    • The name "listPulseDashboardMessages" says "list": a word for reading.
    Description, as the server wrote it
    List the chat transcript of a Duvo Pulse dashboard's live version (requires edit access). Returns the most recent page by default, oldest first within the page; pass `before` (a message id from a previous page) to walk back through older messages. Messages from other version branches are not included.

    Annotations the server declares

    • title: List Pulse Dashboard Messages
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listPulseDashboardsList your Duvo Pulse dashboards (live, agent-generated visualizations of your Duvo data).No findings

    Why it is in this group

    • The name "listPulseDashboards" says "list": a word for reading.
    Description, as the server wrote it
    List your Duvo Pulse dashboards (live, agent-generated visualizations of your Duvo data). Ordered most recently updated first, except scope=automation, which is ordered by creation time (then id) so the whole scope can be read with the after_id cursor without a concurrent change shifting a page boundary.

    Annotations the server declares

    • title: List Pulse Dashboards
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listPulseDashboardVersionsList the version history of a Duvo Pulse dashboard, newest first (requires edit access).No findings

    Why it is in this group

    • The name "listPulseDashboardVersions" says "list": a word for reading.
    Description, as the server wrote it
    List the version history of a Duvo Pulse dashboard, newest first (requires edit access). Use the version id with the restore and version-render endpoints.

    Annotations the server declares

    • title: List Pulse Dashboard Versions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listPulseDataSourcesDiscover queues the current editor may connect to this team-created Pulse before sampling data.No findings

    Why it is in this group

    • The name "listPulseDataSources" says "list": a word for reading.
    Description, as the server wrote it
    Discover queues the current editor may connect to this team-created Pulse before sampling data. Requires live dashboard edit permission and ordinary team data access. Module sources are installed with the Module. A queue ID in generated code does not grant access.

    Annotations the server declares

    • title: List Pulse Data Sources
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listQueueAgentsList agents bound to a queue as producers (agents that push cases into the queue) or consumers (agents triggered by cases in the queue).No findings

    Why it is in this group

    • The name "listQueueAgents" says "list": a word for reading.
    Description, as the server wrote it
    List agents bound to a queue as producers (agents that push cases into the queue) or consumers (agents triggered by cases in the queue).

    Annotations the server declares

    • title: List Queue Agents
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listQueueAggregationsList a queue's aggregation definitions.No findings

    Why it is in this group

    • The name "listQueueAggregations" says "list": a word for reading.
    Description, as the server wrote it
    List a queue's aggregation definitions.

    Annotations the server declares

    • title: List Queue Aggregations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listQueueLabelsList every label defined on a queue along with the count of cases each label is assigned to.No findings

    Why it is in this group

    • The name "listQueueLabels" says "list": a word for reading.
    Description, as the server wrote it
    List every label defined on a queue along with the count of cases each label is assigned to.

    Annotations the server declares

    • title: List Queue Labels
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listQueuesList queues for your team.No findings

    Why it is in this group

    • The name "listQueues" says "list": a word for reading.
    Description, as the server wrote it
    List queues for your team.

    Annotations the server declares

    • title: List Queues
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listRevisionIntegrationConnectionsList the connections you have pinned to this build's integration slot.No findings

    Why it is in this group

    • The name "listRevisionIntegrationConnections" says "list": a word for reading.
    Description, as the server wrote it
    List the connections you have pinned to this build's integration slot. Multi-pin is supported: you can pin multiple connections to the same slot.

    Annotations the server declares

    • title: List Revision Integration Connections
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listRevisionIntegrationQueuesList the queues linked to this build's case-queue integration slot.No findings

    Why it is in this group

    • The name "listRevisionIntegrationQueues" says "list": a word for reading.
    Description, as the server wrote it
    List the queues linked to this build's case-queue integration slot. Only meaningful for case-queue-producer and case-queue-consumer integrations.

    Annotations the server declares

    • title: List Revision Integration Queues
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listRevisionIntegrationsList integrations attached to an agent revision.No findings

    Why it is in this group

    • The name "listRevisionIntegrations" says "list": a word for reading.
    Description, as the server wrote it
    List integrations attached to an agent revision.

    Annotations the server declares

    • title: List Revision Integrations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listRevisionLoginsList logins attached to a specific revision (build) of an assignment.No findings

    Why it is in this group

    • The name "listRevisionLogins" says "list": a word for reading.
    Description, as the server wrote it
    List logins attached to a specific revision (build) of an assignment. Returns metadata only — passwords and OTP secrets are never exposed.

    Annotations the server declares

    • title: List Revision Logins
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listRevisionSecretsList env-var secrets attached to a specific revision (build) of an assignment.No findings

    Why it is in this group

    • The name "listRevisionSecrets" says "list": a word for reading.
    Description, as the server wrote it
    List env-var secrets attached to a specific revision (build) of an assignment. Returns metadata and env-var keys only — secret values are never exposed.

    Annotations the server declares

    • title: List Revision Secrets
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listRunMessagesGet paginated messages for an agent run.No findings

    Why it is in this group

    • The name "listRunMessages" says "list": a word for reading.
    Description, as the server wrote it
    Get paginated messages for an agent run. Messages are returned in chronological order.

    Annotations the server declares

    • title: List Run Messages
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listRunsList runs for the current team.No findings

    Why it is in this group

    • The name "listRuns" says "list": a word for reading.
    Description, as the server wrote it
    List runs for the current team. Supports filtering by agent, user, queue, status, etc. Messages, evaluation data, and queue metadata are included where available. Set count_only=true to skip Run row selection and enrichment. The normal response shape is returned with data: [] and the matching total. To sweep a whole team, follow `next_cursor` rather than raising `offset`.

    Annotations the server declares

    • title: List Runs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listSandboxFilesList files in a sandbox directory.No findings

    Why it is in this group

    • The name "listSandboxFiles" says "list": a word for reading.
    Description, as the server wrote it
    List files in a sandbox directory.

    Annotations the server declares

    • title: List Sandbox Files
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listSecretsList env-var secrets the caller can reach in this team — team-shared (user_id IS NULL), the caller's own personal entries, and secrets another team in the organization has granted …No findings

    Why it is in this group

    • The name "listSecrets" says "list": a word for reading.
    Description, as the server wrote it
    List env-var secrets the caller can reach in this team — team-shared (user_id IS NULL), the caller's own personal entries, and secrets another team in the organization has granted to this team. Returns metadata and env-var keys only; secret values are never exposed.

    Annotations the server declares

    • title: List Secrets
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listSkillAssignmentsList the agents in the current team whose live build references the given skill.No findings

    Why it is in this group

    • The name "listSkillAssignments" says "list": a word for reading.
    Description, as the server wrote it
    List the agents in the current team whose live build references the given skill. Used to warn users that editing a skill will affect every agent that uses it.

    Annotations the server declares

    • title: List Skill Assignments
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listSkillFilesList all files in a skill.No findings

    Why it is in this group

    • The name "listSkillFiles" says "list": a word for reading.
    Description, as the server wrote it
    List all files in a skill.

    Annotations the server declares

    • title: List Skill Files
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listSkillRevisionFilesList the files in a skill revision, one page at a time.No findings

    Why it is in this group

    • The name "listSkillRevisionFiles" says "list": a word for reading.
    Description, as the server wrote it
    List the files in a skill revision, one page at a time. When `has_more` is true, pass `next_cursor` back as `cursor` to fetch the next page.

    Annotations the server declares

    • title: List Skill Revision Files
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listSkillRevisionsList a skill's version history.No findings

    Why it is in this group

    • The name "listSkillRevisions" says "list": a word for reading.
    Description, as the server wrote it
    List a skill's version history. Each revision is a snapshot of the skill's files; at most one is active (live) at a time, plus at most one open draft.

    Annotations the server declares

    • title: List Skill Revisions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listSkillsList all skills for the current team, including system skills.No findings

    Why it is in this group

    • The name "listSkills" says "list": a word for reading.
    Description, as the server wrote it
    List all skills for the current team, including system skills.

    Annotations the server declares

    • title: List Skills
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listSystemSkillsList all system skills (skills available to all teams).No findings

    Why it is in this group

    • The name "listSystemSkills" says "list": a word for reading.
    Description, as the server wrote it
    List all system skills (skills available to all teams).

    Annotations the server declares

    • title: List System Skills
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listTeamInvitesList a team's pending invitations — everyone invited who has not yet accepted or declined.No findings

    Why it is in this group

    • The name "listTeamInvites" says "list": a word for reading.
    Description, as the server wrote it
    List a team's pending invitations — everyone invited who has not yet accepted or declined. Pass `processId` to list the pending invitations for a single Clarity process instead.

    Annotations the server declares

    • title: List Team Invites
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • listTeamMembersList members of a team.No findings

    Why it is in this group

    • The name "listTeamMembers" says "list": a word for reading.
    Description, as the server wrote it
    List members of a team. The authenticated session or API key must be scoped to the requested team.

    Annotations the server declares

    • title: List Team Members
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • previewAgentCaseTriggerConflictsPreview which other agents would conflict with this agent's case trigger if it pointed at the given queue.No findings

    Why it is in this group

    • The name "previewAgentCaseTriggerConflicts" says "preview": a word for reading.
    Description, as the server wrote it
    Preview which other agents would conflict with this agent's case trigger if it pointed at the given queue. Does not modify the trigger.

    Annotations the server declares

    • title: Preview Agent Case Trigger Conflicts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • readAutomationDashboardDataThe figures a Module automation's Pulse dashboards show, computed server-side the same way the dashboard computes them: each tile's `label`, `value`, `unit` and `display` (the valu…No findings

    Why it is in this group

    • The name "readAutomationDashboardData" says "read": a word for reading.
    Description, as the server wrote it
    The figures a Module automation's Pulse dashboards show, computed server-side the same way the dashboard computes them: each tile's `label`, `value`, `unit` and `display` (the value as the dashboard prints it), with a `description` where the label alone leaves the figure unclear and a `note` for what the tile shows besides it. Call this for any number on a Module dashboard instead of reading the dashboard's HTML (`getPulseDashboardHtml` refuses Module dashboards for size) or paging through Cases: a recount can disagree with the tile the user sees. Pass `dashboard_id` for one dashboard, or leave it out for every dashboard of the automation the caller may open. `range` applies to dashboards with a time range control; the result names the range it read. Pass `time_zone` with the user's IANA zone so a day starts at their midnight, as their dashboard's do; without it days start at midnight UTC, and `range.time_zone` says which zone was used. Quote `display`, say the period it covers, and name and link the dashboard with its `link`. A dashboard whose figures are not declared, or that was changed since it was installed, comes back `unsupported`; one that could not be read comes back `error`; both carry a `hint`. Needs Queues on the team's plan. Each `link` is a path in the Duvo web app; give the user the full URL beside it (`url`).

    Annotations the server declares

    • title: Read Automation Dashboard Data
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • readAutomationPolicyRead an automation's whole Policy before answering anything about it: every question by section, with its `id` (the field id updateConfigField takes), key, type, answer and who gav…No findings

    Why it is in this group

    • The name "readAutomationPolicy" says "read": a word for reading.
    Description, as the server wrote it
    Read an automation's whole Policy before answering anything about it: every question by section, with its `id` (the field id updateConfigField takes), key, type, answer and who gave it; `counts.questions` as the Policy screen's header counts them (`required_open` is what still blocks a run) apart from the module's pre-filled `module_defaults`; answers proposed by interviews and waiting for review; accepted and pending process-context notes; the interviews assigned; and `pending_apply`, the structural answers and notes not yet written into an Agent. `running` says whether the automation runs on live work: there a changed answer reaches its Agents from their next run, so name the question, its current answer and the new one, and change it only after the user says yes. A question whose `bindings` include `structural` changes how the Agents run; propose the matching Agent change too. Never invent an answer for a question shown as open. Give the user the full URLs in `urls`.

    Annotations the server declares

    • title: Read Automation Policy
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 2026-05-24. Values in angle brackets are yours to fill in.

claude mcp add --transport http duvo https://api.duvo.ai/v1/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__duvo__listAgentMemoryFiles",
      "mcp__duvo__getAgentMemoryFile",
      "mcp__duvo__listPluginCatalog",
      "mcp__duvo__getTeam",
      "mcp__duvo__listPulseDashboards",
      "mcp__duvo__getPulseDashboard",
      "mcp__duvo__listPulseDataSources",
      "mcp__duvo__getPulseDashboardHtml",
      "mcp__duvo__getPulseDashboardPdf",
      "mcp__duvo__getPulseDashboardAttachmentDownloadUrl",
      "mcp__duvo__listPulseDashboardConnections",
      "mcp__duvo__listPulseDashboardMessages",
      "mcp__duvo__listPulseDashboardComments",
      "mcp__duvo__listPulseDashboardVersions",
      "mcp__duvo__getPulseDashboardVersionHtml",
      "mcp__duvo__listSandboxFiles",
      "mcp__duvo__getRunEvaluation",
      "mcp__duvo__getEvalScores",
      "mcp__duvo__getEvalRubrics",
      "mcp__duvo__listAgentSchedules",
      "mcp__duvo__listAllAgentSchedules",
      "mcp__duvo__listAgentCaseTriggers",
      "mcp__duvo__previewAgentCaseTriggerConflicts",
      "mcp__duvo__getAgentCaseTrigger",
      "mcp__duvo__listAgentTriggers",
      "mcp__duvo__listAgentTriggerTypes",
      "mcp__duvo__listAgentSlackTriggers",
      "mcp__duvo__listAgentSlackBoundWorkspaces",
      "mcp__duvo__getRevision",
      "mcp__duvo__getBuilderRun",
      "mcp__duvo__getRevisionBody",
      "mcp__duvo__listAgentRevisions",
      "mcp__duvo__getAgent",
      "mcp__duvo__getAutomation",
      "mcp__duvo__getAutomationTabs",
      "mcp__duvo__getAutomationCurrent",
      "mcp__duvo__getAutomationCurrentFlow",
      "mcp__duvo__getAutomationReadiness",
      "mcp__duvo__readAutomationDashboardData",
      "mcp__duvo__listProcessRoles",
      "mcp__duvo__listConfigFields",
      "mcp__duvo__readAutomationPolicy",
      "mcp__duvo__listConfigSections",
      "mcp__duvo__listRevisionIntegrations",
      "mcp__duvo__listRevisionIntegrationConnections",
      "mcp__duvo__getRevisionCaseQueueSetup",
      "mcp__duvo__listRevisionIntegrationQueues",
      "mcp__duvo__listAgentSuggestions",
      "mcp__duvo__getAgentSuggestion",
      "mcp__duvo__listSystemSkills",
      "mcp__duvo__listSkillFiles",
      "mcp__duvo__getSkillFileContent",
      "mcp__duvo__listSkillAssignments",
      "mcp__duvo__listSkillRevisions",
      "mcp__duvo__listSkillRevisionFiles",
      "mcp__duvo__getSkillRevisionFileContent",
      "mcp__duvo__getProfile",
      "mcp__duvo__getLegacyClarityProcess",
      "mcp__duvo__listClarityProcessMembers",
      "mcp__duvo__getClarityProcessSharing",
      "mcp__duvo__listClarityInterviewInvites",
      "mcp__duvo__getClarityProcessInviteLink",
      "mcp__duvo__getClarityProcessJoinInfo",
      "mcp__duvo__listClarityLandscapeNodePeople",
      "mcp__duvo__listClarityLandscapeNodeInterviews",
      "mcp__duvo__getClarityProcess",
      "mcp__duvo__getClarityCapture",
      "mcp__duvo__listClarityStepFrames",
      "mcp__duvo__listClarityExtraCaptureRequests",
      "mcp__duvo__listClarityArtifactChatConversations",
      "mcp__duvo__getClarityArtifactChatMessages",
      "mcp__duvo__listClarityProcessSnapshots",
      "mcp__duvo__getClarityProcessSnapshot",
      "mcp__duvo__listOrgTeams",
      "mcp__duvo__listOrgAgents",
      "mcp__duvo__listOrgRuns",
      "mcp__duvo__getOrgInsightsHeadline",
      "mcp__duvo__getOrgInsightsMetrics",
      "mcp__duvo__getOrgInsightsUsageChart",
      "mcp__duvo__getClarityProcessTree",
      "mcp__duvo__getClarityProcessLandscape",
      "mcp__duvo__getClarityHierarchyPeople",
      "mcp__duvo__listClarityLandscapeCaptures",
      "mcp__duvo__listClarityProcessLinks",
      "mcp__duvo__listClarityOrganizationInterviews",
      "mcp__duvo__getClarityOrganizationInterview",
      "mcp__duvo__listMyOrganizations",
      "mcp__duvo__getClarityExport",
      "mcp__duvo__getQueue",
      "mcp__duvo__listQueueAggregations",
      "mcp__duvo__getQueueAggregationResult",
      "mcp__duvo__getQueueJsonSchema",
      "mcp__duvo__getCase",
      "mcp__duvo__listCaseRuns",
      "mcp__duvo__listCaseRunRecentMessages",
      "mcp__duvo__listCaseAttachments",
      "mcp__duvo__getCaseAttachmentDownloadUrl",
      "mcp__duvo__listCaseLabels",
      "mcp__duvo__listQueueLabels",
      "mcp__duvo__listQueueAgents",
      "mcp__duvo__getCaseQueueEvalRubrics",
      "mcp__duvo__listCases",
      "mcp__duvo__getRun",
      "mcp__duvo__listRunMessages",
      "mcp__duvo__listMyTeams",
      "mcp__duvo__getConnection",
      "mcp__duvo__getConnectionCredentials",
      "mcp__duvo__getSecret",
      "mcp__duvo__listRevisionSecrets",
      "mcp__duvo__listRevisionLogins",
      "mcp__duvo__getNotification",
      "mcp__duvo__listClarityProcessLabels",
      "mcp__duvo__listClarityProcessAssignedLabels",
      "mcp__duvo__listAvailableClarityProcessLabels",
      "mcp__duvo__listAgents",
      "mcp__duvo__listAutomations",
      "mcp__duvo__listAgentFolders",
      "mcp__duvo__listQueues",
      "mcp__duvo__getBatchQueueStats",
      "mcp__duvo__listRuns",
      "mcp__duvo__listSkills",
      "mcp__duvo__listClarityProcesses",
      "mcp__duvo__listClarityProcessSummaries",
      "mcp__duvo__listFiles",
      "mcp__duvo__getFileContent",
      "mcp__duvo__listIntegrations",
      "mcp__duvo__listConnections",
      "mcp__duvo__listSecrets",
      "mcp__duvo__getTeamInviteLink",
      "mcp__duvo__listNotifications",
      "mcp__duvo__getNotificationFeed",
      "mcp__duvo__getNotificationBatch",
      "mcp__duvo__getUnreadNotificationCount",
      "mcp__duvo__getNotificationCounts",
      "mcp__duvo__listTeamMembers",
      "mcp__duvo__listTeamInvites",
      "mcp__duvo__listCredentials",
      "mcp__duvo__getCredential",
      "mcp__duvo__listActiveClarityExports",
      "mcp__duvo__listClarityFolders",
      "mcp__duvo__listClarityTeamInterviews",
      "mcp__duvo__getClarityTeamSettings",
      "mcp__duvo__getClarityPortfolioIntelligence"
    ],
    "ask": [
      "mcp__duvo__createSchedule",
      "mcp__duvo__startNativeOAuth",
      "mcp__duvo__authorizeMcpOAuth",
      "mcp__duvo__checkMcpOAuth",
      "mcp__duvo__createPulseDashboard",
      "mcp__duvo__connectPulseDataSource",
      "mcp__duvo__exportPulseDashboardHtml",
      "mcp__duvo__publishPulseDashboard",
      "mcp__duvo__duplicatePulseDashboard",
      "mcp__duvo__sendPulseDashboardMessage",
      "mcp__duvo__createPulseDashboardAttachmentUploadUrl",
      "mcp__duvo__refreshPulseDashboard",
      "mcp__duvo__attachPulseDashboardConnection",
      "mcp__duvo__answerPulseDashboardQuestion",
      "mcp__duvo__createPulseDashboardComment",
      "mcp__duvo__createPulseDashboardCommentReply",
      "mcp__duvo__createSandbox",
      "mcp__duvo__createSandboxUploadUrl",
      "mcp__duvo__uploadSandboxFile",
      "mcp__duvo__createEvalRubric",
      "mcp__duvo__createAgentCaseTrigger",
      "mcp__duvo__createAgentSlackTrigger",
      "mcp__duvo__acceptRevisionGeneration",
      "mcp__duvo__createRevision",
      "mcp__duvo__generateRevision",
      "mcp__duvo__resumeBuilderRun",
      "mcp__duvo__duplicateAgent",
      "mcp__duvo__moveAgent",
      "mcp__duvo__duplicateAutomation",
      "mcp__duvo__assignProcessMember",
      "mcp__duvo__addAutomationAgent",
      "mcp__duvo__addAutomationQueue",
      "mcp__duvo__assignPolicyInterview",
      "mcp__duvo__addConfigField",
      "mcp__duvo__addConfigSection",
      "mcp__duvo__attachRevisionIntegrations",
      "mcp__duvo__pinRevisionIntegrationConnection",
      "mcp__duvo__downloadSkill",
      "mcp__duvo__createSkillRevision",
      "mcp__duvo__duplicateClarityProcess",
      "mcp__duvo__createClarityVideoUploadUrl",
      "mcp__duvo__completeClarityVideoUpload",
      "mcp__duvo__createClarityDocumentUploadUrl",
      "mcp__duvo__completeClarityDocumentUpload",
      "mcp__duvo__createClarityImageUploadUrl",
      "mcp__duvo__completeClarityImageUpload",
      "mcp__duvo__inviteClarityMeetingNotetaker",
      "mcp__duvo__createClarityGuidance",
      "mcp__duvo__sendClarityInterviewInvites",
      "mcp__duvo__acceptClarityProcessJoin",
      "mcp__duvo__acceptClarityLandscapeNode",
      "mcp__duvo__createClarityProcessNode",
      "mcp__duvo__proposeClarityLandscapeProcess",
      "mcp__duvo__batchAddClarityLandscapeNodePeople",
      "mcp__duvo__addClarityLandscapeNodePerson",
      "mcp__duvo__acceptClarityTeamAssignmentSuggestion",
      "mcp__duvo__acceptClarityCaptureSuggestion",
      "mcp__duvo__postprocessClaritySnapshot",
      "mcp__duvo__buildClarityAutomation",
      "mcp__duvo__createClarityArtifactImportUploadUrl",
      "mcp__duvo__completeClarityArtifactImport",
      "mcp__duvo__saveClarityProcessSnapshot",
      "mcp__duvo__generateClarityProcessSnapshot",
      "mcp__duvo__bulkGenerateClarityProcessSnapshots",
      "mcp__duvo__createWorkspace",
      "mcp__duvo__inviteOrgMember",
      "mcp__duvo__createOrgTeam",
      "mcp__duvo__organizeClarityProcessLandscape",
      "mcp__duvo__generateClarityProcessLandscape",
      "mcp__duvo__createClarityLandscapeNode",
      "mcp__duvo__createClarityProcessLink",
      "mcp__duvo__inviteClarityOrganizationNotetaker",
      "mcp__duvo__finalizeClarityOrganizationInterview",
      "mcp__duvo__createClarityOrganizationDocumentUploadUrl",
      "mcp__duvo__completeClarityOrganizationDocumentUpload",
      "mcp__duvo__createQueueAggregation",
      "mcp__duvo__evaluateQueueAggregation",
      "mcp__duvo__refreshQueueAggregation",
      "mcp__duvo__createQueueJsonSchema",
      "mcp__duvo__attachQueueJsonSchema",
      "mcp__duvo__exportCases",
      "mcp__duvo__createCaseAttachmentUploadUrl",
      "mcp__duvo__finalizeCaseAttachment",
      "mcp__duvo__assignCaseLabels",
      "mcp__duvo__createQueueLabel",
      "mcp__duvo__createCaseQueueEvalRubric",
      "mcp__duvo__searchCases",
      "mcp__duvo__createCases",
      "mcp__duvo__postRunMessage",
      "mcp__duvo__respondToHumanRequest",
      "mcp__duvo__attachRevisionSecret",
      "mcp__duvo__attachRevisionLogin",
      "mcp__duvo__createClarityProcessLabel",
      "mcp__duvo__assignClarityProcessLabels",
      "mcp__duvo__createAgent",
      "mcp__duvo__createAutomation",
      "mcp__duvo__createAgentFolder",
      "mcp__duvo__moveAgentsToFolder",
      "mcp__duvo__moveAutomationsToFolder",
      "mcp__duvo__createQueue",
      "mcp__duvo__startRun",
      "mcp__duvo__createSkill",
      "mcp__duvo__createClarityProcess",
      "mcp__duvo__createFileUploadUrl",
      "mcp__duvo__getFileDownloadUrl",
      "mcp__duvo__createCustomIntegration",
      "mcp__duvo__createConnection",
      "mcp__duvo__probeMcpServer",
      "mcp__duvo__createSecret",
      "mcp__duvo__createTeamInvite",
      "mcp__duvo__sendTeamInviteEmail",
      "mcp__duvo__bulkCreateTeamInvites",
      "mcp__duvo__markNotificationBatchRead",
      "mcp__duvo__markAllNotificationsRead",
      "mcp__duvo__createCredential",
      "mcp__duvo__startClarityExport",
      "mcp__duvo__createClarityFolder",
      "mcp__duvo__setupClarityFoldersFromLandscape",
      "mcp__duvo__moveClarityProcessesToFolder",
      "mcp__duvo__fileSuggestedClarityProcesses",
      "mcp__duvo__createClarityTeamDocumentUploadUrl",
      "mcp__duvo__completeClarityTeamDocumentUpload",
      "mcp__duvo__generateClarityPortfolioIntelligence"
    ],
    "deny": [
      "mcp__duvo__updateSchedule",
      "mcp__duvo__deleteSchedule",
      "mcp__duvo__disconnectPulseDataSource",
      "mcp__duvo__updatePulseDashboard",
      "mcp__duvo__deletePulseDashboard",
      "mcp__duvo__stopPulseDashboardMessage",
      "mcp__duvo__detachPulseDashboardConnection",
      "mcp__duvo__setPulseDashboardCommentResolution",
      "mcp__duvo__deletePulseDashboardComment",
      "mcp__duvo__restorePulseDashboardVersion",
      "mcp__duvo__replaceEvalRubrics",
      "mcp__duvo__updateEvalRubric",
      "mcp__duvo__deleteEvalRubric",
      "mcp__duvo__updateAgentCaseTrigger",
      "mcp__duvo__deleteAgentCaseTrigger",
      "mcp__duvo__upsertAgentTrigger",
      "mcp__duvo__deleteAgentTrigger",
      "mcp__duvo__updateSlackTrigger",
      "mcp__duvo__deleteSlackTrigger",
      "mcp__duvo__cancelBuilderRun",
      "mcp__duvo__declineRevisionGeneration",
      "mcp__duvo__updateRevision",
      "mcp__duvo__promoteRevision",
      "mcp__duvo__updateAgent",
      "mcp__duvo__deleteAgent",
      "mcp__duvo__updateAutomation",
      "mcp__duvo__updateAutomationTabs",
      "mcp__duvo__deleteAutomation",
      "mcp__duvo__removeAutomationAgent",
      "mcp__duvo__removeAutomationQueue",
      "mcp__duvo__updateConfigField",
      "mcp__duvo__updateConfigFieldDefinition",
      "mcp__duvo__hideConfigField",
      "mcp__duvo__restoreConfigField",
      "mcp__duvo__renameConfigSection",
      "mcp__duvo__reorderConfigSections",
      "mcp__duvo__removeConfigSection",
      "mcp__duvo__removeRevisionIntegration",
      "mcp__duvo__unpinRevisionIntegrationConnection",
      "mcp__duvo__replaceRevisionIntegrationQueues",
      "mcp__duvo__consumeAgentSuggestion",
      "mcp__duvo__rejectAgentSuggestion",
      "mcp__duvo__deleteSkill",
      "mcp__duvo__updateSkillFile",
      "mcp__duvo__updateSkillAskDuvo",
      "mcp__duvo__promoteSkillRevision",
      "mcp__duvo__updateSkillRevisionFile",
      "mcp__duvo__deleteSkillRevisionFile",
      "mcp__duvo__updateSkillRevision",
      "mcp__duvo__deleteSkillRevision",
      "mcp__duvo__updateClarityProcess",
      "mcp__duvo__removeClarityProcessMember",
      "mcp__duvo__deleteClarityProcess",
      "mcp__duvo__deleteClarityCapture",
      "mcp__duvo__updateClarityGuidance",
      "mcp__duvo__updateClarityProcessSharing",
      "mcp__duvo__deleteClarityProcessInviteLink",
      "mcp__duvo__updateClarityLandscapeNode",
      "mcp__duvo__declineClarityLandscapeNode",
      "mcp__duvo__deleteClarityLandscapeNode",
      "mcp__duvo__setClarityLandscapeNodePlacement",
      "mcp__duvo__reorderClarityLandscapeAreas",
      "mcp__duvo__assignClarityLandscapeNodeTeam",
      "mcp__duvo__updateClarityLandscapeNodePerson",
      "mcp__duvo__removeClarityLandscapeNodePerson",
      "mcp__duvo__dismissClarityTeamAssignmentSuggestion",
      "mcp__duvo__assignClarityLandscapeCaptureRequest",
      "mcp__duvo__dismissClarityCaptureSuggestion",
      "mcp__duvo__deleteClarityLandscapeNodeInterview",
      "mcp__duvo__assignClarityExtraCaptureRequest",
      "mcp__duvo__createClarityInviteLink",
      "mcp__duvo__deleteClarityArtifactChatConversation",
      "mcp__duvo__stopClarityArtifactChatConversation",
      "mcp__duvo__upgradeClarityProcess",
      "mcp__duvo__promoteClarityProcessSnapshot",
      "mcp__duvo__revertClarityProcessSnapshot",
      "mcp__duvo__stopClarityProcessSnapshot",
      "mcp__duvo__updateClarityProcessLink",
      "mcp__duvo__deleteClarityProcessLink",
      "mcp__duvo__setClarityLandscapePriorities",
      "mcp__duvo__updateClarityOrganizationInterview",
      "mcp__duvo__deleteClarityOrganizationInterview",
      "mcp__duvo__deleteQueueAggregation",
      "mcp__duvo__replaceQueueJsonSchema",
      "mcp__duvo__updateQueueJsonSchemaSettings",
      "mcp__duvo__detachQueueJsonSchema",
      "mcp__duvo__updateQueue",
      "mcp__duvo__deleteQueue",
      "mcp__duvo__updateCase",
      "mcp__duvo__setCaseJsonDataFields",
      "mcp__duvo__deleteCase",
      "mcp__duvo__bulkReprocessCases",
      "mcp__duvo__bulkUpdateCaseStatus",
      "mcp__duvo__bulkUpdateCasePriority",
      "mcp__duvo__deleteCaseAttachment",
      "mcp__duvo__unlinkCaseLabels",
      "mcp__duvo__deleteQueueLabel",
      "mcp__duvo__updateQueueLabel",
      "mcp__duvo__replaceCaseQueueEvalRubrics",
      "mcp__duvo__updateCaseQueueEvalRubric",
      "mcp__duvo__deleteCaseQueueEvalRubric",
      "mcp__duvo__stopRun",
      "mcp__duvo__updateAgentFolder",
      "mcp__duvo__deleteAgentFolder",
      "mcp__duvo__updateConnection",
      "mcp__duvo__deleteConnection",
      "mcp__duvo__deleteCustomIntegration",
      "mcp__duvo__updateSecret",
      "mcp__duvo__deleteSecret",
      "mcp__duvo__detachRevisionSecret",
      "mcp__duvo__detachRevisionLogin",
      "mcp__duvo__markNotificationRead",
      "mcp__duvo__dismissNotification",
      "mcp__duvo__updateClarityProcessLabel",
      "mcp__duvo__deleteClarityProcessLabel",
      "mcp__duvo__unlinkClarityProcessLabels",
      "mcp__duvo__setUpModule",
      "mcp__duvo__renameFile",
      "mcp__duvo__deleteFile",
      "mcp__duvo__updateFileContent",
      "mcp__duvo__deleteTeamInvite",
      "mcp__duvo__updateTeamInvite",
      "mcp__duvo__createTeamInviteLink",
      "mcp__duvo__deleteTeamInviteLink",
      "mcp__duvo__deleteReadNotifications",
      "mcp__duvo__deleteAllNotifications",
      "mcp__duvo__updateTeamMemberRole",
      "mcp__duvo__removeTeamMember",
      "mcp__duvo__updateCredential",
      "mcp__duvo__deleteCredential",
      "mcp__duvo__updateClarityFolder",
      "mcp__duvo__deleteClarityFolder",
      "mcp__duvo__reorderClarityFolders",
      "mcp__duvo__deleteClarityTeamInterview",
      "mcp__duvo__updateClarityTeamSettings",
      "mcp__duvo__movePulseDashboard"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as duvo. Review it before you use it.