curl -X POST "https://api.sayvy.ai/api/v1/quick-replies" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"shortcut": "/support-hours",
"content": "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST."
}'
import requests
url = "https://api.sayvy.ai/api/v1/quick-replies"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"shortcut": "/support-hours",
"content": "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST."
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/quick-replies", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
shortcut: "/support-hours",
content: "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST."
})
});
const data = await response.json();
console.log(data);
{
"id": "c3f81e19-5d22-48a3-bb90-098716b2ef3a",
"shortcut": "/support-hours",
"content": "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST.",
"created_at": "2026-09-07T15:10:00Z"
}
{
"detail": [
{
"loc": ["body", "shortcut"],
"msg": "field required",
"type": "value_error.missing"
}
]
}
Quick Replies
Create quick reply
Register a new canned message shortcut and template for your organization
POST
/
api
/
v1
/
quick-replies
curl -X POST "https://api.sayvy.ai/api/v1/quick-replies" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"shortcut": "/support-hours",
"content": "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST."
}'
import requests
url = "https://api.sayvy.ai/api/v1/quick-replies"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"shortcut": "/support-hours",
"content": "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST."
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/quick-replies", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
shortcut: "/support-hours",
content: "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST."
})
});
const data = await response.json();
console.log(data);
{
"id": "c3f81e19-5d22-48a3-bb90-098716b2ef3a",
"shortcut": "/support-hours",
"content": "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST.",
"created_at": "2026-09-07T15:10:00Z"
}
{
"detail": [
{
"loc": ["body", "shortcut"],
"msg": "field required",
"type": "value_error.missing"
}
]
}
Create a new quick reply snippet containing a trigger shortcut (e.g.
/welcome) and its message content. Creating a quick reply automatically busts the organization’s snippet Redis cache.
Authentication
This endpoint requires Bearer token authentication.Authorization: Bearer <token>
| Header | Type | Required | Description | Format |
|---|---|---|---|---|
Authorization | string | Yes | Scoped organization API key or Bearer JWT token | Bearer <token> |
Request Body
string
required
Bearer token for authentication. Format:
Bearer <token>.string
required
Keyboard trigger shortcut prefixed with a slash (1 to 100 characters). Example:
/greeting or /pricing.string
required
The expanded text content of the snippet inserted into the chat composer.
Response Fields
string
Generated UUID identifier of the created quick reply.
string
Assigned shortcut trigger string.
string
Template body text.
string
ISO 8601 creation timestamp.
curl -X POST "https://api.sayvy.ai/api/v1/quick-replies" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"shortcut": "/support-hours",
"content": "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST."
}'
import requests
url = "https://api.sayvy.ai/api/v1/quick-replies"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"shortcut": "/support-hours",
"content": "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST."
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/quick-replies", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
shortcut: "/support-hours",
content: "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST."
})
});
const data = await response.json();
console.log(data);
{
"id": "c3f81e19-5d22-48a3-bb90-098716b2ef3a",
"shortcut": "/support-hours",
"content": "Our live support team is available Monday through Friday from 9:00 AM to 6:00 PM EST.",
"created_at": "2026-09-07T15:10:00Z"
}
{
"detail": [
{
"loc": ["body", "shortcut"],
"msg": "field required",
"type": "value_error.missing"
}
]
}
Was this page helpful?