# slow_down

The device polled faster than its interval allows (RFC 8628 §3.5).

## Meaning

Sent by `/token` when a device polls with its `device_code` sooner than the current
interval after its previous poll. The server adds five seconds to the stored interval
each time, and the larger interval applies to every later poll.

## Impact

Normal protocol flow; the flow continues. A device that ignores it keeps getting it,
and waits ever longer.

## Diagnosis

The refusal is recorded under `oauth.token.issued` with reason `slow_down` and cause
`polling_too_fast`. Compare the device's poll timing with the `interval` it was given
(5 seconds) plus five seconds per `slow_down`.

## Mitigation

- As a client developer: add five seconds to your interval on every `slow_down` and keep
  the new interval for the rest of the flow.
- As an operator: nothing to do.
- As a user: nothing to do; approve on the `/device` screen as usual.

## Escalation

If a device that waits its interval still gets it, check the clocks of the server
replicas, then open an issue with the request id and the server version.

---

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