Skip to main content
PATCH
/
api
/
v1
/
conversations
/
{id}
Update a conversation
curl --request PATCH \
  --url https://app.vorel.ai/api/v1/conversations/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "customer_name": "<string>",
  "customer_language": "<string>"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "channel": "<string>",
  "customer_identifier": "<string>",
  "status": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "customer_name": "<string>",
  "customer_language": "<string>",
  "first_message_at": "2023-11-07T05:31:56Z",
  "last_message_at": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.vorel.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Tenant-issued API key. Format: vapk_live_<48 hex chars> (60 chars total). Issue + manage at /settings/integrations/api-keys in the Vorel dashboard. Each key has a scope set (read, leads:write, appointments:write, offerings:write); endpoints requiring a write scope reject keys without it with a 403 envelope.

Path Parameters

id
string<uuid>
required

UUID of the conversation to update.

Body

application/json

Partial-update body for PATCH /api/v1/conversations/{id}. Must include at least one updatable field. Setting a nullable field to null clears it; omitted fields are left untouched. The mutable surface is customer_name + customer_language only — channel / customer_identifier form the unique-message-routing tuple and are NOT updatable; status is NOT updatable here either (transitions like 'closed' have heavy side-effects — billing event creation, QA scoring, conversation.closed webhook — and need a dedicated future endpoint). No webhook event is emitted (the conversation.* event family is lifecycle-specific; there is no generic conversation.updated).

customer_name
string | null
Maximum string length: 200
customer_language
string | null
Pattern: ^[a-z]{2}(-[A-Z]{2})?$

Response

Conversation updated.

id
string<uuid>
required
channel
string
required

Inbound channel slug — e.g. whatsapp, voice, webform.

customer_identifier
string
required

Channel-native identifier — phone for WhatsApp/voice (E.164), email for webform, etc.

status
string
required

Conversation lifecycle state — active, closed, …

created_at
string<date-time>
required
customer_name
string | null
customer_language
string | null

ISO 639-1 (en, ar, …) when known.

first_message_at
string<date-time> | null
last_message_at
string<date-time> | null