List Objects
const url = 'https://example.com/storage/v1/workspaces/example/engines/example/buckets/example/objects';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/workspaces/example/engines/example/buckets/example/objectsLists objects in a bucket with optional prefix/delimiter filtering. Supports prefix-based pseudo-directory listing when the delimiter is ”/”.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The workspace the bucket belongs to
The cloud provider: qibdo, aws, gcp, or azure, or ’-’ to list across all providers
The bucket to list objects from
Query Parameters
Section titled “Query Parameters ”Filter objects by key prefix. Retained as a dedicated field because key prefix matching is a fundamental server-side optimization that cannot be expressed in filter syntax without losing performance.
Delimiter for pseudo-directory listing (typically ”/”). Retained as a dedicated field because delimiter handling is a native server-side optimization not expressible via filter strings.
Maximum keys per page. The service may return fewer than this value. If unspecified, at most 20 objects will be returned. The maximum value is 100; values above 100 will be coerced to 100.
A page token, received from a previous ListObjects call.
Provide this to retrieve the subsequent page. When paginating,
all other parameters must match the call that provided the page token.
Filter expression
Order_by expression, e.g. ‘name asc’
Responses
Section titled “ Responses ”OK
ListObjectsResponse
Response message for ListObjects.
Note: This API intentionally omits total_size from list responses. Keyset
pagination does not support efficient total count computation (a count requires a
full scan). Per AIP-158, total_size is optional.
object
The list of objects matching the query
Metadata describing a stored object. Returned by the storage data plane on head, get, and put responses.
object
The bucket this object belongs to
The object key (path-like string, no leading slash)
Object size
object
Size of the object
Is the numerical size of an object
MIME type (e.g. “application/octet-stream”)
Entity tag (checksum)
Timestamp when the object was last modified
Base64-encoded MD5 digest of the object content (nullable for multipart uploads)
Arbitrary key-value user metadata
object
Storage class or tier (provider-specific string, e.g. STANDARD, GLACIER)
Version identifier (format varies by provider)
The cloud provider this object is stored on.
Directory-like prefixes when a delimiter is set
A token, which can be sent as page_token to retrieve the next page.
If this field is empty, there are no subsequent pages.
Whether the result set was truncated
Example
{ "objects": [ { "size": { "unit": "STORAGE_DATA_UNIT_UNSPECIFIED" }, "engine": "ENGINE_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" } ]}