Physician visit closed
Fires when a physician visit closes. AI and terminated threads do not emit this event ever. closed_at is the thread's expires_at at that moment. If the expiry is later extended and the visit closes again, a follow-up event fires with a later closed_at. Handle it as a new close. Dedupe repeat deliveries on data.thread.id and closed_at together.
postWebhookthread.visit_closed
Payload
Example payload
{
"data": {
"closed_at": "2030-01-01T00:00:00Z"
},
"timestamp": "2030-01-01T00:00:00Z"
}Response
Return 200 if the webhook is accepted
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.