# unknown_endpoint (/en/docs/errores/unknown_endpoint)

That method and path are not part of this API.

|                |                                                          |
| -------------- | -------------------------------------------------------- |
| **Code**       | `unknown_endpoint`                                       |
| **Type**       | `not_found_error` — Does not exist under this credential |
| **HTTP**       | `404`                                                    |
| **Retriable?** | No                                                       |

## What to do [#what-to-do]

The full contract is at [https://docs.facturia.cl/openapi.yaml](https://docs.facturia.cl/openapi.yaml) — every path, every schema, codegen-ready. `/v1` evolves additively and never silently moves a route. The `/account/*` and `/dashboard/*` paths — how you get an account and your first key, with no key in hand — are a SEPARATE document: [https://docs.facturia.cl/openapi-bootstrap.yaml](https://docs.facturia.cl/openapi-bootstrap.yaml). `error.details.contract` names whichever of the two covers the path you asked for, and `error.details.did_you_mean` names the closest route we serve when you missed by a character or two.

> **Warning**
>
> Retrying the same request will fail the same way. Change the request, not the frequency.

## The envelope [#the-envelope]

```json
{
  "error": {
    "type": "not_found_error",
    "code": "unknown_endpoint",
    "message": "…",
    "hint": "The full contract is at https://docs.facturia.cl/openapi.yaml — every path, every schema, codegen-ready. `/v1` evolves additively and never silently moves a route. The `/account/*` and `/dashboard/*` paths — how you get an account and your first key, with no key in hand — are a SEPARATE document: https://docs.facturia.cl/openapi-bootstrap.yaml. `error.details.contract` names whichever of the two covers the path you asked for, and `error.details.did_you_mean` names the closest route we serve when you missed by a character or two.",
    "retriable": false,
    "doc_url": "https://docs.facturia.cl/errors/unknown_endpoint",
    "request_id": "req_01K2R7Q9M4T2VB"
  }
}
```

Program against `code`, never against `message` — the prose can be rewritten, the code cannot (§5.8).

`hint` and `retriable` arrive in the response with these exact values: they are a function of `code` and come from the same dictionary `GET /v1/error_codes` serves, so the envelope and the dictionary cannot disagree. Both are English on the wire by design — one registry, one language. More in [The error envelope](/en/docs/errores).

## See also [#see-also]

- [Every code](/en/docs/errores/codigos): The full table, grouped by where you will run into it.

- [The error envelope](/en/docs/errores): The nine types, the request_id and how to handle them in practice.

The machine-readable copy of this page lives at `GET /v1/error_codes`, unauthenticated.
