appointment.update
Appointment Updated. Sent when an appointment is changed, including reschedules and cancellations. previousAttributes contains the fields as they were before the change.
Example
Section titled “Example”{ "id": "ckq7v1w1k0008zqxk7g3l5n2q", "name": "appointment.update", "createdAt": "2026-02-04T09:01:12.000Z", "business": { "id": "ckq7v1w1k0001zqxk3f8a9d4t" }, "data": { "id": "ckq7v1w1k0000zqxk8v6q1m2n", "createdAt": "2026-01-30T11:00:00.000Z", "updatedAt": "2026-01-30T11:00:00.000Z", "date": "2026-02-04T09:00:00.000Z", "originalDate": null, "duration": 30, "currency": "USD", "price": 12000, "approved": true, "cancelled": false, "businessId": "ckq7v1w1k0001zqxk3f8a9d4t", "serviceId": "ckq7v1w1k0002zqxk6b2c7e1p", "service": { "id": "ckq7v1w1k0002zqxk6b2c7e1p", "name": "Initial Consultation", "alias": "initial-consultation", "links": { "book": "https://forms.upvio.com/book/acme-clinic/service/initial-consultation" } }, "adHocServiceId": null, "staffId": "ckq7v1w1k0003zqxk1n5m8k3v", "staff": { "id": "ckq7v1w1k0003zqxk1n5m8k3v", "name": "John Doe", "links": { "book": "https://forms.upvio.com/book/acme-clinic/staff/john-doe" } }, "staffName": "John Doe", "additionalStaffIds": [], "patientId": "ckq7v1w1k0004zqxk9j4h2g6r", "patient": { "id": "ckq7v1w1k0004zqxk9j4h2g6r", "name": "Jane Doe", "phone": "+15550100" }, "patientName": "Jane Doe", "patientTimezone": "America/New_York", "location": null, "locationType": "GOOGLE_HANGOUTS_URL", "locationValue": "https://meet.google.com/abc-defg-hij", "hangoutLink": "https://meet.google.com/abc-defg-hij", "answers": [ { "id": "ckq7v1w1k0005zqxk5t7y1u9o", "question": "What brings you in today?", "answer": "Annual check up", "variableName": "reason_for_visit" } ], "custom": {}, "paymentProvider": "stripe", "paymentId": "pi_3PabcDEFghIJklmn", "transactionUrl": null, "groupBookingId": null, "recurringAppointmentId": null, "recurrence": null, "rrule": null, "links": { "reschedule": "https://forms.upvio.com/appointments/ckq7v1w1k0000zqxk8v6q1m2n?token=cfnu3f5qix4", "cancel": "https://forms.upvio.com/appointments/ckq7v1w1k0000zqxk8v6q1m2n?token=cfnu3f5qix4" }, "rescheduleUrl": "https://forms.upvio.com/appointments/ckq7v1w1k0000zqxk8v6q1m2n?token=cfnu3f5qix4", "cancelUrl": "https://forms.upvio.com/appointments/ckq7v1w1k0000zqxk8v6q1m2n?token=cfnu3f5qix4", "previousAttributes": { "date": "2026-02-03T09:00:00.000Z" } }}Data fields
Section titled “Data fields”This payload is delivered as it is stored, so data may contain fields
beyond the ones documented below. Only the documented fields are
guaranteed — treat anything else as subject to change.
| Field | Type | Description |
|---|---|---|
id |
string |
Unique identifier across the Upvio platform. |
createdAt |
string |
ISO 8601 timestamp. |
updatedAt |
string |
ISO 8601 timestamp. |
date |
string |
When the appointment starts, in UTC. |
originalDate |
string | null | undefined |
ISO 8601 timestamp. |
duration |
number |
Duration in minutes. |
currency |
string | null | undefined |
ISO 4217 currency code, for example USD. |
price |
number | null | undefined |
The price at the time of booking, as a whole number in the major units of currency — not minor units. A price of 120 with "currency": "USD" means 120 USD. |
approved |
boolean |
|
cancelled |
boolean |
|
businessId |
string |
Unique identifier across the Upvio platform. |
serviceId |
string |
Unique identifier across the Upvio platform. |
service |
object |
|
adHocServiceId |
string | null | undefined |
Unique identifier across the Upvio platform. |
staffId |
string |
Unique identifier across the Upvio platform. |
staff |
object |
|
staffName |
string | null | undefined |
Deprecated. Use staff.name. |
additionalStaffIds |
string[] |
|
patientId |
string |
Unique identifier across the Upvio platform. |
patient |
object |
|
patientName |
string | null | undefined |
Deprecated. Use patient.name. |
patientTimezone |
string | null | undefined |
|
location |
object | null | undefined |
|
locationType |
string | null | undefined |
|
locationValue |
string | null | undefined |
|
hangoutLink |
string | null | undefined |
|
answers |
object[] | null | undefined |
|
custom |
object | null | undefined |
Deprecated. Use answers. Object with arbitrary keys. |
paymentProvider |
string | null | undefined |
|
paymentId |
string | null | undefined |
|
transactionUrl |
string | null | undefined |
Absolute URL. |
groupBookingId |
string | null | undefined |
Unique identifier across the Upvio platform. |
recurringAppointmentId |
string | null | undefined |
Unique identifier across the Upvio platform. |
recurrence |
any | null | undefined |
|
rrule |
string | null | undefined |
|
links |
object |
|
rescheduleUrl |
string |
Deprecated. Use links.reschedule. |
cancelUrl |
string |
Deprecated. Use links.cancel. |
previousAttributes |
object | null | undefined |
The values of any fields that changed, as they were before the update. Object with arbitrary keys. |
service
Section titled “service”| Field | Type | Description |
|---|---|---|
id |
string |
Unique identifier across the Upvio platform. |
name |
string |
|
alias |
string | null | undefined |
|
links |
object | undefined |
Deprecated. Booking form URL for this service. The appointment-level links object is not a replacement — it carries reschedule and cancel URLs only. |
service.links
Section titled “service.links”| Field | Type | Description |
|---|---|---|
book |
string |
Absolute URL. |
| Field | Type | Description |
|---|---|---|
id |
string |
Unique identifier across the Upvio platform. |
name |
string |
|
email |
string | null | undefined |
|
links |
object | undefined |
Deprecated. Booking form URL for this staff member. The appointment-level links object is not a replacement — it carries reschedule and cancel URLs only. |
staff.links
Section titled “staff.links”| Field | Type | Description |
|---|---|---|
book |
string |
Absolute URL. |
patient
Section titled “patient”| Field | Type | Description |
|---|---|---|
id |
string |
Unique identifier across the Upvio platform. |
name |
string | null | undefined |
|
email |
string | null | undefined |
|
phone |
string | null | undefined |
location
Section titled “location”| Field | Type | Description |
|---|---|---|
id |
string |
Unique identifier across the Upvio platform. |
name |
string |
|
address |
string | null | undefined |
answers[]
Section titled “answers[]”| Field | Type | Description |
|---|---|---|
id |
string |
|
question |
string | null | undefined |
|
answer |
any | null | undefined |
|
variableName |
string | null | undefined |
| Field | Type | Description |
|---|---|---|
reschedule |
string |
Absolute URL. |
cancel |
string |
Absolute URL. |