# route_not_found

> No such route

- Status: 404 Not Found
- Returned by: /api/public
- Operations: [getOnboardingLink](https://developers.rivr.io/reference/api-public/getOnboardingLink.md), [refreshOnboardingLink](https://developers.rivr.io/reference/api-public/refreshOnboardingLink.md)
- Retry (`retryWhen`): `after_fix`
- Did anything happen? (`outcome`): `none` (It did not happen)
- The request
- Page in the portal: https://developers.rivr.io/errors/route_not_found
- Try it: `GET https://developers.rivr.io/errors/simulate/route_not_found` answers with the code's exact wire form; `?succeedAfter=N&attempt=K` gives a 200 once `attempt` passes `N`

## What it means

There is no operation at this path. An id that isn't a UUID in a path that requires one, such as the onboarding links' in `/api/public`, doesn't match a route either. In `/api/public` a path that exists with another HTTP method gets the same answer, never `405`, and `title`, `status` and `detail` stay in the body as before.

## What your system does

Check the path and the method against the reference, and that the ids in the path are UUIDs.

## Is it worth retrying?

No, not without changing the call.

`retryWhen`: `after_fix`. Change the request first, as the code's page says: a value, the token, a header or a new key. Then send it.

## Did anything happen?

`outcome`: `none`. **It did not happen.** This call did not do what you asked for and changed nothing else that you can see or that concerns money. Where the code has an `outcomeNote`, it takes precedence.

## Example: /api/public

```http
HTTP/1.1 404 Not Found
Content-Type: application/problem+json

{
  "title": "Not Found",
  "status": 404,
  "detail": "No API route matches /api/public/orders/7b1e7c3a-2f4d-4a51-9c7e-5d0a6b8e2c14/nope.",
  "propertyName": null,
  "message": "There is no operation with this HTTP method at this path under /api/public.",
  "errorCode": "route_not_found",
  "code": "route_not_found",
  "type": "https://developers.rivr.io/errors/route_not_found"
}
```

The `title`, `detail`, `message` and `error_description` texts are exactly as the API writes them today.
