curl --request POST \
--url https://{projectID}.texterchat.com/server/api/v2/quick-replies \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"send": {
"contents": [
{
"type": "text",
"text": "Thanks for reaching out! An agent will reply shortly."
}
],
"target": [
{
"name": "whatsapp",
"accountId": "972586640430"
}
]
}
}
'{
"_id": "6970a1b2c3d4e5f601234567",
"send": {
"contents": [
{
"type": "text",
"text": "Thanks for reaching out! An agent will reply shortly."
}
],
"target": [
{
"name": "whatsapp",
"accountId": "972586640430"
}
]
},
"display": {
"position": "top",
"title": "Greeting"
},
"metadata": {
"created": 1768314807488
}
}{
"error": "<string>"
}Quick Replies
Create Quick Reply
Create a new quick reply. A quick reply holds one or more prepared messages (send.contents, same structure as Send a Message to Chat bodies) and a send.target list defining which channels - or which single chat - it is available for. The contents are validated against the limits of every targeted channel.
POST
https://{projectID}.texterchat.com/server/api/v2
/
quick-replies
curl --request POST \
--url https://{projectID}.texterchat.com/server/api/v2/quick-replies \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"send": {
"contents": [
{
"type": "text",
"text": "Thanks for reaching out! An agent will reply shortly."
}
],
"target": [
{
"name": "whatsapp",
"accountId": "972586640430"
}
]
}
}
'{
"_id": "6970a1b2c3d4e5f601234567",
"send": {
"contents": [
{
"type": "text",
"text": "Thanks for reaching out! An agent will reply shortly."
}
],
"target": [
{
"name": "whatsapp",
"accountId": "972586640430"
}
]
},
"display": {
"position": "top",
"title": "Greeting"
},
"metadata": {
"created": 1768314807488
}
}{
"error": "<string>"
}Required token scopes:
Manage quick replies
AI quick replies
Texter’s inbox shows a special AI suggestion UI for quick replies whosemetadata.client.aiQuickReply is true: they appear as suggested replies on the targeted chat, sorted on top, with an “unseen suggestion” indicator for agents. To create one (the same flow Texter’s own AI assistant uses):
- Create a quick reply targeted at one specific chat - set
send.target[0].idto the chat’s channel contact ID (channelInfo.id, e.g. the contact’s phone number - from Search Chats), and optionallydisplay.noteto something like"AI suggestion". - Mark it with the Update Existing Quick Reply endpoint:
[{ "updateClientMetadata": { "aiQuickReply": true } }]. - When the suggestion becomes stale, delete it (or replace its contents with
updateSendContents).
Authorizations
API token generated in Texter: gear icon → Developers → API Tokens. When creating a token, assign it the scopes required by the endpoints you plan to call - each endpoint lists its required scopes.
Body
application/json
Response
The created quick reply. Field-by-field reference: The Quick Reply object
A quick reply - one or more prepared messages agents (or the AI assistant) can send into matching chats