REFERENCE
Errors and limits
What the API answers when it does not answer yes, and how fast you can call it.
The shape of an error
Always JSON, always a sentence, often a code:
402
{
"error": "This month's free calls are used. Add a card at developer.rikaido.app to keep calling.",
"code": "payment-required"
}| Status | code | What to do |
|---|---|---|
400 | The body does not hold. The sentence names the field. | |
401 | invalid-key | The key is unknown, malformed or revoked. A session token (not rk_live_) goes through the app, not here. |
402 | payment-required | The month’s free calls are used. Add a card in the console. |
413 | too-large | The source exceeds 60,000 characters. |
422 | no-recipe | Nothing to read. |
429 | Slow down; the limit is per account, per minute. | |
503 | auth_unavailable, usage-unavailable | The key or usage store did not answer. Retry; the call was not counted. |
Limits
| Route | Per minute |
|---|---|
POST /v1/harness/validate | 60 |
POST /v1/harness/read | 10 |
Limits are per account, all keys together. A 429 is not counted.
What is never guessed
A 503 reading your constraints or your usage refuses the call rather than answering with a check that never ran. A clean answer on a check that did not happen is the one thing a harness must never give.