Error codes
A refused request to an RTRobotics API answers application/problem+json (RFC 9457). Branch on code: each code has one HTTP status and one title. detail is for a person and its wording may change. Quote request_id when asking for help.
| Code | HTTP status | Title |
|---|---|---|
account_closed | 409 | Account is closed |
account_forbidden | 403 | Not a member of this account |
account_inactive | 403 | Account is suspended or closed |
account_limit | 409 | Owner already has the most accounts allowed |
account_mismatch | 403 | Resource belongs to another account |
account_not_closed | 409 | Account is not closed |
account_pays_for_others | 409 | Account pays for other accounts |
account_required | 409 | An account must be chosen |
accounts_unavailable | 503 | Accounts service is temporarily unavailable |
alias_taken | 409 | Alias is already taken |
already_member | 409 | User is already a member |
already_owner | 409 | User is already the owner |
already_released | 409 | Rental is already released |
already_scheduled | 409 | Another price version is already scheduled |
api_not_enabled | 403 | Studio API is not enabled for the account |
attribute_denied | 403 | Resource is outside the caller's scope |
audio_too_large | 413 | Audio file is too large |
audio_too_long | 413 | Audio is too long |
bad_gateway | 502 | An upstream service failed |
bad_pubkey | 422 | Public key is not valid |
bad_pubkey_sig | 422 | Public key signature does not verify |
bad_request | 400 | Request could not be read |
bad_signature | 401 | Signature does not verify |
billing_unavailable | 503 | Billing is temporarily unavailable |
capability_denied | 403 | Role lacks the required capability |
channel_rollback | 409 | Channel would move to an older release |
compute_capacity | 503 | No GPU capacity is available |
compute_held | 403 | Eyrie Compute is on hold |
compute_not_enabled | 403 | Eyrie Compute is not enabled for the account |
compute_quota | 409 | GPU rental quota is reached |
compute_unavailable | 503 | GPU rental is temporarily closed |
concurrent_job_quota_exceeded | 409 | Concurrent job quota is reached |
conflict | 409 | Request conflicts with the current state |
credential_not_found | 404 | No such sign-in credential |
credential_not_removable | 409 | Credential cannot be removed |
credential_rate_limited | 429 | Too many credential changes |
credentials_unavailable | 503 | Job credentials are temporarily unavailable |
credits_out_of_range | 422 | Credit amount is out of range |
dataset_not_committed | 409 | Dataset upload is not committed |
dataset_quota_exceeded | 409 | Dataset quota is reached |
deadline_exceeded | 504 | Request took too long |
delivery_in_progress | 409 | Delivery is still in progress |
device_busy | 409 | Device is busy in another session |
device_not_found | 404 | No such device |
device_suspended | 403 | Device is suspended |
draft_locked | 409 | Draft is being changed by another request |
effective_at_past | 422 | Effective time is in the past |
email_taken | 409 | Email is already taken |
empty_audio | 422 | Audio is empty |
event_conflict | 409 | Event was already recorded differently |
flight_overlaps | 409 | Flight overlaps another flight |
forbidden | 403 | Not allowed |
guest_limit | 429 | Room has the most guests allowed |
hold_closed | 409 | Credit hold is already closed |
hourly_credit_ceiling | 429 | Hourly credit ceiling is reached |
hours_out_of_range | 422 | Rental hours are out of range |
idempotency_in_progress | 409 | Original request is still in progress |
idempotency_key_invalid | 400 | Idempotency key is not valid |
idempotency_key_required | 400 | Idempotency key is required |
idempotency_key_reuse | 422 | Idempotency key was used for a different request |
identity_rejected | 422 | Identity service rejected the profile |
identity_unavailable | 503 | Identity service is temporarily unavailable |
incompatible | 409 | Link protocol versions do not overlap |
inspection_unavailable | 503 | Package inspection is temporarily unavailable |
insufficient_credits | 402 | Not enough credits |
internal | 500 | Something went wrong |
internal_account | 409 | Internal account cannot be closed or purged |
invalid_audio | 422 | Audio could not be decoded |
invalid_bundle | 422 | Bundle is not valid |
invalid_quantity | 422 | Quantity is not valid |
invalid_registration | 422 | Registration was rejected |
invalid_ssh_key | 422 | SSH public key is not valid |
invalid_subject_token | 400 | Subject token is not valid |
invalid_tag | 422 | Tag value is not valid |
invitation_expired | 410 | Invitation has expired |
invitee_not_found | 404 | Invitee has no account |
job_active | 409 | Job is still active |
job_terminal | 409 | Job has already finished |
library_full | 409 | Mission library is full |
mac_exists | 409 | MAC address is already registered |
malformed_version | 422 | Price version is malformed |
managed_cannot_own | 409 | Managed users cannot own an account |
managed_user | 403 | Managed users cannot do this |
media_unavailable | 503 | Media server is temporarily unavailable |
meter_denied | 403 | Service may not charge this meter |
method_not_allowed | 405 | Method is not allowed |
mission_deleted | 410 | Mission was deleted |
mixed_services | 422 | Lines belong to more than one service |
needs_confirmation | 409 | Confirmation is required |
no_account | 403 | User belongs to no usable account |
no_billing_customer | 404 | Account has no billing customer yet |
no_node_available | 503 | No relay node is available |
no_session_pending | 404 | No session is waiting |
node_unavailable | 409 | Pinned node is not available |
not_a_bundle | 422 | Upload is not a bundle archive |
not_a_member | 422 | User is not a member of the account |
not_activatable | 409 | Price version cannot be activated |
not_configured | 404 | Service is not available in this environment |
not_draft | 409 | Price version is not a draft |
not_found | 404 | Resource was not found |
not_scheduled | 409 | Price version is not scheduled |
offer_gone | 409 | Offer is no longer available |
operator_not_authorized | 403 | Operator token is missing |
out_of_credits | 402 | Account has no credits left |
own_credential | 409 | Staff cannot remove their own credential here |
owner_protected | 403 | Owner cannot be changed or removed |
ownership_changed | 409 | Ownership changed during the request |
pair_disabled | 409 | Pair is disabled |
pair_not_found | 404 | No such pair |
password_rejected | 422 | Password does not meet the policy |
payer_differs | 409 | Plan is paid by another account |
payer_forbidden | 403 | Billing rights are needed at the paying account |
payload_too_large | 413 | Request body is too large |
peer_key_mismatch | 422 | Peer key does not match the pair |
pipeline_unpriced | 422 | Pipeline has no price |
plan_change_refused | 409 | Plan change was refused |
plan_current | 409 | Account is already on this plan |
platform_admin_required | 403 | Platform administrators only |
precondition_required | 428 | A revision precondition is required |
preset_exists | 409 | Preset name already exists |
price_changed | 409 | Offer price has changed |
pricing_unavailable | 503 | Pricing is temporarily unavailable |
product_token_exchange_failed | 502 | Token exchange for the service failed |
provider_unavailable | 502 | GPU provider failed |
pubkey_exists | 409 | Public key is already registered |
published_at_mismatch | 409 | Publication time differs from the signed one |
purchase_required | 402 | A credit purchase is required first |
rate_limited | 429 | Too many requests |
reason_required | 422 | A reason is required |
recipient_changed | 409 | Recipient changed during the request |
registration_rate_limited | 429 | Too many registrations |
registration_unavailable | 503 | Registration is temporarily unavailable |
release_channels_changed | 409 | Release channels changed during the request |
release_empty | 409 | Release has no artifacts |
release_in_use | 409 | Release is still on a channel |
release_signed | 409 | Release is already signed |
rental_closed | 409 | Rental is closed |
rental_starting | 409 | Rental is still starting |
rentals_open | 409 | GPU rentals are still open |
resource_gone | 410 | Resource is no longer available |
resync_required | 409 | Client must resynchronise from scratch |
revision_conflict | 412 | Resource changed since the revision sent |
role_not_assignable | 422 | Role cannot be assigned |
room_end_confirmation_required | 409 | Leaving would end the room |
run_active | 409 | Run is still active |
run_name_exists | 409 | Run name already exists |
service_disabled | 409 | Service is disabled for the account |
service_held | 403 | Service is on hold |
service_not_assigned | 403 | Service is not assigned to the member |
service_not_enabled | 403 | Service is not enabled for the account |
service_not_granted | 403 | Service is not granted to the account |
service_paused | 403 | Service is paused by the account |
service_suspended | 409 | Service is suspended for the account |
session_expired | 401 | Room session has ended |
setup_email_cooldown | 429 | Setup email was sent recently |
setup_email_failed | 503 | Setup email could not be sent |
signature_invalid | 422 | Release signature does not verify |
signed_fields_changed | 409 | Signed fields cannot change |
spend_cap | 403 | Monthly spend cap is reached |
staff_required | 403 | RTRobotics staff only |
subject_client_not_allowed | 403 | Token was issued to a client that is not allowed |
submit_busy | 503 | Too many submissions are being processed |
system_exists | 409 | Device line already exists |
system_in_use | 409 | Device line still has releases |
tag_required | 422 | A site tag is required |
team_exists | 409 | Team already exists |
tester_exists | 409 | Tester is already listed |
token_expired | 401 | Access token has expired |
too_many_keys | 422 | API key limit is reached |
transcribe_capacity_limited | 429 | Transcription capacity is reached |
transcribe_limiter_unavailable | 503 | Transcription limiter is unavailable |
transcribe_probe_unavailable | 503 | Audio probe is unavailable |
transcribe_rate_limited | 429 | Too many transcription requests |
transcribe_unconfigured | 503 | Transcription is not configured |
transcribe_upstream | 502 | Transcription provider failed |
unauthenticated | 401 | Authentication is required |
unavailable | 503 | Service is temporarily unavailable |
unknown_account | 404 | No such account |
unknown_meter | 422 | No such meter |
unknown_pack | 422 | No such credit pack |
unknown_plan | 422 | No such plan |
unknown_tag | 422 | No such tag kind |
unsupported_audio_type | 415 | Audio type is not supported |
unsupported_media_type | 415 | Media type is not supported |
upload_committed | 409 | Upload is already committed |
upload_incomplete | 409 | Upload is not complete |
use_service_endpoints | 409 | Use the service endpoints for this change |
user_not_found | 404 | No such user |
username_taken | 409 | Username is already taken |
validation_failed | 422 | Request is not valid |
verified_email_required | 403 | A verified email is required |
verified_user_not_found | 404 | No verified user has this email |