Connection check
verified live · 27h ago
duvo
Governed retail, FMCG, and CPG operational tools: runs, cases, approvals, audit-ready execution.
Tools
350
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
27h ago
Tools & capabilities
350 toolsRead from the running server on 27h ago.
acceptClarityCaptureSuggestion
nodeId*suggestionId*
Accept a pending Process Landscape capture suggestion and create the durable capture request (manager+). Accept a pending Process Landscape capture suggestion and create the durable capture request (manager+).
acceptClarityLandscapeNode
orgId*nodeId*
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… 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.
acceptClarityProcessJoin
token*
Accept a clarity interview invite link and gain process access. Accept a clarity interview invite link and gain process access.
acceptClarityTeamAssignmentSuggestion
nodeId*suggestionId*
Accept a pending Process Landscape team-assignment suggestion and durably assign the suggested team (manager+). Accept a pending Process Landscape team-assignment suggestion and durably assign the suggested team (manager+).
addClarityLandscapeNodePerson
nameroleemailorgId*nodeId*teamId
+1
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 th… 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.
answerPulseDashboardQuestion
answers*artifactId*toolCallId*
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. 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.
assignCaseLabels
labels*case_id*queue_id*
Assign one or more labels to a case. Creates the labels on the queue if they don't already exist. Assign one or more labels to a case. Creates the labels on the queue if they don't already exist.
assignClarityExtraCaptureRequest
user_id*process_id*request_id*transformation_proposal_id*
Assign (or unassign, with `user_id: null`) a team member to fulfil an extra-capture request. Restricted to admins and managers. Assign (or unassign, with `user_id: null`) a team member to fulfil an extra-capture request. Restricted to admins and managers.
assignClarityLandscapeCaptureRequest
nodeId*userId*requestId*
Assign an open Process Landscape capture request to a team member, or unassign it by sending userId: null (manager+). Assign an open Process Landscape capture request to a team member, or unassign it by sending userId: null (manager+).
assignClarityLandscapeNodeTeam
orgId*intentnodeId*teamId*
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 e… 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.
assignClarityProcessLabels
id*labelslabelIds
Assign process tags to a process. Assign process tags to a process.
attachPulseDashboardConnection
artifactId*connection_id*
Attach one of your connections (data sources) to a Duvo Pulse dashboard so the agent can use its tools (requires edit access). Attach one of your connections (data sources) to a Duvo Pulse dashboard so the agent can use its tools (requires edit access).
attachQueueJsonSchema
queue_id*family_id*
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. 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.
attachRevisionIntegrations
agent_id*build_id*integration_ids*selected_automation_revision_id
Attach one or more integrations to an agent revision. To pin specific connections after attachment, use pinRevisionIntegrationConnection. IMPORTANT for the case-queue-producer and… 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.
attachRevisionLogin
agentId*buildId*exposedCredentialId*
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… 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.
attachRevisionSecret
agentId*buildId*credentialId*
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 requ… 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.
authorizeMcpOAuth
name*team_idreturn_urlmcp_server_url*oauth_client_idintegration_type
+3
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, D… 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`.
batchAddClarityLandscapeNodePeople
orgId*people*nodeIds*
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… 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.
buildClarityAutomation
process_id*transformation_proposal_id
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… 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.
bulkCreateTeamInvites
members*team_idfrontendUrl
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 h… 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.
bulkReprocessCases
searchfiltersagent_idcase_idsqueue_id*all_matching
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 t… 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).
bulkUpdateCasePriority
searchfilterscase_idspriority*queue_id*all_matching
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… 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.
bulkUpdateCaseStatus
searchstatus*filterscase_idsqueue_id*all_matching
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-l… 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. Resetting to pending re-dispatches cases to the queue's trigger consumer.
checkMcpOAuth
mcp_server_url*
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 precur… 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.
completeClarityArtifactImport
file_name*capture_id*process_id*content_type*
Complete a Miro artifact import after uploading to the signed URL. The uploaded bytes are validated before the import becomes a usable Clarity capture. Complete a Miro artifact import after uploading to the signed URL. The uploaded bytes are validated before the import becomes a usable Clarity capture.
completeClarityDocumentUpload
id*fileName*captureId*
Complete a document capture after uploading to GCS via signed URL Complete a document capture after uploading to GCS via signed URL
completeClarityImageUpload
id*fileName*captureId*
Complete an image capture after uploading it to GCS via a signed URL Complete an image capture after uploading it to GCS via a signed URL
completeClarityOrganizationDocumentUpload
orgId*fileName*interviewId*
Complete an organization document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generation Complete an organization document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generation
completeClarityTeamDocumentUpload
team_idfileName*interviewId*
Complete a team document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generation Complete a team document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generation
completeClarityVideoUpload
id*fileName*captureId*
Complete a video capture after uploading to GCS via signed URL Complete a video capture after uploading to GCS via signed URL
consumeAgentSuggestion
id*revision_idcreate_new_draftselected_automation_revision_id
Apply a suggestion: stage its change into the Agent's draft revision, then auto-clear any pending suggestions it makes moot. Apply a suggestion: stage its change into the Agent's draft revision, then auto-clear any pending suggestions it makes moot.
createAgent
name*typebuildteam_idthread_idautomation_id
+1
Create a new agent. Optionally include a build configuration to create the first build in the same request. Create a new agent. Optionally include a build configuration to create the first build in the same request.
createAgentCaseTrigger
enabled*agent_id*concurrencycase_queue_id*
Create a case trigger for an agent. An agent may have at most one case trigger; this returns 409 if one already exists. Create a case trigger for an agent. An agent may have at most one case trigger; this returns 409 if one already exists.
createAgentFolder
name*team_idparent_folder_id
Create a new agent folder. Create a new agent folder.
createAgentSlackTrigger
agent_id*channel_id*is_privatematch_rule*channel_name*trigger_type*
+2
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 c… 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.
createAutomation
name*team_id
Create a new automation. Its first agent is created alongside it so the caller lands on something editable. On a team on revision semantics the automation holds a single draft revi… Create a new automation. Its first agent is created alongside it so the caller lands on something editable. On a team on revision semantics the automation holds a single draft revision and no live revision, with the agent's default 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.
createCaseAttachmentUploadUrl
case_id*filename*queue_id*mime_type*size_bytes*
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 attachme… 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.
createCaseQueueEvalRubric
title*queue_id*description*
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 settleme… 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.
createCases
casecasesqueue_id*
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 accepts a title (max 500 chars), option… 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 accepts a title (max 500 chars), optional free-form `data`, 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.
createClarityArtifactImportUploadUrl
file_name*process_id*content_type*extra_capture_request_id
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, the… 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.
createClarityDocumentUploadUrl
id*fileName*contentType*extraCaptureRequestId
Create a signed URL for uploading a PDF, TXT, Markdown, BPMN, XLSX, or CSV document directly to GCS Create a signed URL for uploading a PDF, TXT, Markdown, BPMN, XLSX, or CSV document directly to GCS
createClarityFolder
name*team_id
Create a process folder Create a process folder
createClarityGuidance
id*content*
Create a new automation guidance message for a clarity process Create a new automation guidance message for a clarity process
createClarityImageUploadUrl
id*fileName*contentType*extraCaptureRequestId
Create a signed URL for uploading a PNG, JPEG, or WebP image directly to GCS Create a signed URL for uploading a PNG, JPEG, or WebP image directly to GCS
createClarityInviteLink
process_id*
Create or regenerate a process-scoped Clarity interview invite link. Only the process creator or team managers can create invite links; creating a new link invalidates any prior ac… Create or regenerate a process-scoped Clarity interview invite link. Only the process creator or team managers can create invite links; creating a new link invalidates any prior active link for the process.
createClarityLandscapeNode
name*orgId*parentIdownerLabeldescriptioncreationMode
Create an area folder in the process tree. An active area (the default) requires organization admin+; a "proposal" area may be added by any organization member. Create an area folder in the process tree. An active area (the default) requires organization admin+; a "proposal" area may be added by any organization member.
createClarityOrganizationDocumentUploadUrl
orgId*fileName*contentType*
Create a signed URL for uploading a PDF, TXT, Markdown, or BPMN document as an organization-level Clarity capture Create a signed URL for uploading a PDF, TXT, Markdown, or BPMN document as an organization-level Clarity capture
createClarityProcess
nameteam_id
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… 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.
createClarityProcessLabel
orgId*value*colorHue
Create process tags for an organization. Create process tags for an organization.
createClarityProcessLink
type*orgId*stateconfidencesource_node_id*target_node_id*
Create a process-to-process link in the organization's Clarity landscape when the caller can manage both endpoint teams. If the same live source, target, and type already exists, t… Create a process-to-process link in the organization's Clarity landscape when the caller can manage both endpoint teams. If the same live source, target, and type already exists, the existing link is returned.
createClarityProcessNode
orgId*parentId*processId*
File an existing Clarity process into an area of the process landscape (team manager or organization admin+). Use this for a process that already exists but sits in Unsorted; use p… File an existing Clarity process into an area of the process landscape (team manager or organization admin+). Use this for a process that already exists but sits in Unsorted; use proposeClarityLandscapeProcess to create a brand-new one.
createClarityTeamDocumentUploadUrl
team_idfileName*contentType*
Create a signed URL for uploading a PDF, TXT, Markdown, or BPMN document as a team-level Clarity capture Create a signed URL for uploading a PDF, TXT, Markdown, or BPMN document as a team-level Clarity capture
createClarityVideoUploadUrl
id*fileName*contentType*extraCaptureRequestId
Create a signed URL for uploading a video file directly to GCS Create a signed URL for uploading a video file directly to GCS
createConnection
name*typeheadersteam_idprovider*server_url
+2
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 dedicate… 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.
createCredential
domain*shareduserId*team_idpasswordusername
+1
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). 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).
createCustomIntegration
name*team_idserver_url*auth_method*oauth_client_idoauth_client_secret
Create a custom integration type (team-level catalog entry) that users can then connect as user-provided MCP connections. Requires manager-or-above role. Create a custom integration type (team-level catalog entry) that users can then connect as user-provided MCP connections. Requires manager-or-above role.
createEvalRubric
title*agentId*build_iddescription*selected_automation_revision_id
Add one Agent-specific evaluation rubric to a build. A build may hold at most 5 custom rubrics; this fails with 409 once that ceiling is reached. Defaults to the Agent's live build… Add one Agent-specific evaluation rubric to a build. A build may hold at most 5 custom rubrics; this fails with 409 once that ceiling is reached. Defaults to the Agent's live build; pass build_id to target a specific revision.
createFileUploadUrl
team_idfileName*contentType*
Generate a signed URL for uploading a file directly to GCS. Generate a signed URL for uploading a file directly to GCS.
createOrgTeam
name*orgId*
Create a new team under an organization you administer. Requires an organization Admin, Executive, or Owner role. Create a new team under an organization you administer. Requires an organization Admin, Executive, or Owner role.
createPulseDashboard
message*permissionvisibilityconnection_ids
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 GE… 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).
createPulseDashboardAttachmentUploadUrl
filename*mime_type*artifactId*size_bytes*
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… 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.
createQueue
name*team_idfolder_iddescriptionautomation_id
Create a new queue. Create a new queue.
createQueueAggregation
queue_id*definition*maximum_stale_age_seconds
Create an immutable aggregation definition on a queue. Create an immutable aggregation definition on a queue.
createQueueJsonSchema
name*schema*queue_id*
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… 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.
createQueueLabel
keyvalue*queue_id*color_hue
Create a label on a queue without assigning it to a case. Create a label on a queue without assigning it to a case.
createRevision
name*configagent_id*handover_tosource_build_idhandover_target_ids
+1
Create a new revision for an existing agent. Create a new revision for an existing agent.
createSandbox
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. 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.
createSandboxUploadUrl
path*sandbox_id*
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. 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.
createSchedule
daycrontimeenabled*agent_id*timezone*
+3
Create a schedule for an agent. The schedule fires against the agent's live build. The authenticated user owns the schedule. Create a schedule for an agent. The schedule fires against the agent's live build. The authenticated user owns the schedule.
createSecret
name*sharedvalues*team_idservice_slug
Create an env-var secret. Personal by default; pass `shared: true` to create a team-shared secret (requires lead builder role). Create an env-var secret. Personal by default; pass `shared: true` to create a team-shared secret (requires lead builder role).
createSkill
name*content*licenseteam_idmetadatadescription*
+2
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 up… 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.
createSkillRevision
skill_id*source_revision_id
Open a draft revision of a skill, copying its files from the active revision (or from `source_revision_id`). Edit the draft with updateSkillRevisionFile, then activate it with prom… Open a draft revision of a skill, copying its files from the active revision (or from `source_revision_id`). Edit the draft with updateSkillRevisionFile, 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`.
createTeamInvite
role*email*team_idprocessId
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 in… 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.
createTeamInviteLink
team_idfrontendUrl
Create or regenerate the team's shareable invite link — the one URL anyone can use to join the team. Regenerating invalidates the previous link, so anyone still holding the old URL… Create or regenerate the team's shareable invite link — the one URL anyone can use to join the team. Regenerating invalidates the previous link, so anyone still holding the old URL can no longer join. Requires the Manager role or above.
declineClarityLandscapeNode
orgId*nodeId*
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.… 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.
deleteAgent
can modify data
agent_id*
Delete an agent and cascade-clean its schedules, case triggers, builder runs, and handover targets. Any active jobs are interrupted and their sandboxes paused. Delete an agent and cascade-clean its schedules, case triggers, builder runs, and handover targets. Any active jobs are interrupted and their sandboxes paused.
deleteAgentCaseTrigger
can modify data
agent_id*trigger_id*
Delete a case trigger. Only the trigger creator or a builder/admin can delete it. Delete a case trigger. Only the trigger creator or a builder/admin can delete it.
deleteAgentFolder
can modify data
forcefolder_id*
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. 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.
deleteAllNotifications
can modify data
team_id
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 u… 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.
deleteAutomation
can modify data
automation_id*
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 au… 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.
deleteCase
can modify data
case_id*
Delete a case. Interrupts any associated active runs first. Delete a case. Interrupts any associated active runs first.
deleteCaseAttachment
can modify data
case_id*queue_id*attachment_id*
Remove a file from a case. The row is soft-deleted; deletion of the stored object is attempted best-effort. Remove a file from a case. The row is soft-deleted; deletion of the stored object is attempted best-effort.
deleteCaseQueueEvalRubric
can modify data
queue_id*rubric_id*
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… 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.
deleteClarityArtifactChatConversation
can modify data
process_id*conversation_id*
Soft-delete an open or running artifact-chat conversation for the current user. Soft-delete an open or running artifact-chat conversation for the current user.
deleteClarityCapture
can modify data
id*captureId*
Delete a capture from a clarity process Delete a capture from a clarity process
deleteClarityFolder
can modify data
team_idfolderId*
Delete a process folder. Contained processes fall back to Unfiled. Delete a process folder. Contained processes fall back to Unfiled.
deleteClarityLandscapeNode
can modify data
orgId*nodeId*
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… 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.
deleteClarityLandscapeNodeInterview
can modify data
orgId*nodeId*interviewId*
Delete an organization-scoped folder interview Delete an organization-scoped folder interview
deleteClarityOrganizationInterview
can modify data
orgId*interviewId*
Delete an organization-level Clarity interview Delete an organization-level Clarity interview
deleteClarityProcess
can modify data
id*
Delete a Clarity process. The creator or a team admin can delete it unless capture analysis is still in progress. Delete a Clarity process. The creator or a team admin can delete it unless capture analysis is still in progress.
deleteClarityProcessInviteLink
can modify data
id*
Delete the active interview invite link for a process. Delete the active interview invite link for a process.
deleteClarityProcessLabel
can modify data
orgId*labelId*
Delete process tags from an organization. Delete process tags from an organization.
deleteClarityProcessLink
can modify data
orgId*process_link_id*
Delete a process-to-process link from the organization's Clarity landscape when the caller can manage both endpoint teams. Delete a process-to-process link from the organization's Clarity landscape when the caller can manage both endpoint teams.
deleteClarityTeamInterview
can modify data
team_idinterviewId*
Delete a team-level Clarity interview Delete a team-level Clarity interview
deleteConnection
can modify data
connection_id*
Delete a connection (disconnects the user's connection and removes any triggers bound to it). Delete a connection (disconnects the user's connection and removes any triggers bound to it).
deleteCredential
can modify data
id*userId*team_id
Delete a login by id. Deleting a team-shared login requires lead builder role. Delete a login by id. Deleting a team-shared login requires lead builder role.
deleteCustomIntegration
can modify data
custom_integration_id*
Delete a custom integration type (team-level catalog entry) and cascade-remove related connections. Requires manager-or-above role. Delete a custom integration type (team-level catalog entry) and cascade-remove related connections. Requires manager-or-above role.
deleteEvalRubric
can modify data
agentId*rubricId*selected_automation_revision_id
Remove a single Agent-specific evaluation rubric. Future Runs on the build are no longer scored against it. Remove a single Agent-specific evaluation rubric. Future Runs on the build are no longer scored against it.
deleteFile
can modify data
path*team_id
Delete a file from team storage. Delete a file from team storage.
deletePulseDashboard
can modify data
artifactId*
Delete a Duvo Pulse dashboard. Only the creator can delete it. Delete a Duvo Pulse dashboard. Only the creator can delete it.
deleteQueue
can modify data
queue_id*
Delete a queue. Interrupts all associated active runs first and returns the number of deleted cases plus the IDs of runs that were stopped. Delete a queue. Interrupts all associated active runs first and returns the number of deleted cases plus the IDs of runs that were stopped.
deleteQueueAggregation
can modify data
queue_id*definition_id*
Soft-delete an aggregation definition. Soft-delete an aggregation definition.
deleteQueueLabel
can modify data
label_id*queue_id*
Delete a label from a queue. Cascade-deletes all assignments of this label on existing cases. Delete a label from a queue. Cascade-deletes all assignments of this label on existing cases.
deleteReadNotifications
can modify data
team_id
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… 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.
deleteSchedule
can modify data
agent_id*schedule_id*
Delete a schedule. Owners may delete their own schedules; team superadmins may delete any schedule on agents in the current team. Delete a schedule. Owners may delete their own schedules; team superadmins may delete any schedule on agents in the current team.
deleteSecret
can modify data
id*
Soft-delete an env-var secret. Deleting a team-shared secret requires lead builder role. Soft-delete an env-var secret. Deleting a team-shared secret requires lead builder role.
deleteSkill
can modify data
skill_id*
Delete a skill for the current team. Delete a skill for the current team.
deleteSkillRevision
can modify data
skill_revision_id*
Delete a draft or historic skill revision and its files. The active revision can't be deleted — activate another revision first. Delete a draft or historic skill revision and its files. The active revision can't be deleted — activate another revision first.
deleteSlackTrigger
can modify data
trigger_id*
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. 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.
deleteTeamInvite
can modify data
id*team_id
Revoke an 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 invi… Revoke an 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.
deleteTeamInviteLink
can modify data
team_id
Delete the team's shareable invite link so the URL stops working. Per-person invitations are unaffected. Requires the Manager role or above. Delete the team's shareable invite link so the URL stops working. Per-person invitations are unaffected. Requires the Manager role or above.
detachPulseDashboardConnection
can modify data
artifactId*connectionId*
Detach a connection (data source) from a Duvo Pulse dashboard (requires edit access). Detach a connection (data source) from a Duvo Pulse dashboard (requires edit access).
detachQueueJsonSchema
can modify data
queue_id*
Stop validating new cases on a queue. Typed cases already written keep their payload and their pinned schema version. Stop validating new cases on a queue. Typed cases already written keep their payload and their pinned schema version.
detachRevisionLogin
can modify data
agentId*buildId*exposedCredentialId*
Detach a login from a revision. Personal logins can only be detached by their owner; team-shared logins require builder permissions. Detach a login from a revision. Personal logins can only be detached by their owner; team-shared logins require builder permissions.
detachRevisionSecret
can modify data
agentId*buildId*credentialId*
Detach an env-var secret from a revision. Personal secrets can only be detached by their owner; team-shared secrets require builder permissions. Detach an env-var secret from a revision. Personal secrets can only be detached by their owner; team-shared secrets require builder permissions.
dismissClarityCaptureSuggestion
nodeId*suggestionId*
Dismiss a pending Process Landscape capture suggestion without creating a capture request (manager+). Dismiss a pending Process Landscape capture suggestion without creating a capture request (manager+).
dismissClarityTeamAssignmentSuggestion
nodeId*suggestionId*
Dismiss a pending Process Landscape team-assignment suggestion without changing the node's owner (manager+). Dismiss a pending Process Landscape team-assignment suggestion without changing the node's owner (manager+).
dismissNotification
id*
Dismiss an important notification for the authenticated user, unpinning their own row from the Important section. Only important notifications (currently: connection_broken) can be… Dismiss an important notification for the authenticated user, unpinning their own row from the Important section. 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.
downloadSkill
read-only
skill_id*
Download a custom skill as a ZIP archive. Only custom (team-owned) skills can be downloaded. Download a custom skill as a ZIP archive. Only custom (team-owned) skills can be downloaded.
duplicateAgent
agent_id*include_aopinclude_queueinclude_memoryinclude_pluginsinclude_connections
+2
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… 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.
duplicateClarityProcess
id*
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. 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.
duplicatePulseDashboard
artifactId*
Duplicate a Duvo Pulse dashboard, producing an idle clone of the current rendered dashboard. The conversation history, shares, and connections are not copied. Duplicate a Duvo Pulse dashboard, producing an idle clone of the current rendered dashboard. The conversation history, shares, and connections are not copied.
evaluateQueueAggregation
queue_id*definition*
Evaluate an aggregation definition against the current data without persisting it. Evaluate an aggregation definition against the current data without persisting it.
exportCases
formatsearchfilterssort_byqueue_id*sort_order
Export a queue's cases, respecting the same status, severity, priority, label, date-range, and free-text filters as the list view. `format: "json"` (default) returns a re-importabl… Export a queue's cases, respecting the same status, severity, priority, label, date-range, and free-text filters as the list view. `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.
exportPulseDashboardHtml
read-only
themeartifactId*
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 dashboar… 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.
fileSuggestedClarityProcesses
team_id
File every unfiled process the viewer can see into its suggested folder File every unfiled process the viewer can see into its suggested folder
finalizeCaseAttachment
case_id*queue_id*attachment_id*
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… 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.
finalizeClarityOrganizationInterview
orgId*interviewId*
Manually mark an in-progress organization interview as complete without requiring final media uploads Manually mark an in-progress organization interview as complete without requiring final media uploads
generateClarityPortfolioIntelligence
team_id
Generate portfolio intelligence from all completed clarity processes. Returns 202 Accepted immediately and processes in background. Generate portfolio intelligence from all completed clarity processes. Returns 202 Accepted immediately and processes in background.
generateClarityProcessLandscape
orgId*
Start a process-landscape generation run for the organization from its eligible Clarity captures (organization executives and owners) Start a process-landscape generation run for the organization from its eligible Clarity captures (organization executives and owners)
generateClarityProcessSnapshot
kind*process_id*custom_guidanceregenerate_fromsource_snapshot_idtransformation_aggressiveness
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 rej… 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.
getAgent
read-only
agent_id*
Get an agent by ID. Get an agent by ID.
getAgentCaseTrigger
read-only
agent_id*trigger_id*
Retrieve a single case trigger by id. Retrieve a single case trigger by id.
getAgentMemoryFile
read-only
path*agent_id*
Get the contents of a single memory file for an agent. Get the contents of a single memory file for an agent.
getAgentSuggestion
read-only
id*
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 d… 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.
getAutomation
read-only
automation_id*
Get a single automation with its agent and queue counts, and the tab arrangement its detail view navigates by. Get a single automation with its agent and queue counts, and the tab arrangement its detail view navigates by.
getAutomationCurrent
read-only
automation_id*
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-… 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.
getAutomationCurrentFlow
read-only
automation_id*
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 revisio… 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.
getAutomationTabs
read-only
automation_id*
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. 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.
getBatchQueueStats
read-only
team_idqueue_ids*created_at_tocreated_at_from
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 — inste… 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.
getCase
read-only
case_id*
Get a case by ID. Returns the case, its event history, and every case-approval batch ever created on the case (newest first). Get a case by ID. Returns the case, its event history, and every case-approval batch ever created on the case (newest first).
getCaseAttachmentDownloadUrl
read-only
case_id*queue_id*dispositionattachment_id*
Mint a short-lived signed URL for one case attachment. `disposition=inline` serves the file for the in-app viewer; `attachment` forces a download. Mint a short-lived signed URL for one case attachment. `disposition=inline` serves the file for the in-app viewer; `attachment` forces a download.
getCaseQueueEvalRubrics
read-only
queue_id*
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… 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).
getClarityArtifactChatMessages
read-only
process_id*conversation_id*
Load the latest artifact-chat messages for one active conversation, returned oldest-first. Load the latest artifact-chat messages for one active conversation, returned oldest-first.
getClarityCapture
read-only
capture_id*process_id*
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 ne… 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.
getClarityExport
read-only
id*
Get a Clarity export run by ID Get a Clarity export run by ID
getClarityHierarchyPeople
read-only
orgId*rootId
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`, pl… 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. `truncated` is true when the node subtree or any single process roster was capped.
getClarityOrganizationInterview
read-only
orgId*interviewId*
Load a single organization Clarity interview with transcript Load a single organization Clarity interview with transcript
getClarityPortfolioIntelligence
read-only
team_id
Get portfolio intelligence for the current team Get portfolio intelligence for the current team
getClarityProcess
read-only
capturesprocess_id*
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… 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.
getClarityProcessInviteLink
read-only
id*
Get the active interview invite link for a process. Get the active interview invite link for a process.
getClarityProcessJoinInfo
read-only
token*
Get information about a clarity interview invite link (public). Get information about a clarity interview invite link (public).
getClarityProcessLandscape
read-only
orgId*rootIdteamId
Fetch the organization's full process landscape with process summaries, team assignments, and page-level stats Fetch the organization's full process landscape with process summaries, team assignments, and page-level stats
getClarityProcessSharing
read-only
id*
Get the sharing status for a clarity process Get the sharing status for a clarity process
getClarityProcessSnapshot
read-only
kind*process_id*snapshot_id*
Fetch the full payload for a Clarity v2 process snapshot of either kind. Fetch the full payload for a Clarity v2 process snapshot of either kind.
getClarityProcessTree
read-only
orgId*rootId
Fetch the organization's process tree, or the subtree under rootId Fetch the organization's process tree, or the subtree under rootId
getClarityTeamSettings
read-only
team_id
Get clarity team settings for financial calculations Get clarity team settings for financial calculations
getConnection
read-only
connection_id*
Get one of your connections by ID. Get one of your connections by ID.
getConnectionCredentials
read-only
connection_id*
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 ar… 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.
getCredential
read-only
id*userId*team_id
Get a login by id. Returns the encrypted password/otp_secret blobs — only the owner or team members can access it. Get a login by id. Returns the encrypted password/otp_secret blobs — only the owner or team members can access it.
getEvalRubrics
read-only
agentId*build_id
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… 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.
getEvalScores
read-only
scopesince*agentId*revision_id
Aggregate evaluation counts and flag distribution for an Assignment's Jobs since the given timestamp. Aggregate evaluation counts and flag distribution for an Assignment's Jobs since the given timestamp.
getFileContent
read-only
path*team_id
Get the content of a text file. Get the content of a text file.
getFileDownloadUrl
read-only
path*team_id
Generate a signed download URL for a file. Generate a signed download URL for a file.
getLegacyClarityProcess
read-only
id*
Get a legacy v1 Clarity process with process metadata, generated analysis, automation guidance, generation progress, and captures. Use this for rows from listClarityProcesses where… 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.
getNotification
read-only
id*
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. 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.
getNotificationBatch
read-only
id*typeagentsteam_idseverityminSeverity
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 f… 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.
getNotificationCounts
read-only
agentsunreadteam_idseverityminSeverity
Per-type notification counts for the authenticated user's current team. Narrow with `unread`, and with either `severity` (counts only that exact severity) or `minSeverity` (counts… Per-type notification counts for the authenticated user's current team. Narrow with `unread`, 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.
getNotificationFeed
read-only
typelimitagentscursorunreadteam_id
+2
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-agen… 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.
getOrgInsightsHeadline
read-only
orgId*endDatestartDate
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, Ex… 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.
getOrgInsightsMetrics
read-only
orgId*endDatestartDate
Get org-level insights metrics (runs, assignments, schedules) broken down per team across the organization. Requires an organization Admin, Executive, or Owner role. Get org-level insights metrics (runs, assignments, schedules) broken down per team across the organization. Requires an organization Admin, Executive, or Owner role.
getOrgInsightsUsageChart
read-only
orgId*endDate*timezonestartDate*granularity*
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. 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.
getProfile
read-only
Get the profile of the authenticated user (the owner of the API key). Get the profile of the authenticated user (the owner of the API key).
getPulseDashboard
read-only
artifactId*
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… 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.
getPulseDashboardAttachmentDownloadUrl
read-only
artifactId*attachmentId*
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… 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).
getPulseDashboardHtml
read-only
artifactId*
Serve a Duvo Pulse dashboard's rendered HTML document (text/html, not JSON). 404 until the first generation turn has produced HTML. Serve a Duvo Pulse dashboard's rendered HTML document (text/html, not JSON). 404 until the first generation turn has produced HTML.
getPulseDashboardPdf
read-only
themeartifactId*
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 thi… 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.
getPulseDashboardVersionHtml
read-only
artifactId*revisionId*
Serve a specific version's rendered HTML document for a Duvo Pulse dashboard (text/html, requires edit access). Serve a specific version's rendered HTML document for a Duvo Pulse dashboard (text/html, requires edit access).
getQueue
read-only
queue_id*
Get a queue by ID. Get a queue by ID.
getQueueAggregationResult
read-only
queue_id*definition_id*
Read an aggregation definition's cached result. Read an aggregation definition's cached result.
getQueueJsonSchema
read-only
queue_id*
Get a queue's Case schema settings: whether it requires typed cases, and the schema it validates them against. Get a queue's Case schema settings: whether it requires typed cases, and the schema it validates them against.
getRevision
read-only
agent_id*build_id*
Get a revision by ID. Get a revision by ID.
getRevisionCaseQueueSetup
read-only
agent_id*build_id*
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 a… 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.
getRun
read-only
run_id*
Get information about an agent run. Can be polled to check status. Get information about an agent run. Can be polled to check status.
getRunEvaluation
read-only
runId*agentId*
Get the latest evaluation analysis for a specific agent run (Run). Get the latest evaluation analysis for a specific agent run (Run).
getSecret
read-only
id*
Get an env-var secret by id. Returns metadata and env var keys; secret values are never exposed. Get an env-var secret by id. Returns metadata and env var keys; secret values are never exposed.
getSkillFileContent
read-only
path*skill_id*
Get the content of a file in a skill. Get the content of a file in a skill.
getSkillRevisionFileContent
read-only
path*skill_revision_id*
Get the content of a text file in a skill revision. Get the content of a text file in a skill revision.
getTeam
read-only
team_id
Get a team by ID. The caller must be scoped to the requested team. Get a team by ID. The caller must be scoped to the requested team.
getTeamInviteLink
read-only
team_idfrontendUrl
Get the team's shareable invite link — the one URL anyone can use to join the team, as opposed to a per-person invitation. Returns `hasLink: false` when no link has been created. R… Get the team's shareable invite link — the one URL anyone can use to join the team, as opposed to a per-person invitation. Returns `hasLink: false` when no link has been created. Requires the Manager role or above.
getUnreadNotificationCount
read-only
team_id
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 N… 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.
inviteClarityMeetingNotetaker
id*meetingUrl*extraCaptureRequestId
Invite the in-meeting notetaker bot (Recall.ai) to a live meeting; the recording lands as a 'meeting' capture on the process Invite the in-meeting notetaker bot (Recall.ai) to a live meeting; the recording lands as a 'meeting' capture on the process
inviteClarityOrganizationNotetaker
orgId*titlemeetingUrl*extraCaptureRequestId
Invite the in-meeting notetaker bot (Recall.ai) to a live meeting; the recording lands as an organization Clarity interview Invite the in-meeting notetaker bot (Recall.ai) to a live meeting; the recording lands as an organization Clarity interview
inviteOrgMember
role*email*orgId*teamIdsendEmailfrontendUrl
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 gr… 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.
listActiveClarityExports
read-only
team_id
List active (queued or running) Clarity export jobs for the current user List active (queued or running) Clarity export jobs for the current user
listAgentCaseTriggers
read-only
agent_id*
List the case triggers configured for an agent. Each trigger automatically dispatches the agent to run cases added to a queue. List the case triggers configured for an agent. Each trigger automatically dispatches the agent to run cases added to a queue.
listAgentFolders
read-only
team_id
List all agent folders for the authenticated team. List all agent folders for the authenticated team.
listAgentMemoryFiles
read-only
agent_id*
List the memory files stored for an agent. List the memory files stored for an agent.
listAgentRevisions
read-only
limitoffsetagent_id*
List revisions for an agent. List revisions for an agent.
listAgents
read-only
limitoffsetteam_idautomation_idinclude_schedules
List agents for your team. List agents for your team.
listAgentSchedules
read-only
agent_id*
List all schedules configured for an agent. Returns the schedules you own on this agent. List all schedules configured for an agent. Returns the schedules you own on this agent.
listAgentSlackBoundWorkspaces
read-only
agent_id*build_id*
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 p… 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`.
listAgentSlackTriggers
read-only
agent_id*
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 `work… 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.
listAgentSuggestions
read-only
limitoffsetstatusagent_id*
List an Agent's suggestions. status=pending is the inbox; status=history is consumed/dismissed/auto-cleared. Reads lazily auto-clear stale pending items. List an Agent's suggestions. status=pending is the inbox; status=history is consumed/dismissed/auto-cleared. Reads lazily auto-clear stale pending items.
listAgentTriggers
read-only
agentId*
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… 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).
listAgentTriggerTypes
read-only
agentId*
List the trigger types available for an agent, grouped by integration. Use the returned `integration_slug` and `trigger_type` values when creating a trigger. List the trigger types available for an agent, grouped by integration. Use the returned `integration_slug` and `trigger_type` values when creating a trigger.
listAutomations
read-only
limitoffsetteam_id
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 Automation… 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`.
listAvailableClarityProcessLabels
read-only
id*limitoffsetsearch
List process tags available for a process. List process tags available for a process.
listCaseAttachments
read-only
case_id*queue_id*
List the files attached to a case, oldest first. Includes attachments whose upload failed, so a missing source document is visible rather than silent. List the files attached to a case, oldest first. Includes attachments whose upload failed, so a missing source document is visible rather than silent.
listCaseLabels
read-only
limitoffsetcase_id*queue_id*
List all labels assigned to a case. List all labels assigned to a case.
listCaseRunRecentMessages
read-only
limitrun_id*case_id*
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 time… 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.
listCaseRuns
read-only
case_id*
List Runs (agent runs) that have claimed or received handover of a case, newest first. Capped at 50 ownership events. List Runs (agent runs) that have claimed or received handover of a case, newest first. Capped at 50 ownership events.
listCases
read-only
limitoffsetsearchstatussort_bypriority
+8
List cases in a queue. Supports status, date-range, and free-text filters via query params. Set count_only=true to skip Case row selection and transformation. The normal response s… List cases in a queue. Supports status, date-range, and free-text 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.
listClarityArtifactChatConversations
read-only
process_id*snapshot_kind*
List the current user's recent non-deleted artifact-chat conversations for a Clarity v2 process and snapshot kind. List the current user's recent non-deleted artifact-chat conversations for a Clarity v2 process and snapshot kind.
listClarityExtraCaptureRequests
read-only
limitoffsetprocess_id*transformation_proposal_id*
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… 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.
listClarityFolders
read-only
team_id
List the team's process folders with process and suggestion counts List the team's process folders with process and suggestion counts
listClarityLandscapeCaptures
read-only
limitorgId*include_excludedincludeTranscripts
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. 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.
listClarityLandscapeNodeInterviews
read-only
limitorgId*nodeId*offset
List Clarity interviews linked to a process folder List Clarity interviews linked to a process folder
listClarityLandscapeNodePeople
read-only
orgId*nodeId*teamId
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. 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.
listClarityOrganizationInterviews
read-only
limitorgId*scopeoffset
List Clarity interviews across an organization List Clarity interviews across an organization
listClarityProcessAssignedLabels
read-only
id*
List process tags on a process. List process tags on a process.
listClarityProcesses
read-only
limitoffsetsearchstatusteam_idversion
List Clarity processes for the current team, most recently updated first. Returns lightweight metadata (capture counts, contributors, status) suitable for building a picker; the pe… 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.
listClarityProcessLabels
read-only
limitorgId*offsetsearch
List process tags available in an organization. List process tags available in an organization.
listClarityProcessLinks
read-only
limitorgId*offsetnode_id
List process-to-process links in the organization's Clarity landscape that are visible within the caller's team access scope. Use `node_id` to find links touching a specific proces… List process-to-process links in the organization's Clarity landscape that are visible within the caller's team access scope. Use `node_id` to find links touching a specific process node.
listClarityProcessMembers
read-only
id*
List users with accepted access to a clarity process List users with accepted access to a clarity process
listClarityProcessSnapshots
read-only
kind*limitoffsetprocess_id*
List lightweight Clarity v2 process snapshots for one kind. List lightweight Clarity v2 process snapshots for one kind.
listClarityProcessSummaries
read-only
limitdetailoffsetteam_idinclude_current_steps
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) — wi… 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.
listClarityTeamInterviews
read-only
limitoffsetteam_id
List team-level Clarity interviews List team-level Clarity interviews
listConnections
read-only
typelimitoffsetteam_id
List the authenticated user's connections (connected integration instances) for the current team. Includes team-shared instances visible to the caller when the org-level Connection… List the authenticated user's connections (connected integration instances) for the current team. Includes team-shared instances visible to the caller when the org-level Connections sharing setting is on. Filter by integration type with the `type` query parameter.
listCredentials
read-only
domainuserId*team_id
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`. Pass… 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.
listFiles
read-only
team_id
List files for the current team. List files for the current team.
listIntegrations
read-only
typelimitoffsetteam_id
List the team's integration catalog: built-in integration types plus any custom connection types defined for the team. OAuth authorization flows are browser-based and cannot be per… List the team's integration catalog: built-in integration types plus any custom connection types defined for the team. OAuth authorization flows are browser-based and cannot be performed via this API; use the Duvo dashboard to complete OAuth-based connections.
listMyOrganizations
read-only
List the organizations the current user belongs to, with their role (organization:member, organization:admin, organization:owner, or organization:executive) and member count in eac… 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.
listMyTeams
read-only
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 an… 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.
listNotifications
read-only
sorttypelimitcursorunreadbatchId
+6
List notifications for the authenticated user's current team, most recent first. Filter with type, unread, severity or minSeverity (mutually exclusive), important, agentRunId, or p… 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.
listOrgTeams
read-only
limitorgId*offsetsearchsortBy
List teams belonging to an organization you are a member of, including your membership and role in each. List teams belonging to an organization you are a member of, including your membership and role in each.
listPluginCatalog
read-only
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; thos… 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.
listPulseDashboardConnections
read-only
artifactId*
List the connections (data sources) attached to a Duvo Pulse dashboard (requires edit access). List the connections (data sources) attached to a Duvo Pulse dashboard (requires edit access).
listPulseDashboardMessages
read-only
limitbeforeartifactId*
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 me… 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.
listPulseDashboards
read-only
limitscopeoffset
List your Duvo Pulse dashboards (live, agent-generated visualizations of your Duvo data), most recently updated first. List your Duvo Pulse dashboards (live, agent-generated visualizations of your Duvo data), most recently updated first.
listPulseDashboardVersions
read-only
artifactId*
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. 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.
listQueueAgents
read-only
queue_id*
List agents bound to a queue as producers (agents that push cases into the queue) or consumers (agents triggered by cases in the queue). List agents bound to a queue as producers (agents that push cases into the queue) or consumers (agents triggered by cases in the queue).
listQueueAggregations
read-only
limitoffsetqueue_id*
List a queue's aggregation definitions. List a queue's aggregation definitions.
listQueueLabels
read-only
limitoffsetqueue_id*
List every label defined on a queue along with the count of cases each label is assigned to. List every label defined on a queue along with the count of cases each label is assigned to.
listQueues
read-only
limitoffsetteam_idautomation_id
List queues for your team. List queues for your team.
listRevisionIntegrationConnections
read-only
agent_id*build_id*integration_id*
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. 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.
listRevisionIntegrationQueues
read-only
agent_id*build_id*integration_id*
List the queues linked to this build's case-queue integration slot. Only meaningful for case-queue-producer and case-queue-consumer integrations. List the queues linked to this build's case-queue integration slot. Only meaningful for case-queue-producer and case-queue-consumer integrations.
listRevisionIntegrations
read-only
agent_id*build_id*
List integrations attached to an agent revision. List integrations attached to an agent revision.
listRevisionLogins
read-only
agentId*buildId*
List logins attached to a specific revision (build) of an assignment. Returns metadata only — passwords and OTP secrets are never exposed. List logins attached to a specific revision (build) of an assignment. Returns metadata only — passwords and OTP secrets are never exposed.
listRevisionSecrets
read-only
agentId*buildId*
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. 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.
listRunMessages
read-only
limitoffsetrun_id*
Get paginated messages for an agent run. Messages are returned in chronological order. Get paginated messages for an agent run. Messages are returned in chronological order.
listRuns
read-only
limitsinceuntiloffsetsearchsource
+12
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=tr… 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.
listSandboxFiles
read-only
pathsandbox_id*
List files in a sandbox directory. List files in a sandbox directory.
listSecrets
read-only
team_id
List env-var secrets visible to the caller — team-shared (user_id IS NULL) plus the caller's own personal entries. Returns metadata and env-var keys only; secret values are never e… List env-var secrets visible to the caller — team-shared (user_id IS NULL) plus the caller's own personal entries. Returns metadata and env-var keys only; secret values are never exposed.
listSkillAssignments
read-only
skill_id*
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. 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.
listSkillFiles
read-only
skill_id*
List all files in a skill. List all files in a skill.
listSkillRevisionFiles
read-only
limitcursorskill_revision_id*
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. 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.
listSkillRevisions
read-only
limitoffsetskill_id*
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. 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.
listSkills
read-only
team_id
List all skills for the current team, including system skills. List all skills for the current team, including system skills.
listSystemSkills
read-only
List all system skills (skills available to all teams). List all system skills (skills available to all teams).
listTeamInvites
read-only
team_idprocessId
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. 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.
listTeamMembers
read-only
limitoffsetsearchteam_id
List members of a team. The authenticated session or API key must be scoped to the requested team. List members of a team. The authenticated session or API key must be scoped to the requested team.
markAllNotificationsRead
team_id
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 40… 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.
markNotificationBatchRead
id*typesteam_idseverityminSeverity
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 `min… 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. 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.
markNotificationRead
id*
Mark a notification as read for the authenticated user. Idempotent — calling it again on an already-read notification still returns success. Requires the Notification Center featur… Mark a notification as read for the authenticated user. Idempotent — calling it again on an already-read notification still returns success. Requires the Notification Center feature; returns 404 when it is not enabled for the team.
moveAgent
dry_runagent_id*target_team_id*bypass_standalone_gate
Move an agent (and its connected workspace) to a different team. Pass dry_run=true to preview the closure without applying changes. Move an agent (and its connected workspace) to a different team. Pass dry_run=true to preview the closure without applying changes.
moveAgentsToFolder
team_idagent_ids*folder_id*
Move one or more agents (assignments) into a folder, or to the root level. Move one or more agents (assignments) into a folder, or to the root level.
moveClarityProcessesToFolder
team_idfolderId*processIds*
Move processes into a folder (or back to Unfiled) Move processes into a folder (or back to Unfiled)
movePulseDashboard
dryRunteam_idartifactId*targetTeamId*
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 ab… 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.
organizeClarityProcessLandscape
orgId*instructions
Start an asynchronous organization pass over the organization's unfiled processes, placing them into the Process Landscape where possible (organization admin+). Results appear prog… 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.
pinRevisionIntegrationConnection
agent_id*build_id*connection_id*integration_id*
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 sa… 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.
postprocessClaritySnapshot
type*process_id*current_process_idtransformation_proposal_id
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. Flip… 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.
postRunMessage
run_id*message*
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). 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).
previewAgentCaseTriggerConflicts
read-only
agent_id*case_queue_id*
Preview which other agents would conflict with this agent's case trigger if it pointed at the given queue. Does not modify the trigger. Preview which other agents would conflict with this agent's case trigger if it pointed at the given queue. Does not modify the trigger.
probeMcpServer
headersteam_idserver_urlintegration_slug
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 co… 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).
promoteClarityProcessSnapshot
kind*process_id*snapshot_id*
Promote a draft or historic Clarity v2 snapshot to live for its kind. Promote a draft or historic Clarity v2 snapshot to live for its kind.
promoteRevision
build_id*revision_namerevision_description
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… 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.
promoteSkillRevision
revision_nameskill_revision_id*revision_description
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 succee… 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.
proposeClarityLandscapeProcess
name*orgId*teamIdparentIddescriptionmaterializationMode
Create a manual process in the organization's Process Landscape, either as an unassigned proposal or atomically assigned to an eligible team. Create a manual process in the organization's Process Landscape, either as an unassigned proposal or atomically assigned to an eligible team.
publishPulseDashboard
artifactId*permissionvisibility*
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 s… 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.
refreshPulseDashboard
artifactId*
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… 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.
refreshQueueAggregation
queue_id*definition_id*
Force a fresh recompute of an aggregation definition. Force a fresh recompute of an aggregation definition.
rejectAgentSuggestion
id*
Dismiss a pending suggestion. Dismiss a pending suggestion.
removeClarityLandscapeNodePerson
can modify data
orgId*nodeId*teamIdpersonId*
Remove a person from the process behind a process landscape node, and revoke the process access they were granted when they were added. Remove a person from the process behind a process landscape node, and revoke the process access they were granted when they were added.
removeClarityProcessMember
can modify data
id*invitationId*
Remove accepted access to a clarity process Remove accepted access to a clarity process
removeRevisionIntegration
can modify data
agent_id*build_id*integration_id*selected_automation_revision_id
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. 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.
removeTeamMember
can modify data
team_idmemberId*
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… 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.
renameFile
team_idrelativePath*newFilenameOnly*
Rename a file in team storage. Rename a file in team storage.
reorderClarityFolders
team_idfolderIds*
Reorder the team's process folders to match the given id order. The payload must name every folder exactly once. Reorder the team's process folders to match the given id order. The payload must name every folder exactly once.
reorderClarityLandscapeAreas
orgId*parentIdorderedAreaIds*
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+… 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.
replaceCaseQueueEvalRubrics
can modify data
rubrics*queue_id*
Replace the entire case-level evaluation rubric set on a queue's current version (1 to 12 rubrics). Existing rubrics are removed and the supplied list becomes the new set. An empty… Replace the entire case-level evaluation rubric set on a queue's current version (1 to 12 rubrics). 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.
replaceEvalRubrics
can modify data
agentId*rubrics*build_idselected_automation_revision_id
Replace a build's entire Agent-specific evaluation rubric set in one call (at most 5 rubrics). Existing custom rubrics are removed and the supplied list becomes the new set; pass a… Replace a build's entire Agent-specific evaluation rubric set in one call (at most 5 rubrics). 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.
replaceQueueJsonSchema
schema*queue_id*change_summary*expected_schema_id
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. 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.
replaceRevisionIntegrationQueues
agent_id*build_id*queue_ids*integration_id*selected_automation_revision_id
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 permissi… 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.
respondToHumanRequest
run_id*answersapprovedrequest_id*
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 ru… 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.
restorePulseDashboardVersion
artifactId*revisionId*
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. 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.
revertClarityProcessSnapshot
can modify data
kind*process_id*snapshot_id*
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. 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.
saveClarityProcessSnapshot
kind*swotsteps*summaryprocess_id*projectedImpact
+2
Save user edits as the live Clarity v2 snapshot for the selected kind. Save user edits as the live Clarity v2 snapshot for the selected kind.
searchCases
limitoffsetsearchfilterssort_byqueue_id*
+2
Search cases in a queue with rich filters (multi-status, date ranges, label-based filters). Use this when the simple query-string filters on GET /v2/queues/:queue_id/cases aren't e… Search cases in a queue with rich filters (multi-status, date ranges, label-based filters). Use this when the simple query-string filters on GET /v2/queues/:queue_id/cases aren't enough. Set count_only=true to skip Case row selection, enrichment, and transformation. The normal response shape is returned with cases: [] and the matching total.
sendPulseDashboardMessage
message*artifactId*attachmentsfrom_revision_idselected_element
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… 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.
sendTeamInviteEmail
id*team_idfrontendUrl
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 receiv… 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.
setClarityLandscapeNodePlacement
orgId*nodeId*parentId*
Move a process landscape node (team manager or above for team processes; organization admin for areas) Move a process landscape node (team manager or above for team processes; organization admin for areas)
setClarityLandscapePriorities
org_id*priorities*
Set or clear heatmap priorities in one batch (team managers for their processes; organization admin+ across the organization) Set or clear heatmap priorities in one batch (team managers for their processes; organization admin+ across the organization)
setupClarityFoldersFromLandscape
team_id
Create one linked folder per landscape group node containing this team's processes. Idempotent: groups that already have a linked folder are skipped. Create one linked folder per landscape group node containing this team's processes. Idempotent: groups that already have a linked folder are skipped.
startClarityExport
bpmnXml*team_idprocessId*connectionInstanceId*
Start a Clarity → SAP Signavio export job Start a Clarity → SAP Signavio export job
startNativeOAuth
team_idprovider*return_urlreconnect_instance_id
Start an OAuth-based connection with a native provider (Gmail, Google Sheets, Outlook, etc.). Returns an authorization URL that must be opened in a browser by a human end-user; onc… Start an OAuth-based connection with a native provider (Gmail, Google Sheets, Outlook, etc.). 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.
startRun
messageteam_idagent_id*sandbox_idwebhook_url
Start a new agent run. Returns immediately with run info - does not wait for completion. Start a new agent run. Returns immediately with run info - does not wait for completion.
stopClarityArtifactChatConversation
process_id*conversation_id*
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-se… 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.
stopClarityProcessSnapshot
kind*process_id*
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 sandbo… 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.
stopPulseDashboardMessage
artifactId*partial_text
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… 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.
stopRun
run_id*
Stop an agent run. No-op if the run is not currently running. Stop an agent run. No-op if the run is not currently running.
unlinkCaseLabels
case_id*queue_id*label_ids*
Remove the given labels from a case. Remove the given labels from a case.
unlinkClarityProcessLabels
id*labelIds*
Remove process tags from a process. Remove process tags from a process.
unpinRevisionIntegrationConnection
can modify data
agent_id*build_id*connection_id*integration_id*
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. 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.
updateAgent
namepinnedagent_id*thread_idslack_enabledagentic_memory_enabled
+3
Update an agent's display name or delivery settings. Update an agent's display name or delivery settings.
updateAgentCaseTrigger
enabledagent_id*trigger_id*concurrencycase_queue_id
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 concurren… 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.
updateAgentFolder
namefolder_id*parent_folder_id
Rename an agent folder or move it to a new parent. Rename an agent folder or move it to a new parent.
updateAutomation
nameautomation_id*
Update an automation, e.g. rename it. Only the fields present in the body are changed. Update an automation, e.g. rename it. Only the fields present in the body are changed.
updateCase
datatitlecase_id*
Edit a case's title and/or its free-form data payload. Provide at least one field. Works on pending, in-progress, and settled cases. Other attributes (status, priority, labels) hav… Edit a case's title and/or its free-form data payload. Provide at least one field. 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.
updateCaseQueueEvalRubric
can modify data
titlequeue_id*rubric_id*description
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 ori… 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.
updateClarityFolder
name*team_idfolderId*
Rename a process folder. Renaming a landscape-linked folder permanently stops landscape name-sync. Rename a process folder. Renaming a landscape-linked folder permanently stops landscape name-sync.
updateClarityGuidance
id*content*
Update the automation guidance message for a clarity process Update the automation guidance message for a clarity process
updateClarityLandscapeNode
nameorgId*nodeId*ownerLabel
Rename a process landscape node or update its owner label (team manager or above for team processes; organization admin for areas) Rename a process landscape node or update its owner label (team manager or above for team processes; organization admin for areas)
updateClarityLandscapeNodePerson
roleorgId*nodeId*teamIdpersonId*
Change the role a person plays in the process behind a process landscape node (for example "Approver"). Send role: null to clear it. Change the role a person plays in the process behind a process landscape node (for example "Approver"). Send role: null to clear it.
updateClarityOrganizationInterview
orgId*title*interviewId*
Rename an organization landscape Clarity capture Rename an organization landscape Clarity capture
updateClarityProcess
id*namestatusvisibilitycustomPrompt
Update a Clarity process name, guidance, visibility, or completion status. Team Builders can edit names and guidance, only the creator or a team manager can change visibility, and… Update a Clarity process name, guidance, visibility, or completion status. Team Builders can edit names and guidance, only the creator or a team manager can change visibility, and completion requires a manager role.
updateClarityProcessLabel
orgId*valuelabelId*colorHue
Update process tags for an organization. Update process tags for an organization.
updateClarityProcessLink
typeorgId*stateconfidencesource_node_idtarget_node_id
+1
Update a process-to-process link in the organization's Clarity landscape when the caller can manage both endpoint teams. Update a process-to-process link in the organization's Clarity landscape when the caller can manage both endpoint teams.
updateClarityProcessSharing
id*enabled*proposalShareEnabled
Enable or disable sharing for a clarity process Enable or disable sharing for a clarity process
updateClarityTeamSettings
team_idindustrylanguageteamSizecompanyNameannualRevenue
+4
Update clarity team settings for financial calculations Update clarity team settings for financial calculations
updateConnection
namesharedheadersserver_urlauth_methodconnection_id*
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… 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.
updateCredential
id*domainshareduserId*team_idpassword
+2
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. 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.
updateEvalRubric
can modify data
titleagentId*rubricId*descriptionselected_automation_revision_id
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… 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.
updateFileContent
path*content*team_id
Update the content of a text file. Update the content of a text file.
updatePulseDashboard
title*artifactId*
Update a Duvo Pulse dashboard's settings — rename it. Only the creator can update it. Update a Duvo Pulse dashboard's settings — rename it. Only the creator can update it.
updateQueue
namequeue_id*folder_iddescription
Update a queue. Update a queue.
updateQueueJsonSchemaSettings
frozenguardedqueue_id*
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 refus… 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.
updateQueueLabel
keyvalue*label_id*queue_id*color_hue
Update a label's key, value, or color. Renaming key/value affects every case assigned to this label. Update a label's key, value, or color. Renaming key/value affects every case assigned to this label.
updateRevision
configbuild_id*handoverTorevision_namehandoverTargetIdsrevision_description
+1
Update a revision's configuration, name, description, or handover targets. Returns the updated revision. Update a revision's configuration, name, description, or handover targets. Returns the updated revision.
updateSchedule
daycrontimeenabledagent_id*timezone
+4
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 upd… 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.
updateSecret
id*namesharedvaluesadd_valuesremove_keys
+2
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 to… 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.
updateSkillFile
path*content*skill_id*
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: createSki… 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.
updateSkillRevision
revision_nameskill_revision_id*revision_description
Rename a skill revision or change its description. Works for drafts, the active revision, and historic revisions. Rename a skill revision or change its description. Works for drafts, the active revision, and historic revisions.
updateSkillRevisionFile
can modify data
path*content*skill_revision_id*
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 sk… 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.
updateSlackTrigger
enabledchannel_idis_privatematch_ruletrigger_id*channel_name
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. Resumin… 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.
updateTeamInvite
id*role*team_id
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 invi… 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.
updateTeamMemberRole
role*team_idmemberId*
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 membe… 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.
upgradeClarityProcess
id*
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. 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.
uploadSandboxFile
sandbox_id*
Upload a file directly to the sandbox. Maximum file size is 10MB. For larger files, use POST /v2/sandboxes/:sandbox_id/upload-urls. Upload a file directly to the sandbox. Maximum file size is 10MB. For larger files, use POST /v2/sandboxes/:sandbox_id/upload-urls.
upsertAgentTrigger
agentId*enabledtrigger_type*filter_configintegration_slug*