Create Storage Class
const url = 'https://example.com/storage/v1/engines/example/storage-classes';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"name":"example","display_name":"example","description":"example","is_default":true,"qibdo":{"redundancy":"REDUNDANCY_UNSPECIFIED","performance_class":"PERFORMANCE_CLASS_UNSPECIFIED","compression_type":"example"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/storage/v1/engines/example/storage-classes \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "display_name": "example", "description": "example", "is_default": true, "qibdo": { "redundancy": "REDUNDANCY_UNSPECIFIED", "performance_class": "PERFORMANCE_CLASS_UNSPECIFIED", "compression_type": "example" } }'Creates a new storage class on the given cloud provider. A specific provider is required. Storage class names must match ^[A-Z][A-Z0-9_]{0,63}$ and be unique within the region for that provider.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The cloud provider to create the storage class on: qibdo, aws, gcp, or azure
Request Body required
Section titled “Request Body required ”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)
Responses
Section titled “ Responses ”OK
StorageOperation tracks the result of a storage command (bucket or object operation).
object
Unique operation identifier
The ID of the affected resource (bucket ID; null for object-only ops)
The type of resource (“Bucket” or “Object”)
The operation type (CREATE, UPDATE, DELETE, COPY)
The operation status (PENDING, RUNNING, DONE, ERROR)
When the operation was created
When execution started
When execution completed
Progress percentage (0–100)
Example generated
{}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" } ]}