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

# Subject mapping invalid

> The subject's internal mapping is not in a state Exo will erase from.

This page is the resolution target of the RFC 9457 `type` URI on every `subject_mapping_invalid` problem body: `https://docs.get-exo.com/errors/subject_mapping_invalid`.

**HTTP status: `409` Conflict**.

```json theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "type": "https://docs.get-exo.com/errors/subject_mapping_invalid",
  "title": "Subject mapping invalid",
  "status": 409,
  "detail": "The subject mapping is corrupt.",
  "code": "subject_mapping_invalid",
  "requestId": "req_9f2c41ab7d0e5c18"
}
```

## Why it happens

Erasing a subject deletes tenant rows, the mapping and the internal user. Before touching anything, Exo checks that the mapping points at a service user, which is what a provisioned subject always is.

If it does not, the operation aborts before a single row is removed. A partial erasure is worse than a refused one.

## How to fix it

* Do not retry: the state will not change on its own.
* Quote the `requestId` and the subject id when you report it. This indicates a mapping that needs repair rather than a client mistake.

## Related

* [`subject_not_found`](/errors/subject_not_found)
* [`conflict`](/errors/conflict)
* [Errors](/platform/errors) for the envelope and the full catalogue
