v5

OpenAPI 3.1.02026-08-025631,1012.8 MB
Buckets

Create Bucket

This endpoint allows you to create a new bucket with a defined schema. A bucket is a collection of objects that conform to the schema. The schema defines the structure and validation rules for objects in the bucket.

post/v1/buckets

Request body

bucket_namestring required

Human-readable name for the bucket

descriptionstring nullable

Description of the bucket

metadataobject

Additional metadata for the bucket

storage_class'standard' | 'nearline' | 'coldline' | 'archive'

Provider-agnostic object-storage tier for a bucket (BACKE-2299).

The mixpeek API stays provider-agnostic; the object-storage factory maps each value to the underlying provider's equivalent on write (and, where supported, retroactively via lifecycle/rewrite):

mixpeekGCSS3 / MinIO
standardSTANDARDSTANDARD
nearlineNEARLINESTANDARD_IA
coldlineCOLDLINEGLACIER_IR
archiveARCHIVEGLACIER

Set per-bucket so hot retriever-source buckets stay standard while large write-once/read-occasionally media buckets (footage, creatives) opt into a cheaper tier (e.g. ~50% on Nearline for the TS iconik ~13TB footage sync).

Example request

{
  "bucket_name": "product_images",
  "bucket_schema": {
    "properties": {
      "image": {
        "description": "Product image blob",
        "type": "image"
      },
      "metadata": {
        "description": "Product information",
        "properties": {
          "title": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "price": {
            "type": "float"
          }
        },
        "type": "object"
      }
    }
  },
  "description": "Product images with metadata for e-commerce",
  "metadata": {
    "department": "Sales",
    "region": "US"
  }
}

Response

Successful Response

bucket_idstring

Unique identifier for the bucket

bucket_namestring required

Human-readable name for the bucket

descriptionstring nullable

Description of the bucket

metadataobject

Additional metadata for the bucket

storage_class'standard' | 'nearline' | 'coldline' | 'archive'

Provider-agnostic object-storage tier for a bucket (BACKE-2299).

The mixpeek API stays provider-agnostic; the object-storage factory maps each value to the underlying provider's equivalent on write (and, where supported, retroactively via lifecycle/rewrite):

mixpeekGCSS3 / MinIO
standardSTANDARDSTANDARD
nearlineNEARLINESTANDARD_IA
coldlineCOLDLINEGLACIER_IR
archiveARCHIVEGLACIER

Set per-bucket so hot retriever-source buckets stay standard while large write-once/read-occasionally media buckets (footage, creatives) opt into a cheaper tier (e.g. ~50% on Nearline for the TS iconik ~13TB footage sync).

object_countinteger required

Number of objects in the bucket

total_size_bytesinteger required

Total size of all objects in the bucket in bytes

created_atstring date-time nullable

When the bucket was created

updated_atstring date-time nullable

Last modification time of bucket metadata

last_upload_atstring date-time nullable

When the last object was uploaded to this bucket

stats_updated_atstring date-time nullable

When bucket stats were last successfully recalculated

status'PENDING' | 'QUEUED' | 'IN_PROGRESS' | 'PROCESSING' | 'COMPLETED' | 'COMPLETED_WITH_ERRORS' | 'FAILED' | 'CANCELED' | 'INTERRUPTED' | 'UNKNOWN' | 'SKIPPED' | 'DRAFT' | 'ACTIVE' | 'ARCHIVED' | 'SUSPENDED'

Enumeration of task statuses for tracking asynchronous operations.

Task statuses indicate the current state of asynchronous operations like batch processing, object ingestion, clustering, and taxonomy execution.

Status Categories: Operation Statuses: Track progress of async operations Lifecycle Statuses: Track entity state (buckets, collections, namespaces)

Values: PENDING: Task is queued but has not started processing yet IN_PROGRESS: Task is currently being executed PROCESSING: Task is actively processing data (similar to IN_PROGRESS) COMPLETED: Task finished successfully with no errors COMPLETED_WITH_ERRORS: Task finished but some items failed (partial success) FAILED: Task encountered an error and could not complete CANCELED: Task was manually canceled by a user or system UNKNOWN: Task status could not be determined SKIPPED: Task was intentionally skipped DRAFT: Task is in draft state and not yet submitted

ACTIVE: Entity is active and operational (for buckets, collections, etc.)
ARCHIVED: Entity has been archived
SUSPENDED: Entity has been temporarily suspended

Terminal Statuses: COMPLETED, COMPLETED_WITH_ERRORS, FAILED, CANCELED are terminal statuses. Once a task reaches these states, it will not transition to another state.

Partial Success Handling: COMPLETED_WITH_ERRORS indicates that the operation completed but some documents/items failed. The task result includes: - List of successful items - List of failed items with error details - Success rate percentage This allows clients to handle partial success scenarios appropriately.

Polling Guidance: - Poll tasks in PENDING, QUEUED, IN_PROGRESS, or PROCESSING states - Stop polling when task reaches COMPLETED, COMPLETED_WITH_ERRORS, FAILED, or CANCELED - Use exponential backoff (1s → 30s) when polling

is_lockedboolean

Whether the bucket is locked (read-only)

source_adapterobject nullable

Source adapter configuration for inbound webhook-driven ingestion

Example response

{
  "unique_key": {
    "default_policy": "upsert",
    "description": "Single field, upsert by default (idempotent video ingestion)",
    "fields": [
      "video_id"
    ]
  }
}