> ## Documentation Index
> Fetch the complete documentation index at: https://docs.duvo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Update Case Status

> Update the status of multiple cases to pending, completed, failed, or canceled. Interrupts any active runs and releases their case ownership, but never cancels their human-in-the-loop state — pending requests and open approval batches stay answerable/resolvable from the run view. Settling a case archives the pending requests on every run attached to it, both the runs this call interrupted and any that were already terminal, so they leave the activity inbox instead of outliving the case there. Resetting to pending archives nothing and re-dispatches cases to the queue's trigger consumer.



## OpenAPI

````yaml https://api.duvo.ai/v2/documentation/mintlify.json post /v2/queues/{queue_id}/cases/bulk-update-status
openapi: 3.0.3
info:
  title: Duvo Public API
  description: >-
    Public API for programmatic access to Duvo. Authenticate with API keys
    created in the Duvo dashboard.


    ## Rate limits


    Requests are counted per API key. Every response advertises the quota with
    the IETF RateLimit fields, so a client can self-throttle without waiting for
    a rejection:


    - `RateLimit-Policy: "default";q=<quota>;w=<window seconds>` — the policy in
    force: `q` requests per `w` seconds.

    - `RateLimit: "default";r=<remaining>;t=<seconds>` — the live state: `r`
    requests left, quota resetting in `t` seconds.

    - Read the quota from the headers rather than hard-coding it; it differs per
    environment.

    - The same numbers are also sent as `ratelimit-limit`, `ratelimit-remaining`
    and `ratelimit-reset`.


    Once the quota is exhausted the API answers `429 Too Many Requests` with
    `Retry-After` set to the seconds to wait; honor it instead of retrying
    immediately.
  version: 1.0.0
servers:
  - url: https://api.duvo.ai
    description: Production server
security: []
tags:
  - name: Runs
    description: Start, monitor, and manage agent runs (Runs in the Duvo UI)
  - name: Sandboxes
    description: Create sandboxes and upload files for agent runs
  - name: Queues
    description: Manage queues and their agent bindings
  - name: Cases
    description: Create, list, and manage cases and their labels within queues
  - name: Case Approvals
    description: Submit decisions on pending case approval requests issued by an agent run
  - name: Case Attachments
    description: Upload, list, download, and remove the files attached to a case
  - name: Automations
    description: >-
      List and manage automations — the workspace container that groups the
      agents and queues making up one end-to-end process
  - name: Agents
    description: Create and manage agents for automation workloads
  - name: Revisions
    description: Create and manage agent revisions — the underlying Setup for an Agent
  - name: Agent Folders
    description: Organize agents into folders
  - name: Agent Memory
    description: Read an agent's memory files (the Memory feature in the Duvo UI)
  - name: Suggestions
    description: >-
      List, apply, and dismiss an Agent's improvement suggestions (the
      suggestions inbox in the Duvo UI)
  - name: Notifications
    description: >-
      List, read, dismiss, and clear the authenticated user's team notifications
      (the Notification Center in the Duvo UI)
  - name: Schedules
    description: List schedules configured for an agent
  - name: Duvo Pulse
    description: >-
      Create, list, iterate on, and delete Duvo Pulse dashboards — live,
      agent-generated visualizations of your Duvo data
  - name: Case Triggers
    description: >-
      Configure case triggers that automatically dispatch agent runs (Runs in
      the Duvo UI) for cases added to a queue
  - name: Triggers
    description: >-
      Configure event triggers that start a Run automatically when an external
      event fires (e.g. an email arrives, a Linear issue is created, or a file
      changes in Google Drive)
  - name: Skills
    description: Manage team and system skills (reusable knowledge packs).
  - name: Files
    description: Manage team files.
  - name: Plugins
    description: Discover plugins that can be referenced from a revision.
  - name: Organizations
    description: Inspect organizations you belong to and the teams within them
  - name: Team
    description: Inspect the team and members associated with the API key
  - name: Invites
    description: >-
      Invite people to a team — one at a time or in bulk, scoped to a Clarity
      process or the whole team — and manage the team's shareable invite link
  - name: Integrations
    description: Browse the team's catalog of available integration types
  - name: Connections
    description: Manage your connected integrations
  - name: Credentials
    description: >-
      Manage logins (domain + username + password + TOTP) used by agents to sign
      in to websites and desktop applications, and attach them to assignment
      revisions
  - name: Secrets
    description: >-
      Manage env-var secrets injected into runs, and attach them to assignment
      revisions. Only metadata is exposed; values are never returned
  - name: Revision Integrations
    description: >-
      Attach integrations to assignment revisions, pin specific connections, and
      link queues
  - name: ClarityV2
    description: >-
      Manage Clarity v2 process snapshots, automation proposals, and the
      extra-capture-request follow-up loop
paths:
  /v2/queues/{queue_id}/cases/bulk-update-status:
    post:
      tags:
        - Cases
      summary: Bulk Update Case Status
      description: >-
        Update the status of multiple cases to pending, completed, failed, or
        canceled. Interrupts any active runs and releases their case ownership,
        but never cancels their human-in-the-loop state — pending requests and
        open approval batches stay answerable/resolvable from the run view.
        Settling a case archives the pending requests on every run attached to
        it, both the runs this call interrupted and any that were already
        terminal, so they leave the activity inbox instead of outliving the case
        there. Resetting to pending archives nothing and re-dispatches cases to
        the queue's trigger consumer.
      operationId: bulkUpdateCaseStatus
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: queue_id
          required: true
          description: The queue's unique identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                case_ids:
                  description: >-
                    Explicit case IDs to act on (1-100). Provide this or set
                    all_matching.
                  minItems: 1
                  maxItems: 100
                  type: array
                  items:
                    type: string
                    format: uuid
                all_matching:
                  description: >-
                    When true, act on every case matching the provided
                    filters/search instead of an explicit id list.
                  type: boolean
                filters:
                  description: Filters selecting the cases when all_matching is true.
                  type: object
                  properties:
                    status:
                      type: array
                      items:
                        type: string
                        enum:
                          - all
                          - pending
                          - processing
                          - needs_input
                          - postponed
                          - needs_review
                          - resolved
                          - canceled
                          - claimed
                          - completed
                          - failed
                    issue_severity:
                      type: array
                      items:
                        type: string
                        enum:
                          - critical
                          - medium
                    awaiting_my_approval:
                      type: boolean
                    priority:
                      type: array
                      items:
                        type: string
                        enum:
                          - none
                          - medium
                          - high
                    created_at_from:
                      type: string
                    created_at_to:
                      type: string
                    updated_at_from:
                      type: string
                    updated_at_to:
                      type: string
                    labels:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: string
                    json_data:
                      maxItems: 12
                      type: array
                      items:
                        type: object
                        properties:
                          path:
                            type: string
                            pattern: ^\$(\.[A-Za-z_][A-Za-z0-9_]{0,63})+$
                          operator:
                            type: string
                            enum:
                              - equals
                              - notEquals
                              - in
                              - notIn
                              - gt
                              - gte
                              - lt
                              - lte
                              - contains
                              - isSet
                              - isNotSet
                          value:
                            anyOf:
                              - anyOf:
                                  - type: string
                                  - type: number
                                  - type: boolean
                              - minItems: 1
                                maxItems: 100
                                type: array
                                items:
                                  anyOf:
                                    - type: string
                                    - type: number
                                    - type: boolean
                        required:
                          - path
                          - operator
                        additionalProperties: false
                search:
                  description: >-
                    Free-text search selecting the cases when all_matching is
                    true.
                  type: string
                status:
                  type: string
                  enum:
                    - pending
                    - completed
                    - failed
                    - canceled
                  description: >-
                    Target status for each case. `completed`, `failed`, and
                    `canceled` are terminal — `canceled` records a deliberate
                    human stop, distinct from a system `failed`. `pending`
                    resets the case (the queue's trigger consumer, if any, will
                    re-claim it). `success` is not settable: it means an
                    evaluation passed.
              required:
                - status
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  updatedCount:
                    type: number
                  skippedCount:
                    type: number
                  interruptedRunIds:
                    type: array
                    items:
                      type: string
                      format: uuid
                required:
                  - updatedCount
                  - skippedCount
                  - interruptedRunIds
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Get your API key from the Duvo dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.