Update Appointment
This endpoint allows you to update an existing appointment's details. Only the fields you provide will be modified, while others remain unchanged.
πΉ Endpoint Detailsβ
PUT /api/v2/appointments/{id}
π Authenticationβ
| Header | Required | Description |
|---|---|---|
| Content-Type | Yes | Must be application/json |
| Authorization | Yes | Format: ONLIVESITE Credential:ONLIVEAccessKeyId, Signature=CalculatedSignature |
π Updatable Fieldsβ
| Field | Type | Description | Example |
|---|---|---|---|
title | string | Title or subject of the appointment | "Updated Product Demo" |
description | string | Detailed description | "Product walkthrough" |
startAt | string | Start time (ISO 8601) | "2025-03-10T08:00:00Z" |
endAt | string | End time (ISO 8601) | "2025-03-10T08:30:00Z" |
guests | array | List of attendees | See examples |
reminders | array | Reminder settings (time, unit, direction) | See examples |
extraFields | object | Custom fields | {"priority": "high"} |
lang | string | Language code (BCP 47) | "en-US" |
event | object | Virtual event details (if applicable) | See examples |
status | string | Appointment status | "confirmed" |
subStatus | string | Appointment sub-status | "pending" |
origin | string | Source/platform | "web" |
originUrl | string | Origin URL | "https://example.com" |
comment | string | Comment or note | "Follow-up needed" |
interactionId | string | Interaction identifier | "123e4567-..." |
externalId | string | External identifier | "EXT-123" |
π§© Request Examplesβ
Basic Updateβ
curl -X PUT "https://openapi.onlive.site/api/v2/appointments/1610c525-f19a-40d0-8cd1-03daba3d2d98" \
-H "Content-Type: application/json" \
-H "Authorization: ONLIVESITE Credential:ONLIVEAccessKeyId, Signature=CalculatedSignature" \
-d '{
"startAt": "2025-03-10T08:00:00.000Z",
"endAt": "2025-03-10T08:30:00.000Z"
}'
Comprehensive Updateβ
curl -X PUT "https://openapi.onlive.site/api/v2/appointments/1610c525-f19a-40d0-8cd1-03daba3d2d98" \
-H "Content-Type: application/json" \
-H "Authorization: ONLIVESITE Credential:ONLIVEAccessKeyId, Signature=CalculatedSignature" \
-d '{
"title": "Updated Product Demo Meeting",
"description": "Updated demo session with new features",
"startAt": "2025-03-10T08:00:00.000Z",
"endAt": "2025-03-10T08:30:00.000Z",
"guests": [
{
"email": "[email protected]"
}
],
"reminders": [
{
"time": 15,
"unit": "m",
"direction": "before"
}
],
"extraFields": {
"priority": "high",
"location": "Virtual Meeting Room"
},
"event": {
"iCallUrl": "https://meet.example.com/updated-room",
"room": "Demo Room 2"
}
}'
π€ Response Formatβ
Success Response (HTTP 200)β
{
"id": "1610c525-f19a-40d0-8cd1-03daba3d2d98",
"createdAt": "2025-03-09T19:32:03.735Z",
"updatedAt": "2025-03-09T19:32:06.669Z",
"title": "Updated Product Demo Meeting",
"description": "Updated demo session with new features",
"startAt": "2025-03-10T08:00:00.000Z",
"endAt": "2025-03-10T08:30:00.000Z",
"guests": [
{
"email": "[email protected]"
}
],
"reminders": [
{
"time": 15,
"unit": "m",
"direction": "before"
}
],
"extraFields": {
"priority": "high",
"location": "Virtual Meeting Room"
},
"event": {
"iCallUrl": "https://meet.example.com/updated-room",
"room": "Demo Room 2"
},
"status": "confirmed"
}
β Error Responsesβ
This endpoint follows the standard error format.
π Validation Rulesβ
-
Time Validation
- End time must be after start time
- Times must be in valid ISO 8601 format
- Cannot modify past appointments
- Must respect service duration (if applicable)
-
Guest Management
- Valid email addresses required
- No duplicate email addresses
-
Resource Validation
- Calendar availability checked
- Service rules respected
π Notesβ
-
Update Behavior
- Partial updates supported
- Unchanged fields retain values
- Arrays are replaced, not merged
- Null values clear fields
-
Notification Handling
- Changes trigger notifications
- Guest preferences respected
- Calendar syncs updated
- Service provider notified
-
Resource Management
- Calendar slots updated
- Service availability adjusted
- Room bookings modified
- Resources reallocated
π‘ Best Practicesβ
-
Update Strategy
- Only include changed fields
- Validate before updating
- Handle conflicts gracefully
- Consider timezone impact
-
Guest Management
- Verify email addresses
- Consider notification timing
- Maintain guest preferences
- Handle declined invitations
-
Resource Handling
- Check availability first
- Reserve resources early
- Handle cleanup properly
- Monitor conflicts
-
Error Management
- Implement proper rollback
- Log significant changes
- Monitor failure patterns
- Provide clear messages