---
title: "List cases"
method: GET
path: "/v2/{tenant_slug}/cases"
tags: ["Cases"]
---

# List cases

`GET /v2/{tenant_slug}/cases`

## Request

- Base URL: `https://api.demo-retail.urbanfox.io`
- URL: `https://api.demo-retail.urbanfox.io/v2/{tenant_slug}/cases`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://api.demo-retail.urbanfox.io/v2/oauth/token` scopes: `read:cases`
- TypeScript: <https://skmtc.dev/urbanfox/apis/urbanfox-customer-api/docs/v2/:tenant_slug/cases/get.ts> (a function with typed inputs; its response is checked against the schema)

List fraud cases for a tenant, optionally filtered by account or status.

## Path parameters

- `tenant_slug` string, required: Tenant DNS slug (lowercase letters, digits, and hyphens; 3-100 characters).

## Query parameters

- `status` 'OPEN' | 'CLOSED'
- `website_account_id` string, nullable: Filter cases by the end-user account they originated from.
- `user_is_blocked` boolean, nullable: Filter cases by whether the associated end-user account is blocked.

## Response `200`

Successful Response

- APIResponseCaseListResponse
  - `data` CaseListResponse, required
    - `cases` CaseListItemResponse[], required: List of cases for the tenant
      - `case_id` string, required: Unique case identifier used in `/cases/{case_id}` paths
      - `website_account_id` string: Identifier of the end user's website account; defaults to `UNKNOWN` when the account cannot be resolved
      - `created_at` string, date-time, required: Time the case was opened (RFC 3339 / ISO 8601 UTC)
      - `status` 'OPEN' | 'CLOSED', required
      - `overall_risk_score` integer, required: Aggregate risk score across all fraud signals, on a 1-5 scale (1=lowest risk, 5=highest risk)
      - `case_version` integer: Current version of the case. An update advances it by one; newly created and legacy cases read as 0 until their first update.
      - `end_user_is_blocked` boolean: True when the end user account associated with this case is blocked from accessing services
      - `primary_fraud_label` string, nullable, required: Most significant fraud category for this case, as stored; `null` when none is recorded
      - `recommended_action` string, nullable: Suggested response action: MONITOR, CHALLENGE, BLOCK, or ESCALATE

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Request Validation Failed
- `500`: Internal Server Error

## Changes

- **2026-10-15** `2850fb315db8`: 2 info
  - added the optional property `data/cases/items/recommended_action` to the response with the `200` status
  - added the required property `data/cases/items/primary_fraud_label` to the response with the `200` status
- **2026-10-09** `2de840a1d07b`: 1 info
  - added the optional property `data/cases/items/end_user_is_blocked` to the response with the `200` status
- **2026-09-05** `bb2118aaf1af`: 1 info
  - added the optional property `data/cases/items/case_version` to the response with the `200` status

[Operation history](https://skmtc.dev/urbanfox/apis/urbanfox-customer-api/changes/v2/:tenant_slug/cases/get.md)

---

[API](https://skmtc.dev/urbanfox/apis/urbanfox-customer-api.md) - [All operations](https://skmtc.dev/urbanfox/apis/urbanfox-customer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/urbanfox/apis/urbanfox-customer-api/revisions/2850fb315db8?raw)
