Verify S3 upload completion and create bucket object.
After uploading to S3 using the presigned URL, call this endpoint to:
Sync vs Async:
Duplicate Detection:
REQUIRED: Bearer token authentication using your API key. Format: 'Bearer sk_xxxxxxxxxxxxx'. You can create API keys in the Mixpeek dashboard under Organization Settings.
"Bearer YOUR_API_KEY"
"Bearer YOUR_STRIPE_API_KEY"
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'
"ns_abc123def456"
"production"
"my-namespace"
The unique identifier of the bucket
The unique identifier of the upload
Process confirmation asynchronously (recommended for files >= 100MB)
Request to confirm S3 upload completion and create bucket object.
⚠️ THIS ENDPOINT IS REQUIRED AFTER UPLOADING TO S3!
S3 presigned URLs have no callback mechanism - the API cannot detect when your upload completes. You MUST call this endpoint to finalize the upload.
Why confirmation is required: - S3 doesn't notify us when uploads complete - We need to verify the file actually exists in S3 - We need to create the bucket object - We need to update quotas and tracking
The system will:
If you don't call confirm: - Upload stays in PENDING status - No bucket object is created - File is orphaned in S3
S3 ETag returned from the upload. OPTIONAL but RECOMMENDED. After uploading to S3, the response includes an ETag header. Providing this ensures the file wasn't corrupted during upload. If provided and doesn't match S3's ETag, confirmation will fail with error. Format: Usually an MD5 hash, may be enclosed in quotes.
"d41d8cd98f00b204e9800998ecf8427e"
Actual file size uploaded, in bytes. OPTIONAL but RECOMMENDED. If provided, will be validated against the actual S3 object size. Mismatch indicates upload corruption or network issues. If not provided, size validation is skipped.
x >= 110485760
Successful Response
Response from upload confirmation.
Upload ID that was confirmed
Updated upload status (COMPLETED or PROCESSING)
PENDING, IN_PROGRESS, PROCESSING, COMPLETED, COMPLETED_WITH_ERRORS, FAILED, CANCELED, UNKNOWN, SKIPPED, DRAFT, ACTIVE, ARCHIVED, SUSPENDED S3 ETag from uploaded object
Actual file size from S3
File content hash (from ETag)
When verification completed
When upload completed
Created bucket object ID (if create_object_on_confirm was true)
Task ID for async processing (if async=true)
Confirmation message