Create an audio upload intent
Declare an Ogg Opus or PCM16 WAV chunk. Codec and container must be a matching pair.
/audio/intentsAuthorization
bearerAuth Send Authorization: Bearer <token> with one of: an app session access token from /auth/verify-otp or /auth/refresh; an OAuth access token from /oauth/token issued for the API origin (its scopes are its permissions); or a personal access token starting with optima_pat_ (see /docs/personal-access-tokens). Personal access tokens cannot create or list tokens, revoke other tokens, sign out, or delete or restore the account. Content routes need the permission of their layer: audio:read/audio:write for recordings, turns:read/turns:write for turns, contacts, source signals, and events, and insights:read/insights:write for suggestions and session summaries; search and recall need turns:read and insights:read. A request without the permission, or for an account whose layer is turned off, returns 403 FORBIDDEN. See /docs/authentication#scopes.
In: header
Header Parameters
Send 1 to pin the documented API contract. If omitted, the latest version is selected.
"1"Value in
- "1"
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/audio/intents" \ -H "X-API-Version: 1" \ -H "Content-Type: application/json" \ -d '{ "source_chunk_ref": "a4154243-2c96-461b-a3b4-7197e9cf1034", "source_stream_ref": "80c07f33-6153-4ead-a2bf-b1b810964c48", "sequence": 0, "source_start_ms": 0, "publication_start_ms": 0, "source_end_ms": 1, "codec": "opus", "container": "ogg", "size_bytes": 1, "sha256": "string", "source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81" }'{ "success": true, "data": { "source_chunk_ref": "a4154243-2c96-461b-a3b4-7197e9cf1034", "chunk_id": "55e808e1-8ddc-49f1-92c9-6bbdcdff1c83", "upload_path": "string" }}Upload audio bytes PUT
Upload raw bytes with Content-Length matching the intent. The maximum chunk size is 10 MiB.
List recording streams GET
List the account's recording streams, newest capture first: by captured_at, or registration time for a stream without one, then by id. Streams of deleted sources are omitted.