Upload audio file
const url = 'https://example.com/v1/audio';const form = new FormData();form.append('file', 'file');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/audio \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: multipart/form-data' \ --form file=@fileStores an audio file for use in scenario bricks and returns its id and a stable playback location. The file part’s content type is preserved (audio/wav when the part carries none); the client filename is kept as provenance metadata.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Target account for account-scoped resources. Principals without an account scope (superuser, tenant API key) MUST send it to declare which account to operate in. Account-scoped principals may omit it; if sent it must match their own account or the request is rejected with scope_conflict. For tenant API keys the account must belong to the key’s tenant.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Responses
Section titled “Responses”Created
object
Aud_-prefixed audio sid.
Stable athena URL serving the file — safe to embed in scenario content, never expires.
Stored basename, aud_
Content type the file is stored and served with.
Canonical storage object URI (e.g. gs://
Storage provider holding the object (e.g. gcs); discriminates the url scheme.
Examplegenerated
{ "id": "example", "location": "example", "filename": "example", "content_type": "example", "url": "example", "provider": "example"}Invalid request body or parameters
object
Stable lower_snake_case usecase code (e.g. scenario_not_found)
Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered
Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)
object
Validation errors keyed by entity
object
object
SCN1xx constructor validation code
Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "data": { "topic": "example", "errors": { "scenario": [ { "code": "example", "message": "example", "summary": "example", "tree_id": "example", "node_id": "example", "output_type": "example", "duplicate_tree_index": "example", "duplicate_node_index": "example", "property": "example", "invalid_value": "example" } ] }, "agents": [ "example" ] }}Missing or invalid credentials
object
Stable lower_snake_case usecase code (e.g. scenario_not_found)
Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered
Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)
object
Validation errors keyed by entity
object
object
SCN1xx constructor validation code
Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "data": { "topic": "example", "errors": { "scenario": [ { "code": "example", "message": "example", "summary": "example", "tree_id": "example", "node_id": "example", "output_type": "example", "duplicate_tree_index": "example", "duplicate_node_index": "example", "property": "example", "invalid_value": "example" } ] }, "agents": [ "example" ] }}Caller has no access
object
Stable lower_snake_case usecase code (e.g. scenario_not_found)
Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered
Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)
object
Validation errors keyed by entity
object
object
SCN1xx constructor validation code
Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "data": { "topic": "example", "errors": { "scenario": [ { "code": "example", "message": "example", "summary": "example", "tree_id": "example", "node_id": "example", "output_type": "example", "duplicate_tree_index": "example", "duplicate_node_index": "example", "property": "example", "invalid_value": "example" } ] }, "agents": [ "example" ] }}File exceeds the 32 MiB upload limit
Internal server error
object
Stable lower_snake_case usecase code (e.g. scenario_not_found)
Registered machine code — generic ERRxxx by status class (ERR001–ERR020 reserved); entity-prefixed codes (SCN1xx) appear only inside validation details; registry in docs/specifications/error-envelope-design.md, append-only, never renumbered
Structured details, present only where there is structure to carry: validation failures (topic validation, per-entity errors) and delete conflicts (topic conflict, referencing agents)
object
Validation errors keyed by entity
object
object
SCN1xx constructor validation code
Ids of the agents referencing the resource a delete was rejected for; first 20 — message carries the total count
Examplegenerated
{ "error": "example", "code": "example", "message": "example", "data": { "topic": "example", "errors": { "scenario": [ { "code": "example", "message": "example", "summary": "example", "tree_id": "example", "node_id": "example", "output_type": "example", "duplicate_tree_index": "example", "duplicate_node_index": "example", "property": "example", "invalid_value": "example" } ] }, "agents": [ "example" ] }}