Skip to main content
POST
Create audio upload URLs
Requires Editor, Admin, or Owner. Each file supplies filename, mime_type (default audio/wav), and file_size from 1 to 5,242,880 bytes. The response contains an upload URL, recording_id, and storage_key for each file. URLs expire after 30 minutes. Upload the file bytes with PUT to each signed URL, then register the recordings. Send the declared content type and do not send your Agent Builder credential to the upload host.

Authorizations

Authorization
string
header
required

Bandwidth Labs OAuth access token. Uses the user's selected workspace; the workspace header is not required. Do not also send an API key. Bearer-only operations may additionally require the Labs super_user role.

Headers

X-VOAI-ORGANIZATION-ID
string | null

Required with X-BW-LABS-AGENTS-API-KEY: the positive local workspace ID to access. The key owner must be a current member. Missing or invalid IDs return 400; non-member workspaces return 403. Not required for bearer authentication, which uses the user's selected workspace.

Body

application/json
files
FileDescriptor · object[]
required
Required array length: 1 - 20 elements

Response

Successful Response

items
RecordingUploadResponseSchema · object[]
required