Skip to main content
POST
/
v1
/
buckets
/
{bucket_identifier}
/
uploads
/
batch
Batch Create Uploads
curl --request POST \
  --url https://api.mixpeek.com/v1/buckets/{bucket_identifier}/uploads/batch \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Namespace: <x-namespace>' \
  --data '{
  "shared_metadata": {
    "campaign": "summer_2024"
  },
  "shared_object_metadata": {
    "category": "marketing"
  },
  "uploads": [
    {
      "blob_property": "video",
      "content_type": "video/mp4",
      "filename": "video1.mp4"
    },
    {
      "blob_property": "thumbnail",
      "content_type": "image/jpeg",
      "filename": "thumbnail1.jpg"
    }
  ]
}'
{
  "total": 2,
  "uploads": [
    {
      "filename": "video1.mp4",
      "presigned_url": "https://s3.amazonaws.com/...",
      "status": "PENDING",
      "upload_id": "upl_abc123"
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer token authentication using your API key. Format: 'Bearer your_api_key'. To get an API key, create an account at mixpeek.com/start and generate a key in your account settings.

Headers

Authorization
string
required

REQUIRED: Bearer token authentication using your API key. Format: 'Bearer sk_xxxxxxxxxxxxx'. You can create API keys in the Mixpeek dashboard under Organization Settings.

Examples:

"Bearer sk_live_abc123def456"

"Bearer sk_test_xyz789"

X-Namespace
string
required

REQUIRED: Namespace identifier for scoping this request. All resources (collections, buckets, taxonomies, etc.) are scoped to a namespace. You can provide either the namespace name or namespace ID. Format: ns_xxxxxxxxxxxxx (ID) or a custom name like 'my-namespace'

Examples:

"ns_abc123def456"

"production"

"my-namespace"

Path Parameters

bucket_identifier
string
required

The unique identifier of the bucket

Body

application/json

Request to generate multiple presigned URLs in a single request.

uploads
CreateUploadRequest · object[]
required

List of upload requests (max 100)

Required array length: 1 - 100 elements
shared_metadata
object | null

Metadata to apply to all uploads (merged with individual metadata)

shared_object_metadata
object | null

Object metadata to apply to all uploads (merged with individual)

Response

Successful Response

Response from batch upload request.

uploads
UploadResponse · object[]
required

Generated uploads with presigned URLs

total
integer
required

Total number of uploads created