---
title: "Create Cases"
method: POST
path: "/v2/queues/{queue_id}/cases"
tags: ["Cases"]
---

# Create Cases

`POST /v2/queues/{queue_id}/cases`

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`, and optional labels that will be assigned to the case on creation (missing labels are created on the queue).

## Path parameters

- `queue_id` string, uuid, required

## Request body

- object
  - `case` object
    - `title` string, required — Short title for the case (max 500 characters). Put long context in `data`.
    - `data` string — Additional data for the case. Free-form text or JSON; Agents receive this on claim.
    - `labels` object[] — Optional labels to assign to the case at creation. Labels are created on the queue if they don't already exist.
      - `key` string — Label key (omit for a simple tag).
      - `value` string, required — Label value (required).
  - `cases` object[]
    - `title` string, required — Short title for the case (max 500 characters). Put long context in `data`.
    - `data` string — Additional data for the case. Free-form text or JSON; Agents receive this on claim.
    - `labels` object[] — Optional labels to assign to the case at creation. Labels are created on the queue if they don't already exist.
      - `key` string — Label key (omit for a simple tag).
      - `value` string, required — Label value (required).

## Response `201`

Default Response

- object
  - `added_cases` object[], required
    - `id` string, uuid, required
    - `queue_id` string, uuid, required
    - `title` string, required
    - `data` string, required
    - `status` 'pending' | 'completed' | 'failed', required
    - `display_status` 'pending' | 'in_progress' | 'needs_input' | 'postponed' | 'completed' | 'failed', required
    - `claimed_at` string, nullable, required
    - `claimed_by_run_id` string, nullable, required
    - `completed_at` string, nullable, required
    - `postponed_to` string, nullable, required
    - `created_at` string, required
    - `updated_at` string, required
    - `created_by_user_id` string, uuid, nullable, required
    - `created_by_user_name` string, nullable, required
    - `created_by_user_email` string, nullable, required
    - `agent_run_status` string, nullable, required
    - `agent_run_user_id` string, uuid, nullable, required
    - `pending_human_request_id` string, uuid, nullable, required
    - `pending_approval_batch_id` string, uuid, nullable, required
    - `pending_approval_assignee_user_ids` string[], required
    - `approval_approved_count` integer, required
    - `approval_rejected_count` integer, required
    - `eval_summary` object, nullable
      - `passed` number, required
      - `total` number, required
      - `final_comment` string
      - `status` 'ready' | 'unavailable' | 'in_progress', required
      - `severityCounts` object
        - `critical` integer, required
        - `medium` integer, required
        - `low` integer, required
    - `search_match_data_snippet` object
      - `before` string, required
      - `match` string, required
      - `after` string, required
    - `labels` object[], required
      - `id` string, uuid, required
      - `key` string, required
      - `value` string, required
      - `color_hue` integer, required

## Other responses

- `400` — Default Response
- `401` — Default Response
- `404` — Default Response
- `500` — Default Response

---

[API](https://skmtc.net/duvo/apis/duvo-public-api.md) · [All operations](https://skmtc.net/duvo/apis/duvo-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/duvo/duvo-public-api/versions/dafcf3d868a9/schema)
