Skip to main content
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.

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.