Texa DeskDevelopers

Texa API · Conversations

Send the customer's message; the reply comes back in events

POST/v1/conversations/{conversation_id}/messages

Connected actions in the answer run by themselves and are marked "handled_by": "texa".

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

attachmentsarray of object

{media_id} from POST /v1/media - the turn waits for it to be understood; {type: location, latitude, longitude, name}; {type: contact, name, phone}; {type: sticker|reaction, emoji} - a mood, never a yes; or a description of a file

headersobject

email: Message-ID, In-Reply-To

message_idstring

your id for this message: a redelivery is answered, not re-run

reply_audioboolean

from now on, replies also as voice notes (true) or not (false)

sender_namestring
sent_atstring (date-time)
subjectstring
textstring

Default "".

Responses

200

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