### `200 Case file`

**object**

A file attached to a case. Status-dependent fields are always present but may be `null`:

- `upload_url`, `upload_url_expires`, and `upload_constraints` are populated when `status` is `PENDING` or `REJECTED`
- `download_url` and `download_url_expires` are populated when `status` is `READY`
- `failure_reason` is populated when `status` is `REJECTED`

#### Parameters

- **token**  
  `uuid`  
  _required_  
  Globally unique identifier for the file

- **name**  
  `string`  
  _required_  
  Name of the file

- **mime_type**  
  `string | null`  
  _required_  
  MIME type of the file, available once the file is ready

- **size_bytes**  
  `int64 | null`  
  _required_  
  Size of the file in bytes, available once the file is ready

- **status**  
  `string`  
  _enum_  
  _required_  
  Lifecycle status of a case file:
  - `PENDING` - An upload URL has been issued and the file is awaiting upload
  - `READY` - The file has been uploaded and validated; a download URL is available
  - `REJECTED` - File validation failed; see `failure_reason` for details

- **upload_url**  
  `string | null`  
  _required_  
  Presigned URL the client uses to upload the file

- **upload_url_expires**  
  `date-time | null`  
  _required_  
  Date and time at which the upload URL expires

- **upload_constraints**  
  _required_  
  Constraints that the uploaded file must satisfy

- **download_url**  
  `string | null`  
  _required_  
  Presigned URL the client uses to download the file

- **download_url_expires**  
  `date-time | null`  
  _required_  
  Date and time at which the download URL expires

- **failure_reason**  
  `string | null`  
  _required_  
  Reason the file was rejected, when applicable

- **created**  
  `date-time`  
  _required_  
  Date and time at which the file record was created

- **updated**  
  `date-time`  
  _required_  
  Date and time at which the file record was last updated

### Example Response
```json
{
  "token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "string",
  "mime_type": "string",
  "size_bytes": 0,
  "status": "PENDING",
  "upload_url": "string",
  "upload_url_expires": "2026-07-18T00:25:55.829Z",
  "upload_constraints": {
    "accepted_mime_types": [
      "string"
    ],
    "max_size_bytes": 0
  },
  "download_url": "string",
  "download_url_expires": "2026-07-18T00:25:55.829Z",
  "failure_reason": "string",
  "created": "2026-07-18T00:25:55.829Z",
  "updated": "2026-07-18T00:25:55.829Z"
}
```
