On the wire
Ships with HTTP status 400, carrying "code": "RU-3012" in the response body alongside the human-readable error message. Existing fields are never replaced by the code: it is additive.
Common causes
- Omitting from or to, or sending one that Date.parse can't read.
- from at or after to.
- A check_ids entry that isn't a UUID, or more ids than the endpoint accepts in one call.
- A step outside the endpoint's accepted range, or written in a unit other than s/m/h/d.
- A cursor copied from somewhere other than a previous response's next_cursor.
How to fix it
- Read the `error` field for the failing parameter.
- Compare the request against the API docs at /docs/api, "GET /checks/results".
- Pass cursor exactly as returned in a previous response's next_cursor, never hand-constructed.
Related codes
Still stuck?
Ask support and mention RU-3012: the code pins down the exact refusal path, so you skip the diagnostic back-and-forth.