Bucket Objects

Create Objects in Batch

Changed on

This endpoint creates multiple new objects in the specified bucket as a batch. Each object must conform to the bucket's schema.

**Processing**: By default, objects are created in PENDING status, which
means not processed yet, and are processed when a batch that includes them
is submitted. An object stays PENDING until that batch run finishes with it;
the batch status shows whether it has been submitted. Set the `auto_process=true` query parameter
to automatically create a processing batch and submit it (zero-touch
workflow). Sending `auto_process` in the JSON body, at the top level or in
an object, returns 422, unless the bucket schema declares a field with that
name inside objects.

**Partial Success**: This endpoint uses partial success - valid objects are created
even if some fail validation. Failed objects are returned separately with error details,
allowing you to fix and retry only the failed ones.

**Response**: Returns both succeeded and failed objects. The batch succeeds (200 OK) as long
as at least one object is created. Check the `failed` array for objects that need attention.
If EVERY object in the batch failed, the response is 422 instead of 200 -- the body shape is
identical (`succeeded: []`, `failed: [...]`), only the status code signals total failure.

**unique_key buckets**: not supported here yet. If the bucket declares a `unique_key`
policy, this endpoint rejects the whole request (422) instead of silently creating
duplicates -- use `POST /v1/buckets/{bucket_id}/objects` (singular) per object instead,
which enforces it.
post/v1/buckets/{bucket_identifier}/objects/batch

Request

  • Base URL: https://api.mixpeek.com
  • URL: https://api.mixpeek.com/v1/buckets/{bucket_identifier}/objects/batch
  • Auth: HTTP bearer and API key in header X-Namespace

Path parameters

bucket_identifierstring required

The unique identifier of the bucket.

Query parameters

auto_processboolean

Automatically create a batch and submit it for processing. When true, all successfully created objects will be immediately queued for processing without requiring separate batch calls. Ideal for onboarding and bulk upload workflows.

Request body

Example request

{
  "objects": [
    {
      "blobs": [
        {
          "data": "https://example.com/contract-2024.pdf",
          "key_prefix": "/contract-2024/content.pdf",
          "metadata": {
            "author": "John Doe",
            "department": "Legal",
            "num_pages": 5
          },
          "property": "content",
          "type": "pdf"
        }
      ],
      "category": "contracts",
      "key_prefix": "/documents",
      "review_status": "draft",
      "title": "Service Agreement 2024",
      "year": 2024
    }
  ]
}

Response

Successful Response

total_requestedinteger required

Total number of objects in the batch request

succeeded_countinteger required

Number of objects successfully created

failed_countinteger required

Number of objects that failed

Example response

{
  "failed": [
    {
      "error": "Schema validation failed: Missing required field 'title'",
      "error_type": "ValidationError",
      "object_index": 15
    }
  ],
  "failed_count": 1,
  "succeeded": [
    {
      "bucket_id": "bkt_9xy8z7",
      "object_id": "obj_123abc",
      "status": "PENDING"
    }
  ],
  "succeeded_count": 99,
  "total_requested": 100
}

Changes

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      the response's property default value changed from DRAFT to PENDING for the status