curl -X PATCH "https://api.sayvy.ai/api/v1/inbox/tickets/e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"status": "closed"
}'
import requests
url = "https://api.sayvy.ai/api/v1/inbox/tickets/e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"status": "closed"
}
response = requests.patch(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/inbox/tickets/e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b", {
method: "PATCH",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
status: "closed"
})
});
const data = await response.json();
console.log(data);
{
"id": "e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b",
"organization_id": "e0b973dc-13a8-4c9f-861a-03e5b4b1a8d9",
"contact_id": "8a7c2b3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"whatsapp_phone_number_id": "11a22b33-44c5-5d6e-7f8a-9b0c1d2e3f4a",
"status": "closed",
"created_at": "2026-09-07T15:30:00Z",
"updated_at": "2026-09-07T16:00:00Z"
}
{
"detail": [
{
"loc": ["body", "status"],
"msg": "Value error, Status must be either 'open' or 'closed'",
"type": "value_error"
}
]
}
Inbox
Update ticket status
Open or close an active conversation ticket in the organization’s inbox
PATCH
/
api
/
v1
/
inbox
/
tickets
/
{inbox_id}
curl -X PATCH "https://api.sayvy.ai/api/v1/inbox/tickets/e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"status": "closed"
}'
import requests
url = "https://api.sayvy.ai/api/v1/inbox/tickets/e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"status": "closed"
}
response = requests.patch(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/inbox/tickets/e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b", {
method: "PATCH",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
status: "closed"
})
});
const data = await response.json();
console.log(data);
{
"id": "e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b",
"organization_id": "e0b973dc-13a8-4c9f-861a-03e5b4b1a8d9",
"contact_id": "8a7c2b3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"whatsapp_phone_number_id": "11a22b33-44c5-5d6e-7f8a-9b0c1d2e3f4a",
"status": "closed",
"created_at": "2026-09-07T15:30:00Z",
"updated_at": "2026-09-07T16:00:00Z"
}
{
"detail": [
{
"loc": ["body", "status"],
"msg": "Value error, Status must be either 'open' or 'closed'",
"type": "value_error"
}
]
}
Update the state of an existing inbox ticket to either
open (reopening a previously resolved thread) or closed (archiving a completed customer issue).
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> |
Path Parameters
string
required
Bearer token for authentication. Format:
Bearer <token>.string
required
Unique UUID identifier of the inbox ticket.
Request Body
string
required
The target status to assign to the ticket. Allowed values:
open, closed.Response Fields
string
UUID of the inbox ticket.
string
UUID of the owning organization.
string
UUID of the associated contact.
string
UUID of the assigned WhatsApp phone number, or
null.string
Updated ticket status (
open or closed).string
ISO 8601 creation timestamp.
string
ISO 8601 update timestamp reflecting status modification.
curl -X PATCH "https://api.sayvy.ai/api/v1/inbox/tickets/e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"status": "closed"
}'
import requests
url = "https://api.sayvy.ai/api/v1/inbox/tickets/e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"status": "closed"
}
response = requests.patch(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/inbox/tickets/e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b", {
method: "PATCH",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
status: "closed"
})
});
const data = await response.json();
console.log(data);
{
"id": "e4f3a2b1-9c8d-7e6f-5a4b-3c2d1e0f9a8b",
"organization_id": "e0b973dc-13a8-4c9f-861a-03e5b4b1a8d9",
"contact_id": "8a7c2b3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"whatsapp_phone_number_id": "11a22b33-44c5-5d6e-7f8a-9b0c1d2e3f4a",
"status": "closed",
"created_at": "2026-09-07T15:30:00Z",
"updated_at": "2026-09-07T16:00:00Z"
}
{
"detail": [
{
"loc": ["body", "status"],
"msg": "Value error, Status must be either 'open' or 'closed'",
"type": "value_error"
}
]
}
Was this page helpful?