Skip to content
qibdo qibdo
Theme
Book a demo

Errors

Every Storage error carries a stable numeric error_code and a machine-readable reason. This page lists the logical error codes Storage can return, across its domain groups (8_3xx) and infrastructure groups (8_6xx). For the full error envelope (the google.rpc.Status shape, the reason and metadata fields, and how codes are structured) see Errors.

Storage codes begin with 8 (for example 8300002, read as 8_300_002: service, group, specific error). The wire value is always the flat integer; you can match on either error_code or reason, both are stable.

The Status column is the canonical gRPC status the error maps to, which the gateway renders as the matching HTTP status (see the status codes table).

CodeReasonStatusDescription
8300001NON_EMPTY_BUCKET_DELETIONINVALID_ARGUMENTCannot delete a non-empty bucket.
8300002BUCKET_NOT_FOUNDNOT_FOUNDBucket not found.
8300003BUCKET_ALREADY_EXISTSALREADY_EXISTSA bucket with this name already exists.
8300004BUCKET_NAME_VALIDATIONINVALID_ARGUMENTBucket name must be 3 to 63 characters, use lowercase dot-separated labels with hyphens only inside labels, and not be an IPv4 address.
8300005BUCKET_WORKSPACE_ID_NOT_VALIDINVALID_ARGUMENTBucket workspace ID is required.
8300006BUCKET_LOCATION_NOT_VALIDINVALID_ARGUMENTBucket location is required.
8300007BUCKET_DEFAULT_STORAGE_CLASS_NOT_VALIDINVALID_ARGUMENTBucket default storage class ID is not valid.
8300008BUCKET_PROVIDER_VALIDATION_NOT_IMPLEMENTEDINVALID_ARGUMENTBucket validation is not yet implemented for this provider.
8300009BUCKET_NOT_MARKED_FOR_DELETIONFAILED_PRECONDITIONBucket must be marked for deletion before removal.
8300011BUCKET_RECONCILE_STATE_UNKNOWNINVALID_ARGUMENTBucket reconcile state code is not recognised.
8300012BUCKET_SIZE_NOT_VALIDINVALID_ARGUMENTBucket size must be a real, non-negative byte count.
8300013BUCKET_DESCRIPTION_NOT_VALIDINVALID_ARGUMENTBucket description must be at most 1024 characters and carry no control or bidirectional characters.
8300014BUCKET_DISPLAY_NAME_TOO_LONGINVALID_ARGUMENTBucket display name must not exceed 128 characters.
8300015BUCKET_DISPLAY_NAME_NOT_VALIDINVALID_ARGUMENTBucket display name must not contain control characters.
8300016BUCKET_IDENTITY_IS_IMMUTABLEFAILED_PRECONDITIONA bucket workspace and name are immutable.
8300017MANAGED_BUCKET_DELETION_REFUSEDFAILED_PRECONDITIONA bucket the platform manages cannot be deleted.
8300018BUCKET_VERSIONING_UNKNOWNINVALID_ARGUMENTBucket versioning state is not recognised.
8300019BUCKET_VERSIONING_NOT_SUPPORTEDUNIMPLEMENTEDThis provider cannot set the requested versioning state on a bucket.
8300020VERSIONED_BUCKET_NOT_SUPPORTEDUNIMPLEMENTEDA bucket that keeps earlier versions of an object is not supported.
8301001STORAGE_CLASS_NOT_FOUNDNOT_FOUNDStorage class not found.
8301002STORAGE_CLASS_ALREADY_EXISTSALREADY_EXISTSA storage class with this name already exists for this engine.
8301003STORAGE_CLASS_NAME_VALIDATIONINVALID_ARGUMENTStorage class name must be a DNS-label handle: 1 to 63 lowercase letters, digits and hyphens, letter-initial, no adjacent hyphens, and not itself a UUID.
8301004STORAGE_CLASS_REDUNDANCY_NOT_VALIDINVALID_ARGUMENTStorage class redundancy scheme is required and must be a known scheme.
8301005STORAGE_CLASS_PERFORMANCE_CLASS_NOT_VALIDINVALID_ARGUMENTStorage class performance class is required and must be a known class.
8301006STORAGE_CLASS_COMPRESSION_TYPE_NOT_VALIDINVALID_ARGUMENTStorage class compression type is not valid.
8301007STORAGE_CLASS_NOT_MARKED_FOR_DELETIONFAILED_PRECONDITIONStorage class must be marked for deletion before removal.
8301008STORAGE_CLASS_DESCRIPTION_NOT_VALIDINVALID_ARGUMENTStorageClass description must be at most 1024 characters and carry no control or bidirectional characters.
8301009STORAGE_CLASS_DISPLAY_NAME_TOO_LONGINVALID_ARGUMENTStorageClass display name must not exceed 128 characters.
8301010STORAGE_CLASS_DISPLAY_NAME_NOT_VALIDINVALID_ARGUMENTStorageClass display name must not contain control characters.
8301011STORAGE_CLASS_REFERENCE_NOT_VALIDINVALID_ARGUMENTStorage class reference does not resolve to a known storage class.
8302001OBJECT_NAME_IS_BLANKINVALID_ARGUMENTObject name must not be blank.
8302002OBJECT_NAME_NOT_VALIDINVALID_ARGUMENTObject name is not valid.
8302003DIRECTORY_NAME_NOT_VALIDINVALID_ARGUMENTDirectory name is not valid.
8302004BYTE_RANGE_NOT_VALIDINVALID_ARGUMENTByte range is not valid.
8302005BYTE_RANGE_INCOMPLETEINVALID_ARGUMENTByte range must name both of its bounds.
8302006REGISTRY_FIXTURE_DIGEST_NOT_VALIDINVALID_ARGUMENTDeclared digest does not describe the content.
8302020OBJECT_ETAG_NOT_STAGEDDATA_LOSSStored object carries no change-detection token to publish.
8302021OBJECT_NOT_FOUNDNOT_FOUNDObject not found.
8302022OBJECT_DELETION_IN_VERSIONED_BUCKET_NOT_SUPPORTEDUNIMPLEMENTEDDeleting an object from a bucket that keeps versions is not supported yet.
8302023DELIMITER_HAS_NO_SUCCESSORINVALID_ARGUMENTDelimiter must not end at the highest Unicode code point.
8303001STORAGE_OPERATION_PROGRESS_OUT_OF_RANGEINVALID_ARGUMENTOperation progress must be between 0 and 100.
8303002STORAGE_OPERATION_END_TIME_BEFORE_START_TIMEINVALID_ARGUMENTOperation end time must not be before start time.
8303005STORAGE_OPERATION_SCOPE_TYPE_NOT_VALIDINVALID_ARGUMENTOperation scope type is not valid.
8304001STORAGE_LOCATION_NOT_FOUNDNOT_FOUNDThe location referenced by the storage request does not exist.
8304002STORAGE_LOCATION_NOT_ACTIVEFAILED_PRECONDITIONThe location referenced by the storage request is not active.
8304003STORAGE_LOCATION_GLOBAL_NOT_ALLOWEDINVALID_ARGUMENTA storage resource cannot be placed at the global location.
8304004STORAGE_LOCATION_KIND_NOT_SUPPORTEDUNIMPLEMENTEDPlacing a storage resource at this location kind is not yet supported — only a region is honored.
8304005STORAGE_LOCATION_CATALOGUE_UNAVAILABLEUNAVAILABLEThe topology location catalogue could not be read.
8304006STORAGE_LOCATION_HANDLE_IS_AMBIGUOUSINVALID_ARGUMENTMore than one location carries the requested handle; address it by identifier instead.
8304007STORAGE_LOCATION_ENGINE_NOT_SUPPORTEDUNIMPLEMENTEDThe location catalogue reported an engine this release does not support.
8305001INSTANCE_NOT_FOUNDNOT_FOUNDStorage class instance not found.
8305002STORAGE_CLASS_NOT_AVAILABLE_IN_REGIONFAILED_PRECONDITIONStorage class is not available in the requested location.
8305003STORAGE_CLASS_REFERENCED_BY_BUCKETFAILED_PRECONDITIONStorage class is still referenced by a bucket.
8305004INSTANCE_STORAGE_CLASS_NOT_VALIDINVALID_ARGUMENTStorage class is required.
8305005INSTANCE_LOCATION_NOT_VALIDINVALID_ARGUMENTLocation is required.
8305006INSTANCE_STATE_INCONSISTENTINVALID_ARGUMENTInstance state is inconsistent.
8305007INSTANCE_NOT_MARKED_FOR_DELETIONFAILED_PRECONDITIONStorage class instance must be marked for deletion before removal.
8306001ROLLUP_COUNTS_NOT_VALIDINVALID_ARGUMENTRollup counts and size must not be negative.
8306002ROLLUP_WORKSPACE_NOT_VALIDINVALID_ARGUMENTRollup workspace ID is required.
8306003EGRESS_NOT_VALIDINVALID_ARGUMENTEgress must not be negative.
8306004EGRESS_WORKSPACE_NOT_VALIDINVALID_ARGUMENTEgress workspace ID is required.
8306005OPERATION_NOT_VALIDINVALID_ARGUMENTOperation count must not be negative.
8306006OPERATION_WORKSPACE_NOT_VALIDINVALID_ARGUMENTOperation workspace ID is required.
8306007METRIC_NOT_VALIDINVALID_ARGUMENTMetric must be one of egress, operations, spend, stored size, object count, or bucket count.
8306008PERIOD_RANGE_NOT_VALIDINVALID_ARGUMENTMetric history range must not be inverted and must span at most $MAX_METRIC_HISTORY_MONTHS months.
8306009FEDERATED_COST_CURRENCIES_DIFFERINVALID_ARGUMENTCosts across the covered providers are in different currencies and cannot be totalled.
8307001COST_AMOUNT_NOT_VALIDINVALID_ARGUMENTCost amount must not be negative.
8307002COST_PERIOD_NOT_VALIDINVALID_ARGUMENTCost billing period is required.
8307003COST_WORKSPACE_NOT_VALIDINVALID_ARGUMENTCost workspace ID is required.
8307004COST_CURRENCY_NOT_CONSISTENTINVALID_ARGUMENTCost and projection must be in the same currency.
8307005STORAGE_PRICE_NOT_AVAILABLEFAILED_PRECONDITIONNo storage price is available.
8307006CURRENCY_NOT_SUPPORTEDUNIMPLEMENTEDThe currency is not supported.
8307007CURRENCY_CODE_CORRUPTDATA_LOSSThe stored currency code is not a supported currency.
8307008MONEY_AMOUNT_CORRUPTDATA_LOSSThe reported monetary amount is not a readable decimal.
8307009MONEY_FIELD_NOT_ON_CONTRACTFAILED_PRECONDITIONThe inbound message declares no such monetary field.
8307010PROJECTION_CURRENCY_ABSENTDATA_LOSSA projected cost is stored without its currency.
8307011MONEY_AMOUNT_OUT_OF_CONTRACTDATA_LOSSThe reported monetary amount is too large for the contract.
8307012COST_AMOUNT_NOT_STORABLEDATA_LOSSThe rated cost amount is larger than the platform can store.
8308001WORKSPACE_STORE_IDENTITY_WORKSPACE_NOT_VALIDINVALID_ARGUMENTWorkspace is required.
8308002WORKSPACE_STORE_IDENTITY_UID_NOT_VALIDINVALID_ARGUMENTStore user id must be derived from the workspace.
8308003WORKSPACE_STORE_IDENTITY_SECRET_PATH_NOT_VALIDINVALID_ARGUMENTSecret path is required.
8308004WORKSPACE_STORE_IDENTITY_TRANSITION_NOT_ALLOWEDFAILED_PRECONDITIONStore identity does not allow this lifecycle transition.
8309001WORKSPACE_STORE_SECRET_NOT_FOUNDNOT_FOUNDThe secret store holds no credential for the workspace.
8309002WORKSPACE_STORE_SECRET_UNAVAILABLEUNAVAILABLEThe secret store could not be reached.
8309003WORKSPACE_STORE_SECRET_ACCESS_REFUSEDFAILED_PRECONDITIONThe secret store refused the platform’s own credential.
8309004WORKSPACE_STORE_SECRET_REQUEST_REJECTEDINVALID_ARGUMENTThe secret store refused the request.
8309005WORKSPACE_STORE_SECRET_NOT_READABLEDATA_LOSSThe stored credential is missing the fields storage wrote.
8310001WORKSPACE_STORE_CREDENTIAL_NOT_PROVISIONEDFAILED_PRECONDITIONThe workspace has no usable store identity yet.
8310002WORKSPACE_STORE_CREDENTIAL_REVOKEDFAILED_PRECONDITIONThe workspace’s store identity has been revoked.
8311001RESOURCE_REFERENCE_IS_AMBIGUOUSINVALID_ARGUMENTA resource reference carries both an identifier and a handle; supply exactly one.
8601004CEPH_BUCKET_STATS_FAILEDUNAVAILABLECeph RadosGW bucket stats operation failed.
8605001UNKNOWN_SCHEMA_VERSIONDATA_LOSSSchema version is not recognized.
8605002STORAGE_OPERATION_NOT_FOUNDNOT_FOUNDThe storage operation was not found.
8605003OBJECT_HEAD_CONFLICTABORTEDAnother version was published as the current version of this object.
8605004OBJECT_METADATA_PUBLICATION_FAILEDABORTEDThe object was not published because concurrent writers kept claiming it.
8605005OBJECT_VERSION_ROW_IS_NOT_A_BLOBDATA_LOSSThe stored object version is recorded as a file but holds no storage tier.
8606001UNSUPPORTED_DATA_UNITINVALID_ARGUMENTThe storage data unit is not supported.
8606002UNKNOWN_INTEGRATION_VERSIONINVALID_ARGUMENTThe integration version is not recognized.
8606003EVENT_FIELD_NOT_ON_CONTRACTFAILED_PRECONDITIONThe inbound event declares no such field.
8606004MONEY_NOT_PUBLISHABLEDATA_LOSSThe monetary amount cannot be represented on the platform’s wire contract.
8607001CEPH_PROBE_DEVICE_CLASSES_FAILEDUNAVAILABLECeph admin probe of OSD device classes failed.
8607002CEPH_CREATE_POOL_PLACEMENT_FAILEDUNAVAILABLECeph admin create pool/placement operation failed.
8607003CEPH_CATALOG_LOOKUP_FAILEDUNAVAILABLEStorage redundancy/performance catalog lookup failed.
8608001CEPH_BUCKET_USAGE_FETCH_FAILEDUNAVAILABLECeph RadosGW admin bucket-usage fetch failed.
8608002CEPH_BUCKET_USAGE_UNAVAILABLEUNAVAILABLECeph RadosGW admin bucket-usage transport is not configured.
8608004CEPH_BUCKET_USAGE_LOG_FETCH_FAILEDUNAVAILABLECeph RadosGW admin usage-log fetch failed.
8609001OBJECT_STORE_RATE_LIMITEDRESOURCE_EXHAUSTEDThe object store throttled the request.
8609002OBJECT_STORE_UNREACHABLEUNAVAILABLEThe object store could not be reached.
8609003OBJECT_STORE_TIMED_OUTDEADLINE_EXCEEDEDThe object store call exceeded its deadline.
8609004OBJECT_LISTING_ABSORPTION_CAP_EXCEEDEDDATA_LOSSObject listing absorbed more provider pages than the server-side bound permits.
8609005OBJECT_STORE_REJECTED_REQUESTINVALID_ARGUMENTThe object store refused the request.
8609006OBJECT_STORE_RESOURCE_NOT_FOUNDNOT_FOUNDThe object store does not hold the addressed bucket or object.
8609007OBJECT_STORE_RESOURCE_ALREADY_EXISTSALREADY_EXISTSThe object store already holds the addressed resource.
8609008OBJECT_STORE_CREDENTIAL_REFUSEDFAILED_PRECONDITIONThe object store refused the platform’s own credential.
8609009OBJECT_STORE_CREDENTIAL_NOT_RETURNEDDATA_LOSSThe object store reported success without returning a key pair.
8610001RADOS_OBJECT_NOT_FOUNDNOT_FOUNDThe object does not exist in the store.
8610002RADOS_UNAVAILABLEUNAVAILABLEThe storage cluster is unreachable.
8610003RADOS_OPERATION_FAILEDUNAVAILABLEThe storage operation failed.
8610004RADOS_POOL_FULLFAILED_PRECONDITIONThe storage pool has no capacity remaining.
8610005RADOS_MANIFEST_CORRUPTDATA_LOSSThe object chunk set could not be read.
8610006RADOS_LISTING_NOT_SUPPORTEDUNIMPLEMENTEDThe RADOS engine cannot enumerate a bucket.

Codes that reach you on an operation, not on a call

Section titled “Codes that reach you on an operation, not on a call”

Two codes are never the status of a request. They describe why a provisioning operation did not finish, so they arrive in the errors list of the operation record rather than as a failed call, and the request that started the operation succeeded:

CodeReasonDescription
8303003STORAGE_CLASS_INSTANCE_UNSUPPORTEDThe storage class cannot be provisioned at the requested location.
8303004STORAGE_CLASS_INSTANCE_PROVISIONING_TIMED_OUTThe storage class instance did not become available within the reconcile timeout.

Poll the operation and read its errors to see either of these. A request that returned an operation is not a request that succeeded at what the operation was for.

None of these is ever a request’s error_code. They say why something further down refused, and they surface in one of two places: the errors list of an operation record, or the detail of the error actually returned, written as code:reason. Read them as the cause behind the status you were given.

CodeReasonDescription
8303003STORAGE_CLASS_INSTANCE_UNSUPPORTEDThe storage class cannot be provisioned at the requested location.
8303004STORAGE_CLASS_INSTANCE_PROVISIONING_TIMED_OUTThe storage class instance did not become available within the reconcile timeout.
8608003CEPH_BUCKET_ABSENT_FROM_BACKENDBucket is not present in the storage backend.