> ## 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 not provisioned

> The `X-Exo-Subject` selector names a subject this organization has never provisioned.

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

**HTTP status: `403` Forbidden**.

```json theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "type": "https://docs.get-exo.com/errors/subject_not_provisioned",
  "title": "Subject not provisioned",
  "status": 403,
  "detail": "Subject 'customer_6412' is not provisioned for this organization.",
  "code": "subject_not_provisioned",
  "requestId": "req_9f2c41ab7d0e5c18",
  "suggestedAction": "Provision the subject first with PUT /v1/subjects/{subjectId}, or omit the subject selector to act as the key owner."
}
```

## Why it happens

The subject seam runs before your route. An unknown selector, or one that does not match the permitted character set, is refused here rather than silently falling back to the key owner, because a silent fallback would write one end user's content into another's partition.

It is a 403 rather than a 404 because the selector is a permission question: this credential may not act as that subject.

## How to fix it

* Provision the subject once with `PUT /v1/subjects/{subject_id}`, then retry. Provisioning is idempotent.
* Omit `X-Exo-Subject` to act as the key owner.
* Check the id against `GET /v1/subjects`.

## Related

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