---
title: "List cases"
method: GET
path: "/cases"
tags: ["Case"]
---

# List cases

`GET /cases`

List cases for the customer, optionally filtered by status, owner_type,
and owner_id.

## Query parameters

- `status` 'open' | 'closed'
- `owner_type` string
- `owner_id` string, uuid
- `page_size` integer
- `page_token` string

## Response `200`

Successful response.

- ContactManagerCaseListResponse
  - `result` ContactManagerCase[] — List of cases.
    - `id` string, uuid — Unique identifier for the case.
    - `customer_id` string, uuid — Unique identifier of the associated customer.
    - `peer_type` string — Remote endpoint type (e.g. "tel", "email") this case is scoped to.
    - `peer_target` string — Remote endpoint address (normalized, e.g. "+155****4567").
    - `reference_type` string — Origin channel type (e.g. "call", "conversation_message").
    - `contact_id` string, uuid — The resolved contact this case is attributed to. Nullable until resolved.
    - `owner_type` string — Type of the case owner.
    - `owner_id` string, uuid — ID of the case owner.
    - `status` 'open' | 'closed' — Case lifecycle status.
    - `opened_at` string, date-time — Timestamp when the case was opened. Nullable.
    - `closed_at` string, date-time — Timestamp when the case was closed. Nullable.
    - `closed_reason` string — Reason the case was closed (e.g. "agent_closed", "timeout").
    - `closed_by_type` string — Type of the actor that closed the case (e.g. "agent", "system").
    - `closed_by_id` string, uuid — ID of the actor that closed the case. Nullable.
    - `previous_case_id` string, uuid — ID of the prior (now-closed) case this case continues from, if any.
    - `tm_create` string, date-time — Timestamp when this case was created.
    - `tm_update` string, date-time — Timestamp when this case was last updated.
  - `next_page_token` string — Pagination token for the next page. Empty when no further pages exist.

## Other responses

- `400` — Invalid request (INVALID_ARGUMENT).
- `401` — Authentication required (UNAUTHENTICATED).
- `403` — Insufficient permission (PERMISSION_DENIED).
- `500` — Internal error (INTERNAL).

## Changes

- **2026-07-07** `b4f405c60dc3` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/voipbin/apis/voipbin-api/changes/cases/get.md)

---

[API](https://skmtc.dev/voipbin/apis/voipbin-api.md) · [All operations](https://skmtc.dev/voipbin/apis/voipbin-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/voipbin/voipbin-api/revisions/b4f405c60dc3/schema)
