Skip to main content

AI service API v1.0.0

AI service for various providers, fastify on node-js.

info

You are viewing REST API documentation. This documentation is auto-generated from a swagger specification which itself is generated from annotations in the source code of the project. It is possible that this documentation includes bugs and that code samples are incomplete or wrong.

Authentication​

  • HTTP Authentication, scheme: bearer

transcriptions​

Manage transcription jobs

Create a new transcription​

POST /api/ai/{appId}/conversations/{conversationId}/transcriptions HTTP/1.1
Content-Type: application/json
Accept: application/json

Creates a new transcription for a given conversation

Request body​

{
"language": "string",
"model": "string"
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtruenone
conversationIdpathstringtruenone
bodybodyobjecttruenone
» languagebodystringtruenone
» modelbodystringfalseModel ID of any provider

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessful responseInline
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
404Not FoundNot FoundInline
Response Schema​

Status Code 200

Successful response

NameTypeRequiredRestrictionsDescription
» conversationIdstringfalsenonenone
» idstringfalsenonenone

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 404

Not Found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"conversationId": "string",
"id": "string"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/conversations/{conversationId}/transcriptions \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get all transriptions​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions HTTP/1.1
Accept: application/json

Get all transcriptions of a conversation

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the app
conversationIdpathstringtrueID of the conversation

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
404Not FoundNot foundInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» transcriptions[object]falsenonenone
»» idstringfalsenonenone
»» conversationIdstringfalsenonenone
»» statestringfalsenonenone
»» languagestringfalsenonenone
»» createdBystringfalsenonenone
»» createdAtstring(date-time)falsenonenone
Enumerated Values​
PropertyValue
stateSUBMITTED
stateRESUBMIT
statePROCESSING
stateCOMPLETED
stateFAILED

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"transcriptions": [
{
"id": "string",
"conversationId": "string",
"state": "SUBMITTED",
"language": "string",
"createdBy": "string",
"createdAt": "2019-08-24T14:15:22Z"
}
]
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get a transription's status​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{id} HTTP/1.1
Accept: application/json

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
conversationIdpathstringtrueID of the conversation
idpathstringtrueID of the transcription

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
404Not FoundNot foundInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» transcriptionobjectfalsenonenone
»» idstringfalsenonenone
»» conversationIdstringfalsenonenone
»» statestringfalsenonenone
»» languagestringfalsenonenone
»» createdBystringfalsenonenone
»» createdAtstring(date-time)falsenonenone
Enumerated Values​
PropertyValue
stateSUBMITTED
stateRESUBMIT
statePROCESSING
stateCOMPLETED
stateFAILED

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"transcription": {
"id": "string",
"conversationId": "string",
"state": "SUBMITTED",
"language": "string",
"createdBy": "string",
"createdAt": "2019-08-24T14:15:22Z"
}
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{id} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Delete a transription's status and any saved file​

DELETE /api/ai/{appId}/conversations/{conversationId}/transcriptions/{id} HTTP/1.1
Accept: application/json

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
idpathstringtrueID of the transcription

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessstring
404Not FoundNot foundInline
Response Schema​

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

"OK"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X DELETE /api/ai/{appId}/conversations/{conversationId}/transcriptions/{id} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get a transript​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{id}/signed-url HTTP/1.1
Accept: application/json

Get a signed url to a transcript

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
idpathstringtrueID of the transcript

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
404Not FoundNot foundInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» urlstringfalsenoneURL to access the transcript
» validUntilstring(date-time)falsenoneISO timestamp with url expiration date

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"url": "string",
"validUntil": "2019-08-24T14:15:22Z"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{id}/signed-url \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get a formatted transript​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{id}/content HTTP/1.1
Accept: application/json

Get the transcript contents in a conversational format

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
idpathstringtrueID of the transcript

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessstring
404Not FoundNot foundInline
Response Schema​

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{id}/content \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

translations​

Manage translation jobs

Create a new translation task​

POST /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations HTTP/1.1
Content-Type: application/json
Accept: application/json

Creates a new translation for a given conversation transcript

Request body​

{
"language": "string",
"model": "string"
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the app
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription
bodybodyobjecttruenone
» languagebodystringtrueTarget language for translation
» modelbodystringfalseModel ID of any provider

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKTranslation Task Created SuccessfullyInline
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
404Not FoundNot FoundInline
Response Schema​

Status Code 200

Translation Task Created Successfully

NameTypeRequiredRestrictionsDescription
» conversationIdstringtruenoneID of the conversation
» idstringtruenoneID of the translation

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 404

Not Found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"conversationId": "string",
"id": "string"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get all translations of a transcription​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations HTTP/1.1
Accept: application/json

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the app
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
404Not FoundNot foundInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» translations[object]falsenonenone
»» idstringtruenonenone
»» transcriptstringtruenonenone
»» statestringtruenonenone
»» languagestringtruenonenone
»» createdAtstring(date-time)truenonenone
»» updatedAtstring(date-time)truenonenone
Enumerated Values​
PropertyValue
stateSUBMITTED
stateRESUBMIT
statePROCESSING
stateCOMPLETED
stateFAILED

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"translations": [
{
"id": "string",
"transcript": "string",
"state": "SUBMITTED",
"language": "string",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
]
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get a translation's status​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations/{id} HTTP/1.1
Accept: application/json

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription
idpathstringtrueID of the translation

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
404Not FoundNot foundInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» translationobjectfalsenonenone
»» idstringtruenonenone
»» transcriptstringtruenonenone
»» statestringtruenonenone
»» languagestringtruenonenone
»» createdAtstring(date-time)truenonenone
»» updatedAtstring(date-time)truenonenone
Enumerated Values​
PropertyValue
stateSUBMITTED
stateRESUBMIT
statePROCESSING
stateCOMPLETED
stateFAILED

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"translation": {
"id": "string",
"transcript": "string",
"state": "SUBMITTED",
"language": "string",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations/{id} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Delete a translation's status and any saved file​

DELETE /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations/{id} HTTP/1.1
Accept: application/json

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the app
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription
idpathstringtrueID of the translation

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessstring
404Not FoundNot foundInline
Response Schema​

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

"OK"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X DELETE /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations/{id} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get a translation​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations/{id}/signed-url HTTP/1.1
Accept: application/json

Get a signed url to a transcription's translation

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription
idpathstringtrueID of the translation

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
404Not FoundNot foundInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» urlstringfalsenoneURL to access the translation json file
» validUntilstring(date-time)falsenoneISO timestamp with url expiration date

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"url": "string",
"validUntil": "2019-08-24T14:15:22Z"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations/{id}/signed-url \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get the formatted translation of a transcript​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations/{id}/content HTTP/1.1
Accept: application/json

Get the translated contents in a conversational format

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription
idpathstringtrueID of the translation

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessstring
404Not FoundNot foundInline
Response Schema​

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/translations/{id}/content \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

options​

Manage options for each provider

Get properties of a provider​

GET /api/ai/{appId}/providers/{provider}/properties HTTP/1.1
Accept: application/json

Get supported models, languages and regions for some provider

Parameters​

ParameterInTypeRequiredDescription
regionquerystringfalseOptional provider region used to scope region-specific models. Defaults to global.
appIdpathstringtrueApplication ID
providerpathstringtrueASR service provider name
Enumerated Values​
ParameterValue
provideropen_ai
providergoogle_cloud
providergoogle_ai_studio
providerelevenlabs

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
404Not FoundNot FoundInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» regions[string]falsenonenone
» voices[string]falsenonenone
» speechLanguages[object]falsenonenone
»» languagestringtruenoneDisplay name for speech language.
»» codestringtruenoneLanguage code for speech.
» models[object]falsenonenone
»» idstringtruenoneThe model ID.
»» providerstringtruenoneThe model provider.
»» regions[string]falsenonenone
»» transcriptionbooleanfalsenoneWhether the model is used for transcription.
»» translationbooleanfalsenoneWhether the model is used for translation.
»» promptbooleanfalsenoneWhether the model is used for prompt.
»» agentbooleanfalsenoneWhether the model is used for agent.
»» chatbooleanfalsenoneWhether the model is used for chat.
»» recognitionbooleanfalsenoneWhether the model is used for recognition.
» defaultsobjectfalsenonenone
»» transcriptionobjectfalsenonenone
»»» modelstringtruenoneDefault model for transcription
»» translationobjectfalsenonenone
»»» modelstringtruenoneDefault model for translation
»» promptobjectfalsenonenone
»»» modelstringtruenoneDefault model for prompt
»» agentobjectfalsenonenone
»»» modelstringtruenoneDefault model for agent
»»» systemPromptstringfalsenoneDefault system prompt for agent
»» recognitionobjectfalsenonenone
»»» modelstringtruenoneDefault model for recognition
»» chatobjectfalsenonenone
»»» modelstringtruenoneDefault model for chat
» tools[object]falsenonenone
»» keystringtruenonenone
»» labelstringtruenonenone
»» descriptionstringfalsenonenone
»» enabledbooleantruenonenone
Enumerated Values​
PropertyValue
provideropen_ai
providergoogle_cloud
providergoogle_ai_studio
providerelevenlabs
keycloseSession
keyscheduleVideoCallPanel
keyescalateToVideoCall
keysuggestQuickReplies
keywebSearch

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
» errorCodestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
» errorCodestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
» errorCodestringfalsenonenone

Status Code 404

Not Found

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
» errorCodestringfalsenonenone
Examples​

200 Response

{
"regions": [
"string"
],
"voices": [
"string"
],
"speechLanguages": [
{
"language": "string",
"code": "string"
}
],
"models": [
{
"id": "string",
"provider": "open_ai",
"regions": [
"string"
],
"transcription": true,
"translation": true,
"prompt": true,
"agent": true,
"chat": true,
"recognition": true
}
],
"defaults": {
"transcription": {
"model": "string"
},
"translation": {
"model": "string"
},
"prompt": {
"model": "string"
},
"agent": {
"model": "string",
"systemPrompt": "string"
},
"recognition": {
"model": "string"
},
"chat": {
"model": "string"
}
},
"tools": [
{
"key": "closeSession",
"label": "string",
"description": "string",
"enabled": true
}
]
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/providers/{provider}/properties \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get available languages​

GET /api/ai/{appId}/providers/{provider}/languages HTTP/1.1
Accept: application/json

Get the supported languages for some provider with region, model and usage filters

Parameters​

ParameterInTypeRequiredDescription
usagequerystringfalseUsage type filter
regionquerystringfalseRegion code filter
modelquerystringfalseModel identifier filter
appIdpathstringtrueApplication ID
providerpathstringtruenone
Enumerated Values​
ParameterValue
usagetranscriptions
usagetranslations
provideropen_ai
providergoogle_cloud
providergoogle_ai_studio

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» codestringfalsenoneLanguage code
» namestringfalsenoneLanguage name
» support[object]falsenoneSupport details for language
»» regionstringfalsenoneRegion code
»» modelstringfalsenoneModel identifier

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

[
{
"code": "en",
"region": "global",
"name": "English",
"model": "whisper-1"
},
{
"region": "us-west1",
"name": "English (United States)",
"code": "en-US",
"model": "chirp_2"
}
]
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/providers/{provider}/languages \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Test configured AI options​

POST /api/ai/{appId}/options/test HTTP/1.1
Content-Type: application/json
Accept: application/json

Runs a lightweight test session against the configured provider to verify connectivity.

Request body​

{
"usage": "transcription",
"languageCode": "string",
"auviousEnvironment": "string"
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
bodybodyobjecttruenone
» usagebodystringtrueUsage intent to test
» languageCodebodystringfalseOptional language code override
» auviousEnvironmentbodystringfalseOptional override for auvious environment URL
Enumerated Values​
ParameterValue
» usagetranscription
» usagetranslation
» usageprompt
» usageagent
» usagechat
» usagerecognition

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKDefault ResponseInline
Response Schema​

Status Code 200

NameTypeRequiredRestrictionsDescription
» usagestringtruenoneUsage intent to test
» passedbooleantruenonenone
» reasonstringfalsenonenone
Enumerated Values​
PropertyValue
usagetranscription
usagetranslation
usageprompt
usageagent
usagechat
usagerecognition
Examples​

200 Response

{
"usage": "transcription",
"passed": true,
"reason": "string"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/options/test \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get provisioned languages​

GET /api/ai/{appId}/enabled/languages HTTP/1.1
Accept: application/json

Get the provisioned languages of user's organization

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtruenone

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» languages[object]falsenonenone
»» codestringtruenoneThe language code (e.g., 'en', 'fr').
»» providerstringtruenoneThe language provider.
»» modelstringfalsenoneSpecific model
»» regionstringfalsenoneProvider's server region
»» usagestringfalsenoneWhat is the language used for by default.
Enumerated Values​
PropertyValue
provideropen_ai
providergoogle_cloud
providergoogle_ai_studio
usagetranscription
usagetranslation

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"languages": [
{
"code": "gr",
"provider": "open_ai",
"model": "string",
"region": "string",
"usage": "transcription"
}
]
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/enabled/languages \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Add language support to user's application​

POST /api/ai/{appId}/enabled/languages HTTP/1.1
Content-Type: application/json
Accept: application/json

It will overwrite existing language configuration for the specified provider/usage combo.

Request body​

{
"code": "string",
"provider": "GOOGLE_CLOUD",
"regions": [
{
"region": "string",
"model": "string"
}
],
"setDefault": "transcription"
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
bodybodyobjecttruenone
» codebodystringtrueLanguage code
» providerbodystringtrueSTT Provider
» regionsbody[object]falseDefine optional regions and models for the language. Missing values suggests to consider all options.
»» regionbodystringtrueRegion code
»» modelbodystringfalseModel name
» setDefaultbodystringfalsenone
Enumerated Values​
ParameterValue
» providerGOOGLE_CLOUD
» providerOPEN_AI
» setDefaulttranscription
» setDefaulttranslation

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
Response Schema​

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/enabled/languages \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Remove a language from a user's organization​

DELETE /api/ai/{appId}/enabled/languages/{code} HTTP/1.1
Accept: application/json

Remove all by code or optionally make it more specific by adding provider or usage

Parameters​

ParameterInTypeRequiredDescription
providerquerystringfalseRemove by service provider
usagequerystringfalseRemove by language usage
appIdpathstringtrueApplication ID
codepathstringtrueLanguage code
Enumerated Values​
ParameterValue
providerGOOGLE_CLOUD
providerOPEN_AI
usagetranscription
usagetranslation

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
Response Schema​

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X DELETE /api/ai/{appId}/enabled/languages/{code} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get provisioned models​

GET /api/ai/{appId}/enabled/models HTTP/1.1
Accept: application/json

Get the provisioned models for some organization

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtruenone

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» models[object]falsenonenone
»» idstringfalsenoneThe model ID.
»» providerstringfalsenoneThe model provider.
»» usagestringfalsenoneIntended usage
Enumerated Values​
PropertyValue
provideropen_ai
providergoogle_cloud
providergoogle_ai_studio
providerelevenlabs
usagetranscription
usagetranslation
usageprompt
usageagent
usagechat
usagerecognition

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"models": [
{
"id": "string",
"provider": "open_ai",
"usage": "transcription"
}
]
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/enabled/models \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Mark an available model for usage by the organization​

POST /api/ai/{appId}/enabled/models HTTP/1.1
Content-Type: application/json
Accept: application/json

Model can be of any type, if it is the first one it becomes the default for its type

Request body​

{
"id": "string",
"provider": "GOOGLE_CLOUD",
"usage": "transcription"
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
bodybodyobjecttruenone
» idbodystringtrueModel ID
» providerbodystringtrueService provider ID
» usagebodystringtruenone
Enumerated Values​
ParameterValue
» providerGOOGLE_CLOUD
» providerGOOGLE_AI_STUDIO
» providerOPEN_AI
» providerELEVENLABS
» usagetranscription
» usagetranslation
» usageprompt
» usageagent
» usagechat
» usagerecognition

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
404Not FoundNot FoundInline
Response Schema​

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
» errorCodestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
» errorCodestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
» errorCodestringfalsenonenone

Status Code 404

Not Found

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
» errorCodestringfalsenonenone
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/enabled/models \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Remove a model from the organization​

DELETE /api/ai/{appId}/enabled/models/{id}/providers/{provider} HTTP/1.1
Accept: application/json

Parameters​

ParameterInTypeRequiredDescription
usagequerystringfalsenone
appIdpathstringtrueApplication ID
idpathstringtrueModel ID
providerpathstringtrueProvider ID
Enumerated Values​
ParameterValue
usagetranscription
usagetranslation
usageprompt
usageagent
usagerecognition
providerGOOGLE_CLOUD
providerGOOGLE_AI_STUDIO
providerOPEN_AI
providerELEVENLABS

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
Response Schema​

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» codenumberfalsenonenone
» severitystringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X DELETE /api/ai/{appId}/enabled/models/{id}/providers/{provider} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

prompts​

Prompt an AI model​

POST /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/prompts HTTP/1.1
Content-Type: application/json
Accept: application/json

Creates a new prompt task for a given conversation transcript

Request body​

{
"model": "string",
"customPrompt": "string",
"intent": "summary"
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription
bodybodyobjecttruenone
» modelbodystringfalseID of the sentiment model of any provider
» customPromptbodystringfalseCustom prompt override for the intent
» intentbodystringtrueIntent for querying a model (use prompt for anything else).
Enumerated Values​
ParameterValue
» intentsummary
» intentsentiment
» intentprompt

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKTask Created SuccessfullyInline
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
404Not FoundNot FoundInline
Response Schema​

Status Code 200

Task Created Successfully

NameTypeRequiredRestrictionsDescription
» conversationIdstringtruenoneID of the conversation
» idstringtruenoneID of the analysis

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 404

Not Found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"conversationId": "string",
"id": "string"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/prompts \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get all prompt tasks of a transcription​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/prompts HTTP/1.1
Accept: application/json

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
404Not FoundNot foundInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» prompts[object]falsenonenone
»» idstringtruenonenone
»» transcriptstringtruenonenone
»» intentstringfalsenonenone
»» statestringtruenonenone
»» createdAtstring(date-time)truenonenone
»» updatedAtstring(date-time)truenonenone
Enumerated Values​
PropertyValue
intentsummary
intentsentiment
intentprompt
stateSUBMITTED
stateRESUBMIT
statePROCESSING
stateCOMPLETED
stateFAILED

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"prompts": [
{
"id": "string",
"transcript": "string",
"intent": "summary",
"state": "SUBMITTED",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
]
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/prompts \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get a prompt's task status​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/prompts/{id} HTTP/1.1
Accept: application/json

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription
idpathstringtrueID of the analysis

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessInline
404Not FoundNot foundInline
Response Schema​

Status Code 200

Success

NameTypeRequiredRestrictionsDescription
» promptobjectfalsenonenone
»» idstringtruenonenone
»» transcriptstringtruenonenone
»» intentstringfalsenonenone
»» statestringtruenonenone
»» createdAtstring(date-time)truenonenone
»» updatedAtstring(date-time)truenonenone
Enumerated Values​
PropertyValue
intentsummary
intentsentiment
intentprompt
stateSUBMITTED
stateRESUBMIT
statePROCESSING
stateCOMPLETED
stateFAILED

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"prompt": {
"id": "string",
"transcript": "string",
"intent": "summary",
"state": "SUBMITTED",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/prompts/{id} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Delete a prompt task status and any file saved​

DELETE /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/prompts/{id} HTTP/1.1
Accept: application/json

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription
idpathstringtrueID of the analysis

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessstring
404Not FoundNot foundInline
Response Schema​

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

"OK"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X DELETE /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/prompts/{id} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Get a prompt task result​

GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/prompts/{id}/content HTTP/1.1
Accept: application/json

Get the result of prompting a model on a transcription

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueID of the application
conversationIdpathstringtrueID of the conversation
transcriptionIdpathstringtrueID of the transcription
idpathstringtrueID of the sentiment

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessstring
404Not FoundNot foundInline
Response Schema​

Status Code 404

Not found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X GET /api/ai/{appId}/conversations/{conversationId}/transcriptions/{transcriptionId}/prompts/{id}/content \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

recognition​

Create a new image recognition task​

POST /api/ai/{appId}/vision/recognition HTTP/1.1
Content-Type: application/json
Accept: application/json

Query a vision model with custom prompt and an (base64) image

Request body​

{
"prompt": "string",
"image_url": "string",
"model": "string"
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtruenone
bodybodyobjecttruenone
» promptbodystringfalseCustom image recognition prompt
» image_urlbodystringtrueUrl or base64-encoded image
» modelbodystringfalseModel ID of any provider

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKRecognition Task Created SuccessfullyInline
400Bad RequestBad RequestInline
401UnauthorizedUnauthorizedInline
403ForbiddenForbiddenInline
404Not FoundNot FoundInline
Response Schema​

Status Code 200

Recognition Task Created Successfully

NameTypeRequiredRestrictionsDescription
» idstringtruenoneID of the task

Status Code 400

Bad Request

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 401

Unauthorized

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 403

Forbidden

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone

Status Code 404

Not Found

NameTypeRequiredRestrictionsDescription
» statusCodenumberfalsenonenone
» errorstringfalsenonenone
» messagestringfalsenonenone
Examples​

200 Response

{
"id": "string"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/vision/recognition \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

live​

Create a new live session​

POST /api/ai/{appId}/live HTTP/1.1
Content-Type: application/json
Accept: application/json

Creates a new live AI session

Request body​

{
"modality": "text",
"auviousEnvironment": "string",
"languageCode": "string",
"username": "string",
"voice": "alloy",
"endpoint": "string",
"promptContext": "string",
"userLocalTime": "string",
"liveToolOverrides": {
"property1": true,
"property2": true
}
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtruenone
bodybodyobjecttruenone
» modalitybodystringtruenone
» auviousEnvironmentbodystringfalsenone
» languageCodebodystringfalsenone
» usernamebodystringfalseThe name to be addressed by the AI
» voicebodystringfalseOptional TTS voice name for audio sessions.
» endpointbodystringfalsenone
» promptContextbodystringfalsenone
» userLocalTimebodystringfalsenone
» liveToolOverridesbodyobjectfalseOptional map of live tool names to booleans overriding app live tool configuration for this session.
»» additionalPropertiesbodybooleanfalsenone
Enumerated Values​
ParameterValue
» modalitytext
» modalityaudio
» voicealloy
» voiceash
» voiceballad
» voicecoral
» voiceecho
» voicesage
» voiceshimmer
» voiceverse
» voicemarin
» voicecedar
» voiceAchernar
» voiceAchird
» voiceAlgenib
» voiceAlgieba
» voiceAlnilam
» voiceAoede
» voiceAutonoe
» voiceCallirrhoe
» voiceCharon
» voiceDespina
» voiceEnceladus
» voiceErinome
» voiceFenrir
» voiceGacrux
» voiceIapetus
» voiceKore
» voiceLaomedeia
» voiceLeda
» voiceOrus
» voicePulcherrima
» voicePuck
» voiceRasalgethi
» voiceSadachbia
» voiceSadaltager
» voiceSchedar
» voiceSulafat
» voiceUmbriel
» voiceVindemiatrix
» voiceZephyr
» voiceZubenelgenubi

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessful responseInline
400Bad RequestBad requeststring
Response Schema​

Status Code 200

Successful response

NameTypeRequiredRestrictionsDescription
» idstringfalsenonenone
Examples​

200 Response

{
"id": "string"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/live \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Create a new conference​

POST /api/ai/{appId}/conference HTTP/1.1
Content-Type: application/json
Accept: application/json

Creates a new conference to later join a session with AI

Request body​

{
"username": "string",
"endpoint": "string",
"user": "string"
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtruenone
bodybodyobjecttruenone
» usernamebodystringfalsenone
» endpointbodystringtruenone
» userbodystringtruenone

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKSuccessful responseInline
Response Schema​

Status Code 200

Successful response

NameTypeRequiredRestrictionsDescription
» conferenceIdstringfalsenonenone
» ticketstringfalsenonenone
Examples​

200 Response

{
"conferenceId": "string",
"ticket": "string"
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/conference \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Delete a live session​

DELETE /api/ai/{appId}/live/{id} HTTP/1.1
Accept: application/json

Deletes an existing live AI session

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
idpathstringtrueLive session ID

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X DELETE /api/ai/{appId}/live/{id} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Escalate live session​

POST /api/ai/{appId}/live/{id}/escalate HTTP/1.1
Content-Type: application/json
Accept: application/json

Escalates a live session to realtime mode, optionally with a different AI provider.

Request body​

{
"provider": "OPEN_AI",
"voice": "string",
"liveToolOverrides": {
"property1": true,
"property2": true
}
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
idpathstringtrueLive session ID
bodybodyobjecttruenone
» providerbodystringfalseOptional AI provider to use for escalation.
» voicebodystringfalseOptional voice to use for escalated live session.
» liveToolOverridesbodyobjectfalseOptional map of live tool names to booleans overriding app configuration.
»» additionalPropertiesbodybooleanfalsenone
Enumerated Values​
ParameterValue
» providerOPEN_AI
» providerGOOGLE_CLOUD
» providerGOOGLE_AI_STUDIO
» providerELEVENLABS

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKEscalation resultInline
Response Schema​

Status Code 200

Escalation result

NameTypeRequiredRestrictionsDescription
» escalatedbooleantruenonenone
Examples​

200 Response

{
"escalated": true
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/live/{id}/escalate \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Deescalate live session​

DELETE /api/ai/{appId}/live/{id}/escalate HTTP/1.1
Accept: application/json

Stops realtime escalation and routes all future operations back through chat conversation.

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
idpathstringtrueLive session ID

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKDeescalation resultInline
Response Schema​

Status Code 200

Deescalation result

NameTypeRequiredRestrictionsDescription
» deescalatedbooleantruenonenone
Examples​

200 Response

{
"deescalated": true
}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X DELETE /api/ai/{appId}/live/{id}/escalate \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Join a live session with conference​

POST /api/ai/{appId}/live/{id}/join/{conferenceId} HTTP/1.1
Accept: application/json

Joins an existing live AI session with a specific conference

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
idpathstringtrueLive session ID
conferenceIdpathstringtrueConference ID

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
204No ContentAlready joined the requested conferencestring
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/live/{id}/join/{conferenceId} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Route audio stream​

POST /api/ai/{appId}/live/{id}/audio/{streamId} HTTP/1.1
Accept: application/json

Routes audio stream from an endpoint to a live session

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
idpathstringtrueLive session ID
streamIdpathstringtrueAudio stream ID to route

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/live/{id}/audio/{streamId} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Disconnect audio stream​

DELETE /api/ai/{appId}/live/{id}/audio/{streamId} HTTP/1.1
Accept: application/json

Disconnects audio stream from an endpoint in a live session

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
idpathstringtrueLive session ID
streamIdpathstringtrueAudio stream ID to route

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
204No ContentNo audio track was activestring
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X DELETE /api/ai/{appId}/live/{id}/audio/{streamId} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Route video stream​

POST /api/ai/{appId}/live/{id}/video/{streamId} HTTP/1.1
Accept: application/json

Routes video stream from an endpoint to a live session

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
idpathstringtrueLive session ID
streamIdpathstringtrueVideo stream ID to route

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/live/{id}/video/{streamId} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Disconnect video stream​

DELETE /api/ai/{appId}/live/{id}/video/{streamId} HTTP/1.1
Accept: application/json

Disconnects video stream from an endpoint in a live session

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
idpathstringtrueLive session ID
streamIdpathstringtrueVideo stream ID to route

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
204No ContentNo video track was activestring
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X DELETE /api/ai/{appId}/live/{id}/video/{streamId} \
-H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Post text content​

POST /api/ai/{appId}/live/{id}/text HTTP/1.1
Content-Type: application/json
Accept: application/json

Posts text content from an endpoint to a live session

Request body​

{
"message": "string"
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
idpathstringtruenone
bodybodyobjecttruenone
» messagebodystringtruenone

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKstring
Examples​

200 Response

"string"
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/live/{id}/text \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Return tool response​

POST /api/ai/{appId}/live/{id}/tool-response HTTP/1.1
Content-Type: application/json
Accept: application/json

The result of an earlier tool call or error

Request body​

{
"name": "string",
"response": null,
"error": "string"
}

Parameters​

ParameterInTypeRequiredDescription
appIdpathstringtrueApplication ID
idpathstringtruenone
bodybodyobjecttruenone
» namebodystringtrueThe original name of the tool
» responsebodyanyfalseThe result of the tool call - can be any type
» errorbodystringfalsenone

Responses​

Overview​
StatusMeaningDescriptionSchema
200OKOKInline
Response Schema​

Status Code 200

OK

NameTypeRequiredRestrictionsDescription
Examples​

200 Response

{}
caution

To perform this operation, you must be authenticated by means of one of the following methods: bearerAuth

Code samples​

curl -X POST /api/ai/{appId}/live/{id}/tool-response \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'

Schemas​

AppErrorCode​

"APPLICATION_NOT_FOUND"

*Application error codes.

  • APPLICATION_NOT_FOUND: Application not found.
  • CREATE_LIVE_SESSION: Failed to create live session.
  • AI_PROVIDER_SESSION_ERROR: AI provider session error.
  • AI_PROVIDER_SERVICE_UNAVAILABLE: AI provider service unavailable.
  • AI_PROVIDER_MODEL_NOT_FOUND: AI provider model not found.
  • AI_PROVIDER_LANGUAGE_CODE_INVALID: AI selected language code is invalid.
  • AI_PROVIDER_ORG_NOT_FOUND: AI provider organization not found.
  • AI_PROVIDER_GENERAL_ERROR: AI provider general error.
  • STORAGE_CONFIGURATION_MISSING: Storage is not configured correctly: provider name, key or bucket is missing.*

Properties​

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenoneApplication error codes.

- APPLICATION_NOT_FOUND: Application not found.
- CREATE_LIVE_SESSION: Failed to create live session.
- AI_PROVIDER_SESSION_ERROR: AI provider session error.
- AI_PROVIDER_SERVICE_UNAVAILABLE: AI provider service unavailable.
- AI_PROVIDER_MODEL_NOT_FOUND: AI provider model not found.
- AI_PROVIDER_LANGUAGE_CODE_INVALID: AI selected language code is invalid.
- AI_PROVIDER_ORG_NOT_FOUND: AI provider organization not found.
- AI_PROVIDER_GENERAL_ERROR: AI provider general error.
- STORAGE_CONFIGURATION_MISSING: Storage is not configured correctly: provider name, key or bucket is missing.
Enumerated Values​
PropertyValue
anonymousAPPLICATION_NOT_FOUND
anonymousCREATE_LIVE_SESSION
anonymousAI_PROVIDER_SESSION_ERROR
anonymousAI_PROVIDER_SERVICE_UNAVAILABLE
anonymousAI_PROVIDER_MODEL_NOT_FOUND
anonymousAI_PROVIDER_LANGUAGE_CODE_INVALID
anonymousAI_PROVIDER_ORG_NOT_FOUND
anonymousAI_PROVIDER_GENERAL_ERROR
anonymousSTORAGE_CONFIGURATION_MISSING

AppError​

{
"code": 0,
"severity": "DEFAULT",
"message": "string",
"errorCode": "APPLICATION_NOT_FOUND"
}

Properties​

NameTypeRequiredRestrictionsDescription
codenumbertruenoneHTTP status code.
severitystringtruenonenone
messagestringtruenonenone
errorCodeAppErrorCodefalsenoneApplication error codes.

- APPLICATION_NOT_FOUND: Application not found.
- CREATE_LIVE_SESSION: Failed to create live session.
- AI_PROVIDER_SESSION_ERROR: AI provider session error.
- AI_PROVIDER_SERVICE_UNAVAILABLE: AI provider service unavailable.
- AI_PROVIDER_MODEL_NOT_FOUND: AI provider model not found.
- AI_PROVIDER_LANGUAGE_CODE_INVALID: AI selected language code is invalid.
- AI_PROVIDER_ORG_NOT_FOUND: AI provider organization not found.
- AI_PROVIDER_GENERAL_ERROR: AI provider general error.
- STORAGE_CONFIGURATION_MISSING: Storage is not configured correctly: provider name, key or bucket is missing.
Enumerated Values​
PropertyValue
severityDEFAULT
severityDEBUG
severityINFO
severityNOTICE
severityWARNING
severityERROR
severityCRITICAL
severityALERT
severityEMERGENCY

AppErrorCatalog​

[
{
"errorCode": "APPLICATION_NOT_FOUND",
"message": "Application not found."
},
{
"errorCode": "CREATE_LIVE_SESSION",
"message": "Failed to create live session."
},
{
"errorCode": "AI_PROVIDER_SESSION_ERROR",
"message": "AI provider session error."
},
{
"errorCode": "AI_PROVIDER_SERVICE_UNAVAILABLE",
"message": "AI provider service unavailable."
},
{
"errorCode": "AI_PROVIDER_MODEL_NOT_FOUND",
"message": "AI provider model not found."
},
{
"errorCode": "AI_PROVIDER_LANGUAGE_CODE_INVALID",
"message": "AI selected language code is invalid."
},
{
"errorCode": "AI_PROVIDER_ORG_NOT_FOUND",
"message": "AI provider organization not found."
},
{
"errorCode": "AI_PROVIDER_GENERAL_ERROR",
"message": "AI provider general error."
},
{
"errorCode": "STORAGE_CONFIGURATION_MISSING",
"message": "Storage is not configured correctly: provider name, key or bucket is missing."
}
]

Application-level errors and their public messages.

Properties​

NameTypeRequiredRestrictionsDescription
errorCodeAppErrorCodetruenoneApplication error codes.

- APPLICATION_NOT_FOUND: Application not found.
- CREATE_LIVE_SESSION: Failed to create live session.
- AI_PROVIDER_SESSION_ERROR: AI provider session error.
- AI_PROVIDER_SERVICE_UNAVAILABLE: AI provider service unavailable.
- AI_PROVIDER_MODEL_NOT_FOUND: AI provider model not found.
- AI_PROVIDER_LANGUAGE_CODE_INVALID: AI selected language code is invalid.
- AI_PROVIDER_ORG_NOT_FOUND: AI provider organization not found.
- AI_PROVIDER_GENERAL_ERROR: AI provider general error.
- STORAGE_CONFIGURATION_MISSING: Storage is not configured correctly: provider name, key or bucket is missing.
messagestringtruenonenone

ToolRequestSchedule​

{
"id": "string",
"name": "scheduleVideoCallPanel",
"arguments": null,
"response": "string"
}

Opens the scheduling interface to book a video call with an available live agent

Properties​

NameTypeRequiredRestrictionsDescription
idstringfalsenonenone
namestringtruenonenone
argumentsanyfalsenonenone
responsestringfalsenoneISO date string or empty

ToolRequestQuickReplies​

{
"id": "string",
"name": "suggestQuickReplies",
"arguments": {
"replies": [
"string"
]
},
"response": "string"
}

Generates clickable quick reply buttons that MUST be extracted from the previous message for faster user responses

Properties​

NameTypeRequiredRestrictionsDescription
idstringfalsenonenone
namestringtruenonenone
argumentsobjectfalsenonenone
» replies[string]falsenoneAn small list of suggested quick actions that advance or redirect the conversation flow, avoiding passive responses
responsestringfalsenoneThe quick reply itself

MQTT_EVENT​

{
"type": "ASROfflineTranscriptCreatedEvent",
"timestamp": "2019-08-24T14:15:22Z",
"id": "string"
}

Properties​

NameTypeRequiredRestrictionsDescription
typestringtruenonenone
timestampstring(date-time)truenonenone
idstringtruenonenone
Enumerated Values​
PropertyValue
typeASROfflineTranscriptCreatedEvent
typeASROfflineTranscriptProcessingEvent
typeASROfflineTranscriptFailedEvent
typeASROfflineTranslationCreatedEvent
typeASROfflineTranslationProcessingEvent
typeASROfflineTranslationFailedEvent
typeAIPromptCreatedEvent
typeAIPromptProcessingEvent
typeAIPromptFailedEvent
typeAIRecognitionCreatedEvent
typeAIRecognitionProcessingEvent
typeAIRecognitionFailedEvent
typeAILiveCreatedEvent
typeAILiveEndedEvent
typeAILiveFailedEvent
typeAILiveResponseEvent
typeAILiveStreamConnectedEvent
typeAILiveStreamDisconnectedEvent
typeAIToolEvent
typeAIToolCancellationEvent