Texa API · Widgets
A widget session for one customer: its token is for a web page or an app
POST/
A session for one of your customers, for a widget in a web page or an app. Give its token to the page or app: it reaches only the /v1/widget/... routes, for this customer, until expires_at. Make it on your server; never put a key in the page.
Takes an Idempotency-Key header.
Authorization
AuthorizationheaderrequiredA 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.
Headers
Idempotency-KeystringRun this request once; a retry with the same key and body gets the same answer.
Body application/json
customer_refstringrequiredcustomer_tokenstringthe customer's own token for your API, sent by a connector signed in with the signed-in customer's own token; sealed, never logged, never shown
emailstringfirst_namestringknown_factsstringlanguagestringnamestringphonestringttl_sintegerResponses
201OK
allowed_originsarray of stringcustomer_refstringenvironmentstringexpires_atstringsigned_inbooleantokenstring400400: 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
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 secondserrorobjecterror.codestringerror.fieldstringerror.messagestringerror.typestring401400: 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
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 secondserrorobjecterror.codestringerror.fieldstringerror.messagestringerror.typestring402400: 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
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 secondserrorobjecterror.codestringerror.fieldstringerror.messagestringerror.typestring403400: 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
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 secondserrorobjecterror.codestringerror.fieldstringerror.messagestringerror.typestring404400: 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
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 secondserrorobjecterror.codestringerror.fieldstringerror.messagestringerror.typestring409400: 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
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 secondserrorobjecterror.codestringerror.fieldstringerror.messagestringerror.typestring422400: 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
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 secondserrorobjecterror.codestringerror.fieldstringerror.messagestringerror.typestring429400: 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
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 secondserrorobjecterror.codestringerror.fieldstringerror.messagestringerror.typestring503400: 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
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 secondserrorobjecterror.codestringerror.fieldstringerror.messagestringerror.typestring