# precondition_failed

> The resource changed since you read it (If-Match), or an upload is already finalised and cannot change.

HTTP `412` · `retryable` is `false`

An update sent with `If-Match` names a version of the session that is no longer current, or bytes were sent to an
upload that is already finalised, whose content can never change.

**What to do:** for a session, read it again and retry with its current `ETag`. For an upload, create a new one.

## The response

Every error comes as `application/problem+json`; [Errors](/docs/errors) explains each field.

```json
{
  "type": "https://usekabu.com/docs/errors/precondition_failed",
  "title": "Precondition failed",
  "status": 412,
  "code": "precondition_failed",
  "detail": "…",
  "hint": "…",
  "retryable": false,
  "request_id": "req_…",
  "doc_url": "https://usekabu.com/docs/errors/precondition_failed"
}
```
