# not_found

No such resource, or the request names nothing the server serves (404).

## Meaning

- Any `/v1/` path no operation serves.
- An admin API resource that does not exist in the organization: a user, client,
  session or organization (for a caller with platform reach; others get
  `forbidden` for an unknown slug).
- A sign-in (`POST /v1/auth/sign-in` or passkey sign-in) that names no client
  registered in the organization, checked before the password.
- A device code that is unknown or expired at `/v1/auth/device/verify` or
  `/v1/auth/device/decision`.

## Impact

A user reaching the sign-in screen without an application sees "Return to your app".
A wrong or expired device code is expected now and then. An admin-API caller with a
stale id gets it after a deletion. A sign-in that always gets it means the client's
sign-in link is wrong.

## Diagnosis

1. Check the path and ids against the API reference.
2. Look the request id up on the Troubleshooting page: a sign-in without a client is
   recorded as `auth.sign_in.completed` with reason `unregistered_client`.
3. For a user id, an id from another organization answers as if it did not exist.

## Mitigation

- As a user: start from the application again, or ask the device for a new code.
- As a client developer: start sign-in through `/authorize` with your registered
  `client_id`, not by linking to the sign-in page.
- As an admin-API caller: refresh your list; the resource is gone or in another
  organization.

## Escalation

Escalate when a resource that exists, in the right organization, answers 404. Open an
issue with the request id, the path and the server version.

---

[Problem code runbooks](https://www.nauthera.io/docs/v1/runbooks/problems) · Generated from [`internal/runbook/problems.yaml`](https://github.com/nauthera/nauthera-server/blob/main/internal/runbook/problems.yaml) in nauthera-server.
