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

# Case management

> Create, update, and submit fraud cases (expedientes) to regulators.

A **case** (expediente) is the regulatory record of a fraud incident. Cases are often created automatically by [`report-fraud`](/guides/report-fraud), but you can also create and manage them directly.

<Note>
  Case endpoints belong to the **management surface** and authenticate with a dashboard session JWT, not API keys. See [Authentication](/concepts/authentication).
</Note>

## Lifecycle

```
borrador → en_revision → enviado → resuelto
                                 ↘ archivado
```

| Status        | Meaning                      |
| ------------- | ---------------------------- |
| `borrador`    | Draft, still being assembled |
| `en_revision` | Under internal review        |
| `enviado`     | Submitted to the regulator   |
| `resuelto`    | Resolved                     |
| `archivado`   | Archived                     |

## Create a case

```bash theme={null}
curl -X POST "$CLAUSUM_API_BASE/api/v1/cases" \
  -H "Authorization: Bearer $DASHBOARD_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "incident_date": "2026-05-20",
    "incident_type": "transferencia_no_autorizada",
    "amount": 250000,
    "currency": "CLP",
    "jurisdiction": "CL",
    "victim_name": "Jane Doe",
    "victim_email": "jane@example.com",
    "priority": "alta",
    "description": "Unauthorized wire transfer following phishing."
  }'
```

### Jurisdictions & currencies

| Jurisdiction | Country   | Common currency |
| ------------ | --------- | --------------- |
| `CL`         | Chile     | `CLP`           |
| `MX`         | Mexico    | `MXN`           |
| `BR`         | Brazil    | `BRL`           |
| `PE`         | Peru      | `PEN`           |
| `CO`         | Colombia  | `COP`           |
| `UY`         | Uruguay   | `UYU`           |
| `AR`         | Argentina | `ARS`           |

Incident types: `phishing`, `ingenieria_social`, `transferencia_no_autorizada`, `robo_identidad`, `fraude_interno`, `otro`.

## List & filter

```bash theme={null}
curl "$CLAUSUM_API_BASE/api/v1/cases?status=en_revision&jurisdiction=CL&limit=50" \
  -H "Authorization: Bearer $DASHBOARD_JWT"
```

Supports `status`, `priority`, `jurisdiction`, `search`, `from_date`, `to_date`, `limit`, `offset`, `sort_by`, and `sort_order`.

## Update a case

```bash theme={null}
curl -X PATCH "$CLAUSUM_API_BASE/api/v1/cases/$CASE_ID" \
  -H "Authorization: Bearer $DASHBOARD_JWT" \
  -H "Content-Type: application/json" \
  -d '{ "status": "en_revision", "priority": "urgente" }'
```

## Submit to the regulator

```bash theme={null}
curl -X POST "$CLAUSUM_API_BASE/api/v1/cases/$CASE_ID/submit" \
  -H "Authorization: Bearer $DASHBOARD_JWT"
```

Returns `409 Conflict` if the case was already submitted.

## Statistics

Get aggregated counts for dashboards:

```bash theme={null}
curl "$CLAUSUM_API_BASE/api/v1/cases/stats" \
  -H "Authorization: Bearer $DASHBOARD_JWT"
```

```json theme={null}
{
  "total": 128,
  "by_status": { "borrador": 12, "en_revision": 30, "enviado": 70, "resuelto": 16 },
  "by_priority": { "baja": 20, "normal": 60, "alta": 38, "urgente": 10 },
  "total_amount": 48750000
}
```

## Evidence & transactions

Each case can hold evidence and linked transactions:

* `GET/POST /api/v1/cases/{id}/evidence`
* `GET/POST /api/v1/cases/{id}/transactions`
* `GET /api/v1/cases/{id}/activity` — paginated activity log

Explore them in the [API Reference](/api-reference/introduction).
