> For the complete documentation index, see [llms.txt](https://docs.monolithforensics.com/monolith/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.monolithforensics.com/monolith/monolith-api-and-webhooks/cases-api/update-case.md).

# Update Case

Update supported fields on an existing Monolith Case using its UUID.

The **Update Case** endpoint updates supported fields on an existing Case identified by its UUID.

Only fields included in the request body are updated.

### Endpoint

```
PUT /api/v1/cases/:uuid
```

All requests require a valid API key in the `X-API-KEY` request header.

Because this endpoint accepts JSON data, include the following content type:

```
Content-Type: application/json
```

See [**Authentication**](/monolith/monolith-api-and-webhooks/api-access/authentication.md) for additional API authentication guidance.

### Path Parameters

| Name   | Type     | Required | Description                 |
| ------ | -------- | -------- | --------------------------- |
| `uuid` | `string` | **Yes**  | UUID of the Case to update. |

### Body Parameters

Only the supported fields below are accepted. Unknown fields return an HTTP `400` response.

| Name               | Type      | Required | Validation / Behavior                                                      |
| ------------------ | --------- | -------- | -------------------------------------------------------------------------- |
| `case_name`        | `string`  | No       | Maximum length `255`. Cannot contain `+`, `<`, `>`, `:`, `"`, `/`, or `\`. |
| `case_number`      | `string`  | No       | Maximum length `255`. Uses the same character restrictions as `case_name`. |
| `description`      | `string`  | No       | Maximum length `2000`.                                                     |
| `status`           | `string`  | No       | Maximum length `255`.                                                      |
| `type`             | `string`  | No       | Maximum length `255`.                                                      |
| `case_lead_id`     | `integer` | No       | Must be a positive integer.                                                |
| `client_id`        | `integer` | No       | Must be a positive integer.                                                |
| `case_open_date`   | `string`  | No       | Must use the `YYYY-MM-DD` format and contain a valid calendar date.        |
| `case_closed_date` | `string`  | No       | Must use the `YYYY-MM-DD` format and contain a valid calendar date.        |

### Successful Response

A successfully updated Case returns an HTTP `200` response.

```json
{
  "success": true,
  "message": "Case updated successfully",
  "case_id": 123
}
```

### Error Responses

#### 400 - Validation Error

A request containing unsupported or invalid data returns an HTTP `400` response.

```json
{
  "message": "Invalid case data",
  "success": false,
  "errors": [
    {
      "message": "Invalid date format for case_open_date, must be YYYY-MM-DD"
    }
  ]
}
```

#### 400 - Case Not Found

If the supplied UUID does not resolve to an existing Case, the API returns an HTTP `400` response.

```json
{
  "message": "Case not found",
  "success": false
}
```

#### 500 - Server Error

An unexpected server error may return an HTTP `500` response.

```json
{
  "message": "Error updating case",
  "success": false
}
```

### Example Request

The following example updates several fields on an existing Case.

```bash
curl -X PUT "<api-base-url>/cases/<case-uuid>" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: <api-key>" \
  -d '{
    "case_name": "Updated Case Name",
    "description": "Updated synopsis",
    "status": "Closed",
    "type": "Investigation",
    "case_closed_date": "2026-02-25"
  }'
```

Replace `<api-base-url>` with the `/api/v1` base URL for your Monolith environment and `<case-uuid>` with the UUID of the Case you want to update.

See [**API Endpoints**](/monolith/monolith-api-and-webhooks/api-access/api-endpoints.md) for the correct API base URL.

### Related Documentation

* [**Cases API Summary**](/monolith/monolith-api-and-webhooks/cases-api/summary.md)
* [**Get Cases**](/monolith/monolith-api-and-webhooks/cases-api/get-cases.md)
* [**Create Case**](/monolith/monolith-api-and-webhooks/cases-api/create-case.md)
* [**Delete Case**](/monolith/monolith-api-and-webhooks/cases-api/delete-case.md)
* [**Authentication**](/monolith/monolith-api-and-webhooks/api-access/authentication.md)
* [**API Endpoints**](/monolith/monolith-api-and-webhooks/api-access/api-endpoints.md)
