The PUT Async Text API allows you to process any text payload to append the transcription of the previous conversation.

It can be useful in cases where you have new information like chats, emails or messages which keep generating for single entity. Using this API, you can add all the new entity data to the existing conversationId.


If there are multiple requests are submitted for the same conversationId, all the requests will be processed synchronously in order to maintain the order of the requests for the conversation.


PUT https://api.symbl.ai/v1/process/text/:conversationId

Example API call#

curl --location --request POST 'https://api.symbl.ai/v1/process/text/:conversationId' \
--header 'x-api-key: <generated_valid_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"entities": [{"customType": "Hiring Process", "text": "internships"}],
"messages": [
"payload": {
"content": "Hi Mike, Natalia here. Hope you don’t mind me reaching out. Who would be the best possible person to discuss internships and student recruitment at ABC Corp? Would you mind pointing me toward the right person and the best way to reach them? Thanks in advance for your help, I really appreciate it!"
"from": {
"userId": "natalia@example.com",
"name": "Natalia"
"payload": {
"content": "Hey Natalia, thanks for reaching out. I am connecting you with Steve who handles recruitements for us."
"from": {
"userId": "mike@abccorp.com",
"name": "Mike"

Request Headers#

Header NameRequiredValue

Path Params#

conversationIdConversationId got from the POST Async API for the text content

Request Body#

nameNostringYour meeting name. Default name set to conversationId.
messagesYeslistInput Messages to look for insights. See the messages section below for more details.
confidenceThresholdNodoubleMinimum required confidence for the insight to be recognized. Value ranges from 0.0 to 1.0. Default 0.5.
detectPhrasesNobooleanIt shows Actionable Phrases in each sentence of conversation. These sentences can be found using the Conversation's Messages API. Default value is false.
entitiesNolistInput custom entities which can be detected in your conversation using Entities' API.


payloadYesobjectInput Messages to look for insights. See the messages section below for more details.
fromNoobjectInformation about the User information produced the content of this message.
durationNoobjectDuration object containing startTime and endTime for the transcript.


contentTypeNostring (MIME type)text/plainTo indicate the type and/or format of the content. Please see RFC 6838 for more details. Currently only text/plain is supported.
fromNoobjectThe content of the message in the specified MIME type in the contentType field.


nameNostringName of the user.
userIdNostringA unique identifier of the user. E-mail ID is usually a preferred identifier for the user.


StartTimeNoDateTimeThe start time for the particular text content.
endTimeNoDateTimeThe start time for the particular text content.

Query Params#

webhookUrlNoWebhook url on which job updates to be sent. (This should be post API)

WebhookUrl will be used to send the status of job created for uploaded audio. Every time the status of the job changes it will be notified on the WebhookUrl.

Webhook Payload#

jobIdID to be used with Job API
statusCurrent status of the job. (Valid statuses - [ scheduled, in_progress, completed ])


"conversationId": "5815170693595136",
"jobId": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"

Response object#

conversationIdID to be used with Conversation API.
jobIdID to be used with Job API