List Storage Classes
const url = 'https://example.com/storage/v1/engines/example/storage-classes';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/storage/v1/engines/example/storage-classesReturns a paginated list of storage classes within a region. A specific provider filters to
that provider; - lists storage classes across all providers.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The cloud provider: qibdo, aws, gcp, or azure, or ’-’ to list across all providers
Query Parameters
Section titled “Query Parameters ”The maximum number of storage classes to return. The service may return fewer than this value. If unspecified, at most 20 storage classes will be returned. The maximum value is 100; values above 100 will be coerced to 100.
A page token, received from a previous ListStorageClasses call. Provide this to retrieve
the subsequent page. When paginating, all other parameters must match the call that provided
the page token.
AIP-160 filter expression
AIP-132 order_by expression, e.g. ‘name asc’
Responses
Section titled “ Responses ”OK
ListStorageClassesResponse
Response message for ListStorageClasses.
Note: This API intentionally omits total_size from list responses. Keyset pagination does
not support efficient total count computation (COUNT(*) requires a full table scan). Per
AIP-158, total_size is optional.
object
The list of storage classes
A storage class is a global storage tier — declared once, it carries the durability
intent (redundancy + performance class) and compression a bucket may select, independent
of any region. The tier is materialized into each region’s backing store on demand; the
per-region readiness is reported separately by the storage class instance. Storage classes
can be defined across different cloud providers; the provider is reported by the read-only
engine field.
object
The unique identifier of the storage class
The storage class name (1–64 chars, uppercase alphanumeric and underscores). Must match ^[A-Z][A-Z0-9_]{0,63}$. Examples: STANDARD, REDUCED_REDUNDANCY, ARCHIVE.
An optional human-readable label for the storage class. Free text, mutable, and not an
identifier — use name to address the tier.
An optional human-readable description of the storage class
Whether this is the global default tier for its provider. Buckets that omit a storage class inherit the default. At most one default exists per provider.
The cloud provider this storage class is provisioned on.
Timestamp when the storage class was created
Timestamp when the storage class was last updated
Attributes specific to a Qibdo-managed storage class.
object
The redundancy scheme the tier guarantees (replication factor or erasure-coding profile).
The performance class the tier targets (media tier).
The compression type for data in this storage class (NONE, SNAPPY, ZLIB, ZSTD, LZ4)
A token, which can be sent as page_token to retrieve the next page. If this field is
empty, there are no subsequent pages.
Example
{ "storage_classes": [ { "engine": "ENGINE_UNSPECIFIED", "qibdo": { "redundancy": "REDUNDANCY_UNSPECIFIED", "performance_class": "PERFORMANCE_CLASS_UNSPECIFIED" } } ]}default
Section titled “default ”Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
object
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
A list of messages that carry the error details. There is a common set of message types for APIs to use.
Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
object
The type of the serialized message.
Example generated
{ "code": 1, "message": "example", "details": [ { "@type": "example" } ]}