SENDO HUMAN HANDOFF API

Escalate a conversation handled by an AI Agent to a human team by creating a support ticket, and cancel it when it is no longer needed.


Create Ticket

POSThttps://api.sendo.cloud/api/ticket-number

This endpoint creates a ticket to escalate a conversation between an AI Agent and a user to a human team. The ticket is sent by email to the recipients in to, with a copy to the recipients in cc, and includes a summary of the conversation.

Required attributes


FieldTypeDefault ValueOptionalDescription
call_idstringnoneNoThe conversation_id of the Talking Bits conversation being escalated.
conversation_contextstringnoneNoA summary of the conversation between the AI Agent and the user, so the human team can pick up the case without reading the full transcript.
tostringnoneNoThe email address(es) the case will be escalated to. Multiple recipients can be separated by semicolons (;).
ccstringnoneYesThe email address(es) that will receive a copy of the case. Multiple addresses can be separated by semicolons (;).

Request body.


curl --location 'https://api.sendo.cloud/api/ticket-number' 
--header 'apikey: fQbUHC3LPDQxUsdfsv6545gfdgKBRkImwePfwz' 
--header 'Content-Type: application/json' 
--data-raw  '{
"call_id": "3465676",
"conversation_context": "The customer reports that their invoice for September was charged twice and requests a refund of the duplicate charge. The agent confirmed the account number and both transactions, but refunds require approval from the billing team.",
"to": "billing@yourmail.com",
"cc": "supervisor@yourmail.com"
}'

Request body with multiple recipients.


curl --location 'https://api.sendo.cloud/api/ticket-number' 
--header 'apikey: fQbUHC3LPDQxUsdfsv6545gfdgKBRkImwePfwz' 
--header 'Content-Type: application/json' 
--data-raw  '{
"call_id": "3465677",
"conversation_context": "The user cannot log in to the mobile app after changing their phone. The agent guided them through a password reset, but the verification SMS is not arriving. The user asked to speak with a person.",
"to": "support@yourmail.com;tier2@yourmail.com",
"cc": "operations@yourmail.com;quality@yourmail.com"
}'

Request body without copy recipients.


curl --location 'https://api.sendo.cloud/api/ticket-number' 
--header 'apikey: fQbUHC3LPDQxUsdfsv6545gfdgKBRkImwePfwz' 
--header 'Content-Type: application/json' 
--data-raw  '{
"call_id": "3465678",
"conversation_context": "The customer wants to change the delivery address of order #88213, which has already been shipped. The agent cannot modify shipped orders.",
"to": "logistics@yourmail.com"
}'
Response .
CodeDescription
201Ticket created
{
  "ticketNumber": "UNM-000001"
}

Keep the ticketNumber: you need it to cancel the ticket.


Server responses.

Cancel Ticket

POSThttps://api.sendo.cloud/api/ticket-number/{ticketNumber}/cancel

This endpoint cancels a ticket previously created with Create Ticket, for example when the user’s issue was resolved before the human team took the case.

Path parameters


FieldTypeDefault ValueOptionalDescription
ticketNumberstringnoneNoThe ticket number returned by Create Ticket. Example: UNM-000015.

Request. This endpoint does not require a request body.

curl --location --request POST 'https://api.sendo.cloud/api/ticket-number/UNM-000015/cancel' \
--header 'apikey: fQbUHC3LPDQxUsdfsv6545gfdgKBRkImwePfwz'
Response .
CodeDescription
200Ticket cancelled
{
  "ticketNumber": "UNM-000015",
  "status": "cancelled"
}

Server responses.