# account_required

> The clinic has no Rivr account

- Status: 302 Found
- Returned by: The account connection (/oauth)
- Retry (`retryWhen`): `never`
- Did anything happen? (`outcome`): `none` (It did not happen)
- The account connection
- Page in the portal: https://developers.rivr.io/errors/account_required
- Try it: `GET https://developers.rivr.io/errors/simulate/account_required` answers with the code's exact wire form; `?succeedAfter=N&attempt=K` gives a 200 once `attempt` passes `N`

## What it means

The person chose **We have no Rivr account** on Rivr's page, and the browser comes back to your address with `?error=account_required&state=…`. Nothing is connected. The choice is the person's own: Rivr hasn't checked that the clinic has no account. It is there when onboarding links are switched on for your platform and your client has the scope `public:onboarding:write`.

## What your system does

Check `state` and start an onboarding with `POST /api/public/onboarding-links`, as in the guide Connect a clinic from your system. Once the agreement is signed the clinic ends up under your platform, so no connection is needed afterwards. Exceptions: a dormant clinic that already stands under another system or none picks for itself, and so does a clinic whose onboarding you got back from the platform portal. If the clinic is already a customer it is told so in Rivr's flow, and the onboarding never becomes `signed`. Then the connection applies.

## Is it worth retrying?

No, not without changing the call.

`retryWhen`: `never`. Don't send it again. The answer is final for this request: read the current state, the order for example, and act on that.

## 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: The account connection (/oauth)

```http
HTTP/1.1 302 Found
Location: https://journal.example.com/rivr/callback?error=account_required&state=example-state-from-your-session-32-bytes
Cache-Control: no-store
```

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