Texa DeskDevelopers

Texa API · Voice

A single-use token for your app to open a voice session

POST/v1/conversations/{conversation_id}/voice-sessions

url is where your app opens the voice session, with the token, once, before expires_at. Never put a key in the app.

Takes an Idempotency-Key header.

Authorization

Authorizationheaderrequired

A Texa API key, texa_test_… for the sandbox or texa_live_…, made in Texa Desk under Texa AI → Developers → API keys. Keep it on your server.

Path parameters

conversation_idstringrequired

Headers

Idempotency-Keystring

Run this request once; a retry with the same key and body gets the same answer.

Body application/json

optionsobject

mode (voice|text), brain, listens, speaks, voice, agent_name, agent_gender - chosen here, never by the app

ttl_sinteger

Default 120.

Responses

201

Successful Response

400

400: The request is not valid; error.field names the part / 401: No key, or not a live one / 402: The account's prepaid credits are used up; top up in Texa Desk / 403: The key cannot do this (a sandbox route needs a test key) / 404: No such route, or nothing with that id in this account / 409: A conflict: the conversation's state, or an Idempotency-Key reused / 422: The body is not what this route takes / 429: Too many requests: wait Retry-After seconds / 503: Texa AI is not answering right now: retry after Retry-After seconds

errorobject
error.codestring
error.fieldstring
error.messagestring
error.typestring
401

400: The request is not valid; error.field names the part / 401: No key, or not a live one / 402: The account's prepaid credits are used up; top up in Texa Desk / 403: The key cannot do this (a sandbox route needs a test key) / 404: No such route, or nothing with that id in this account / 409: A conflict: the conversation's state, or an Idempotency-Key reused / 422: The body is not what this route takes / 429: Too many requests: wait Retry-After seconds / 503: Texa AI is not answering right now: retry after Retry-After seconds

errorobject
error.codestring
error.fieldstring
error.messagestring
error.typestring
402

400: The request is not valid; error.field names the part / 401: No key, or not a live one / 402: The account's prepaid credits are used up; top up in Texa Desk / 403: The key cannot do this (a sandbox route needs a test key) / 404: No such route, or nothing with that id in this account / 409: A conflict: the conversation's state, or an Idempotency-Key reused / 422: The body is not what this route takes / 429: Too many requests: wait Retry-After seconds / 503: Texa AI is not answering right now: retry after Retry-After seconds

errorobject
error.codestring
error.fieldstring
error.messagestring
error.typestring
403

400: The request is not valid; error.field names the part / 401: No key, or not a live one / 402: The account's prepaid credits are used up; top up in Texa Desk / 403: The key cannot do this (a sandbox route needs a test key) / 404: No such route, or nothing with that id in this account / 409: A conflict: the conversation's state, or an Idempotency-Key reused / 422: The body is not what this route takes / 429: Too many requests: wait Retry-After seconds / 503: Texa AI is not answering right now: retry after Retry-After seconds

errorobject
error.codestring
error.fieldstring
error.messagestring
error.typestring
404

400: The request is not valid; error.field names the part / 401: No key, or not a live one / 402: The account's prepaid credits are used up; top up in Texa Desk / 403: The key cannot do this (a sandbox route needs a test key) / 404: No such route, or nothing with that id in this account / 409: A conflict: the conversation's state, or an Idempotency-Key reused / 422: The body is not what this route takes / 429: Too many requests: wait Retry-After seconds / 503: Texa AI is not answering right now: retry after Retry-After seconds

errorobject
error.codestring
error.fieldstring
error.messagestring
error.typestring
409

400: The request is not valid; error.field names the part / 401: No key, or not a live one / 402: The account's prepaid credits are used up; top up in Texa Desk / 403: The key cannot do this (a sandbox route needs a test key) / 404: No such route, or nothing with that id in this account / 409: A conflict: the conversation's state, or an Idempotency-Key reused / 422: The body is not what this route takes / 429: Too many requests: wait Retry-After seconds / 503: Texa AI is not answering right now: retry after Retry-After seconds

errorobject
error.codestring
error.fieldstring
error.messagestring
error.typestring
422

400: The request is not valid; error.field names the part / 401: No key, or not a live one / 402: The account's prepaid credits are used up; top up in Texa Desk / 403: The key cannot do this (a sandbox route needs a test key) / 404: No such route, or nothing with that id in this account / 409: A conflict: the conversation's state, or an Idempotency-Key reused / 422: The body is not what this route takes / 429: Too many requests: wait Retry-After seconds / 503: Texa AI is not answering right now: retry after Retry-After seconds

errorobject
error.codestring
error.fieldstring
error.messagestring
error.typestring
429

400: The request is not valid; error.field names the part / 401: No key, or not a live one / 402: The account's prepaid credits are used up; top up in Texa Desk / 403: The key cannot do this (a sandbox route needs a test key) / 404: No such route, or nothing with that id in this account / 409: A conflict: the conversation's state, or an Idempotency-Key reused / 422: The body is not what this route takes / 429: Too many requests: wait Retry-After seconds / 503: Texa AI is not answering right now: retry after Retry-After seconds

errorobject
error.codestring
error.fieldstring
error.messagestring
error.typestring
503

400: The request is not valid; error.field names the part / 401: No key, or not a live one / 402: The account's prepaid credits are used up; top up in Texa Desk / 403: The key cannot do this (a sandbox route needs a test key) / 404: No such route, or nothing with that id in this account / 409: A conflict: the conversation's state, or an Idempotency-Key reused / 422: The body is not what this route takes / 429: Too many requests: wait Retry-After seconds / 503: Texa AI is not answering right now: retry after Retry-After seconds

errorobject
error.codestring
error.fieldstring
error.messagestring
error.typestring