Skip to main content
POST
For a direct_upload row in state draft. Returns a short-lived form. Upload the file to upload.url yourself, then call Confirm upload. A new slot replaces an older unused one for the same row.
Needs manage on the analyzer.

Request

Headers

string
required
Bearer token with your API key: Bearer sk_...
string
required
application/json

Path

string
required
Batch ID (UUID)
string
required
Batch row ID (UUID). Get it from List batch rows

Body

integer
required
File size in bytes, at least 1. Maximum 100 MiB
string
required
audio/mpeg, audio/wav, audio/x-wav, audio/mp4, audio/x-m4a, audio/ogg, audio/flac or audio/webm. The file content must match

Response

201 Created

Upload the file

Send a multipart/form-data POST to upload.url. Put every entry of upload.fields first, in order, then the file as the last field, named file. Do not send your Authorization header to storage.
Storage answers 403 when the slot has expired and 400 when the size or type does not match what you asked for.

Errors

Errors use { "success": false, "message": "...", "code": "..." }. See the overview for the codes every route can return.

This endpoint

Example