Strict-partial update. 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 today (the conversation.* event family is lifecycle-specific; there is no generic conversation.updated).
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.
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.
UUID of the conversation to update.
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).
Conversation updated.
Inbound channel slug — e.g. whatsapp, voice, webform.
Channel-native identifier — phone for WhatsApp/voice (E.164), email for webform, etc.
Conversation lifecycle state — active, closed, …
ISO 639-1 (en, ar, …) when known.