Skip to content

Errors

Every error is a JSON problem (RFC 9457), with Content-Type: application/problem+json:

{
  "type": "https://docs.nubestack.com/problems/volume_in_use",
  "title": "Volume in use",
  "status": 409,
  "detail": "Detach the volume from db-1 before deleting it.",
  "code": "volume_in_use",
  "request_id": "req_01jbx7f3",
  "retryable": false
}
  • Match on code. It is stable; title and detail are for people and can change. type is a URL ending in the same code.
  • retryable says whether the same request can succeed later unchanged.
  • request_id identifies the request: give it to support.
  • A 422 lists what was wrong in errors[], each with the field and a reason.
  • Some refusals add fields that name what is in the way, such as the listeners that serve a certificate.

What to do for each status

Status Next step
400 Fix the request; for an expired cursor, start the list again
401 The key is unknown, revoked or expired (api_key_invalid)
403 The key's roles do not allow it; or a second factor is needed (second_factor_required)
404 Check the ID, the organization and the project; the key may have no role there
409 Resolve the conflict the code names: something in use, a limit, a reused idempotency key
412 Your version is stale: read again and decide
422 Fix the fields listed in errors[]
428 Send the missing Idempotency-Key or If-Match
429 Wait the seconds in Retry-After, then retry with the same idempotency key
5xx Retry later with the same idempotency key if retryable is true

A change that was accepted and then failed in the location is not an HTTP error: the operation ends failed and its failed step says why.

Every error code

The codes a customer can receive, generated from the product's catalog. Retry? marks the ones that can succeed later unchanged.

Code Meaning Retry?
account_exists Account exists —
action_not_assignable Action not allowed in a custom role —
action_unknown Unknown action —
address_in_use Address in use —
allocation_busy Allocation busy Yes
already_attached Already attached —
already_connected Networks already connected —
already_member Already a member —
already_owner Already an owner —
api_key_limit API key limit reached —
api_keys_unavailable API keys unavailable —
attestation_lapsed Too late to keep —
audit_export_disabled Audit export disabled —
audit_lookback_exceeded Older than the audit log's look-back —
audit_unavailable Audit trail unavailable Yes
below_in_use Below what is in use —
budget_exceeded Budget exceeded —
capability_not_available Capability not available —
capacity_unavailable Capacity unavailable Yes
certificate_in_use Certificate in use —
certificate_limit Too many certificates —
certificate_not_ready Certificate not ready —
cidr_overlap Address ranges overlap —
closure_in_progress Closure in progress —
conflict Conflict —
connection_limit Connection limit reached —
connections_retired Connections are retired —
console_not_offered No console in this location —
console_not_ready Console not ready Yes
console_not_registered Console not registered —
console_sign_in_required Console sign-in required —
credential_limit Credential limit reached —
csrf_failed Cross-site request refused —
default_security_group Default security group —
deletion_in_progress Deletion in progress —
deletion_irreversible Deletion irreversible —
entitlement_cap Too many projects in one cloud for this person —
export_in_progress Export being prepared —
export_not_ready Export not ready —
export_too_large Export too large —
forbidden Forbidden —
forwarding_limit Too many address pairs —
forwarding_overlaps_network Range overlaps a network —
gateway_in_use Internet gateway in use —
gateway_region_mismatch Private router in another region —
grant_from_group This access comes from a group —
grant_required Project access required —
groups_not_enabled Groups are not enabled yet —
has_own_gateway Network has its own gateway —
idempotency_key_in_progress Request in progress Yes
idempotency_key_required Idempotency key required —
idempotency_key_reused Idempotency key reused —
image_incompatible Image does not fit this size —
image_not_active Image not active —
image_protected Image is protected —
image_volume_backed Instance boots from a volume —
instance_group_limit Too many instance groups —
instance_group_name_taken Instance group name taken —
integrity_unavailable Integrity check unavailable Yes
internal_error Internal error —
internet_access_off Internet access already off —
internet_access_on Internet access already on —
invalid_access_rules Invalid access rules —
invalid_cidr Invalid CIDR —
invalid_cursor Invalid cursor —
invalid_ephemeral_key Invalid one-time key —
invalid_id Invalid identifier —
invalid_instant Invalid time —
invalid_public_key Invalid public key —
invalid_server Invalid instance —
invalid_size Invalid size —
invalid_time_zone Unknown time zone —
invalid_window Invalid time window —
invitation_domain Invitation domain not allowed —
invitation_email_mismatch Invitation e-mail mismatch —
invitation_not_pending Invitation not pending —
invitation_pending Invitation pending —
inviter_not_permitted Inviter may no longer give this role —
key_already_rotated API key already rotated —
last_location Last location —
last_owner Last owner —
launch_template_in_use Launch template in use —
launch_template_invalid Launch template version unreadable —
launch_template_limit Too many launch templates —
launch_template_name_taken Launch template name taken —
launch_template_version_limit Too many versions of this launch template —
lb_child_in_use Listener or pool still has dependencies —
lb_child_limit Listener or pool limit reached —
lb_feature_unsupported Load balancer feature unsupported —
lb_listener_conflict A listener already uses this port —
lb_member_address_scope Member network is in another address scope —
lb_member_address_unsafe Member address cannot be used —
lb_member_ambiguous Member target is ambiguous —
lb_member_family_mismatch Member address family not supported —
lb_member_floating_ip Member address is a public IP —
lb_member_outside_project Member address is not the project's —
lb_member_unreachable Member network is not routed to the load balancer —
lb_provider_unavailable Load balancer type not available here —
legal_hold Under legal hold —
location_maintenance Location in maintenance Yes
location_mismatch Location mismatch —
location_not_accepting Location not accepting new resources —
location_not_found Location not found —
location_not_placed Location not placed —
location_unavailable Location temporarily unavailable Yes
mapping_not_admitted Not admitted by the cloud's conformance —
member_not_active Member not active —
multi_region_networking_unsupported Networking in several regions not supported —
network_attached Network is attached —
network_has_no_subnet Network has no subnet —
network_has_range Network already has its range —
network_no_internet_access Network has no Internet access —
network_topology_unsupported Network topology not supported —
no_deletion No deletion —
not_an_increase Not an increase —
not_attached Not attached —
not_blocked Not waiting for confirmation —
not_cancellable Not cancellable —
not_dismissible Not dismissible —
not_flagged Nothing to keep —
not_found Not found —
not_ready Not ready Yes
not_resumable Not resumable —
observation_required A fresh resource reading is required —
offering_already_active Offering already offered —
offering_already_retired Offering already retired —
offering_exists Offering already exists —
offering_in_use Offering in use —
offering_not_found Offering not found —
offering_retired Offering retired —
org_cap_exceeded Organization ceiling reached —
org_closing Organization being closed —
org_not_closing Organization not closing —
org_suspended Organization suspended —
own_membership Not on your own membership —
own_roles_raise You cannot raise your own roles —
period_out_of_range No costs for that month —
personal_service_account Answers to its owner alone —
personal_service_account_exists You have a personal service account here —
placement_deleting Location is being deleted —
placement_not_active Placement not active —
placement_not_ready Placement not ready —
placement_suspended Placement suspended —
platform_read_only Platform read-only Yes
port_security_disabled Port security is off —
precondition_failed Precondition failed —
precondition_required Precondition required —
preset_is_default Preset is the default —
project_limit Project limit reached —
public_ip_associated Public IP already associated —
public_ips_in_use Public IPs in use —
quota_exceeded Quota exceeded —
quota_in_use Still in use —
quota_request_open A request is already waiting —
range_not_private Range is not private —
range_overlap Range overlaps an attached network —
range_required Range required —
rate_limited Too many requests —
reference_not_found Reference not found —
refresh_limit Too many open refreshes Yes
rekey_needs_maintenance A rekey code needs the cloud in maintenance —
report_stale Report out of date —
resource_busy Resource busy Yes
resource_changed Resource changed; refresh before trying again —
resource_class_managed Set by NubeStack Cloud —
resource_class_reserved Resource class reserved —
resource_deleting Resource being deleted —
resource_exists Already there —
resource_gone Not there —
resource_in_use Resource in use —
resources_present Resources present —
restore_type_incompatible Volume type cannot take this snapshot —
restore_type_unknown Snapshot's volume type unknown —
role_escalation Not an action you hold —
role_held_by_service_account Role held by a service account —
role_in_use Role still held —
role_limit Role limit reached —
role_name_taken Role name taken —
role_not_allowed Role not allowed for a service account —
role_unavailable Role not usable here —
route_uses_network A route uses this network —
router_managed Router managed by NubeStack Cloud —
schedule_limit Too many schedules —
second_factor_required Second factor required —
secret_not_ready Secret not ready Yes
secret_store_unavailable Secret store unavailable Yes
security_group_in_use Security group in use —
security_group_name_taken Security group name taken —
server_group_in_use Server group in use —
server_state Instance not in a state for this action —
service_account_exists Service account name taken —
service_account_limit Service account limit reached —
snapshot_not_available Snapshot not available —
snapshot_restore_pending A volume is being made from this snapshot —
ssh_key_exists SSH key exists —
ssh_key_limit SSH key limit —
step_up_required Step-up required —
subnet_limit Subnet limit reached —
tag_keys_limit Too many tag keys —
topology_view_changed Topology changed; start again from the first page —
unauthenticated Authentication required —
unit_mismatch Unit mismatch —
unknown_quota_profile Unknown quota profile —
unknown_resource_class Unknown resource class —
usage_detail_expired Hourly usage no longer kept —
usage_range_too_large Usage range too large —
validation_failed Validation failed —
value_out_of_range Value out of range —
volume_has_snapshots Volume has snapshots —
volume_in_use Volume in use —
volume_state Volume not in a state for this action —

Everyday cases in plain words are in Troubleshooting.