Skip to main content
POST
Get presigned URL for extractor submission

Authorizations

Authorization
string
header
required

Mixpeek API key, sent as Authorization: Bearer mxp_sk_.... Create one in Studio under Settings → API Keys, or with an admin key via POST /v1/organizations/users/{user_email}/api-keys. A missing, malformed, unknown, revoked, inactive or expired key returns 401; a key without the permission, scope or plan an operation needs returns 403.

Body

application/json

Keys this body does not declare are ignored, and the response's warnings name them, until 2026-11-02; from 2026-11-02 they are refused with 422 extra_forbidden naming the accepted keys.

name
string
required

Extractor name: 3-64 chars, letters/numbers/underscores, starts with a letter (no hyphens)

Pattern: ^[a-zA-Z][a-zA-Z0-9_]{2,63}$
version
string
required

Version string (e.g., 'v1', '1.0.0')

description
string
default:""

Human-readable description of the extractor

Maximum string length: 1000
file_size_bytes
integer | null

Expected archive size in bytes (500MB max)

Required range: 0 < x <= 524288000
file_name
string | null

Optional archive filename hint. Must end in .zip — submissions only accept zip archives (upload Content-Type: application/zip).

Response

Successful Response

submission_id
string
required
presigned_url
string
required
s3_key
string
required
expires_at
string<date-time>
required
name
string
required
version
string
required
required_content_type
string
default:application/zip