Skip to main content
POST
Mint a video upload URL

Authorizations

Authorization
string
header
required

API key starting with zt_live_ (production) or zt_test_ (sandbox). Get your key at https://developers.zebratruth.ai

Headers

Idempotency-Key
string<uuid>
required

Unique request identifier to prevent duplicate execution and double-charging. Generate a new UUID for each distinct request. Reuse the same key to safely retry.

Body

application/json
contentType
enum<string>
required

MIME type of the video being uploaded

Available options:
video/mp4,
video/webm,
video/quicktime
Example:

"video/mp4"

Response

Upload URL minted

uploadUrl
string<uri>
required

Short-lived (15 min) SAS URL. PUT the raw video bytes here using the headers from uploadInstructions. Do NOT add auth headers.

Example:

"https://zebratruthstorage.blob.core.windows.net/videos/.../source.mp4?...sig=..."

blobPath
string
required

Pass this verbatim as blobPath in the subsequent POST /compliance/check-video.

Example:

"videos/kp_abc123.../82b68316-.../source.mp4"

requestId
string
required

Unique handle for this upload. Pass it verbatim as requestId in the subsequent POST /compliance/check-video AND use it to poll GET /compliance/check-video/{requestId} afterward.

Example:

"82b68316-ed85-489c-991e-2ff0f2b95f29"

requiredTags
object
required

Blob index tags that the signed URL enforces at upload time. Already encoded in uploadInstructions.headers — present here for inspection / debugging only.

uploadInstructions
object
required