Error codes
When a call fails, Orvano answers with a problem details body whose type is the link to the code’s page here, for example https://orvano.dev/errors/user_not_found. Every SDK throws one error type with that code; Errors explains how to catch it.
| Code | HTTP status | What it means |
|---|---|---|
already_member |
409 | That email’s console account is already a member of the org. |
console_session_required |
401 | A /v1/console call without a valid console session, or with an API key or app session. |
csrf_rejected |
403 | A console call that changes something came from another site. |
email_already_in_use |
409 | Another user of the project has this email. |
email_already_verified |
409 | The email is already verified. |
email_not_configured |
409 | Neither the project nor the install has an SMTP server set up. |
email_rate_limited |
429 | The project sent too many emails through the install’s SMTP server this hour; wait for Retry-After. |
forbidden |
403 | Your console role does not allow this action. |
insufficient_scope |
403 | The API key lacks the scope this operation needs. |
internal_error |
500 | Any failure the server did not expect. |
invalid_api_key |
401 | The API key is unknown, expired, or belongs to another project. |
invalid_code |
401 | The email code is wrong, expired, or used up; ask for a new one after 5 wrong tries. |
invalid_credentials |
401 | The email and password do not match a user, or the password given to confirm an action is wrong. |
invalid_cursor |
400 | A pagination cursor the server can’t read. |
invalid_email_token |
401 | The email link’s token is unknown, already used, expired, or replaced by a newer email. |
invalid_password |
400 | The password is not 8 to 256 characters after Unicode NFKC normalization. |
invalid_refresh_token |
401 | The refresh token is malformed, reused, or its session has ended or expired; sign in again. |
invalid_request |
400 | A bad parameter or body. |
invalid_token |
401 | The access token is malformed, signed by an unknown key, for another project, or its session has ended. |
invitation_email_mismatch |
403 | The invitation is for another email than the console account using it. |
invitation_expired |
410 | The invite link has expired; ask an org owner for a new one. |
invitation_limit |
409 | The org already holds 100 invitations; revoke some first. |
invitation_not_found |
404 | The invite link is unknown, already used, replaced, or revoked. |
last_owner |
409 | The action would leave an org without an owner. |
not_found |
404 | No such route or resource. |
org_not_active |
409 | The org is being deleted, so it and its projects can’t change until it is restored. |
org_not_empty |
409 | The org still has projects that are not being deleted. |
origin_not_allowed |
403 | The browser origin matches none of the project’s web platforms. |
project_not_found |
404 | The project is unknown, purged, being deleted, or not yours to see. |
project_not_ready |
409 | The project is still provisioning, or provisioning failed. |
rate_limited |
429 | Too many requests; wait for the number of seconds in Retry-After. |
reauthentication_required |
403 | A user without a password must sign in again, by link or code, within 10 minutes before this action. |
redirect_url_not_allowed |
400 | The redirect URL is malformed, or its host or scheme is not a platform of the project. |
server_busy |
503 | The server is too busy to check a password right now; retry after Retry-After. |
session_not_found |
404 | No such session for this user. |
session_required |
401 | The operation needs a signed in user’s access token in Authorization: Bearer. |
setup_token_invalid |
403 | The first console sign up on an install needs its setup token, and none or the wrong one was given. |
signup_closed |
403 | Console sign up is invite only and no valid invitation was given. |
smtp_auth_failed |
502 | The SMTP server refused the username or password. |
smtp_host_not_allowed |
400 | A project’s SMTP host is, or resolves to, an address outside the public internet. |
smtp_rejected |
502 | The SMTP server refused the email; detail carries its reply. |
smtp_timeout |
504 | The SMTP server did not answer in time. |
smtp_tls_failed |
502 | The secure connection to the SMTP server failed: a bad certificate, or STARTTLS is not offered. |
smtp_unreachable |
502 | The SMTP server could not be reached: the name did not resolve, or the connection was refused or reset. |
template_invalid |
422 | An email template failed to parse, names an unknown variable or filter, or is too costly to render. |
token_expired |
401 | The access token has expired; refresh the session and try again. |
user_already_exists |
409 | A user with this email already exists in the project. |
user_blocked |
403 | The user is blocked. |
user_not_found |
404 | No such user in the project. |