Skip to content

Update appointment

Request

Update an existing appointment. Can be used to reschedule (change time/practitioner) or update appointment details. Only provided fields will be updated.

Security
PartnerApiKey and PartnerOAuth
Path
appointmentIdinteger, (int64)required

Appointment ID

accountIdinteger, (int64)required

Account identifier

locationIdinteger, (int64)required

Location identifier

Bodyapplication/jsonrequired
notestring

Updated appointment notes

Example:"Follow-up for lab results"
practitionerIdinteger, (int64)

New practitioner ID for reassignment (staff member with a practitioner role)

Example:223
roomIdinteger, (int64)

Room ID (required when setting status to IN_TREATMENT; must be an active room at the location). When the appointment is already IN_TREATMENT, can be sent alone to change the room.

Example:1
startTimestring

New appointment start time (ISO 8601) for rescheduling

Example:"2025-01-16T10:00:00-05:00"
statusstring(?i)SCHEDULED|CONFIRMED|CHECKED_IN|IN_TREATME...

New status

Enum:"SCHEDULED""CONFIRMED""CHECKED_IN""IN_TREATMENT""CHECKED_OUT""CANCELLED""NO_SHOW"
Example:"CONFIRMED"
curl -i -X PUT \
  'https://api-docs.lobbie.com/_mock/openapi/partner/v2/account/{accountId}/location/{locationId}/appointment/{appointmentId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "note": "Follow-up for lab results",
    "practitionerId": 223,
    "roomId": 1,
    "startTime": "2025-01-16T10:00:00-05:00",
    "status": "CONFIRMED"
  }'

Responses

Appointment updated successfully

Bodyapplication/json
appointmentTypeIdinteger, (int64)

Appointment type ID

Example:333
checkedInAtstring, (date-time)

Time the patient checked in (UTC, ISO 8601); null if not yet checked in

Example:"2025-01-15T14:00:00Z"
checkedOutAtstring, (date-time)

Time the patient checked out (UTC, ISO 8601); null if not yet checked out

Example:"2025-01-15T14:00:00Z"
confirmedAtstring, (date-time)

Time the appointment was confirmed (UTC, ISO 8601); null if not yet confirmed

Example:"2025-01-15T14:00:00Z"
createdAtstring, (date-time)

Creation timestamp (UTC)

Example:"2025-01-15T14:00:00Z"
durationMinutesinteger, (int32)

Duration in minutes

Example:30
endTimestring, (date-time)

Appointment end time (UTC, ISO 8601)

Example:"2025-01-15T14:30:00Z"
idinteger, (int64)

Unique appointment identifier

Example:12345
locationIdinteger, (int64)

Location ID

Example:111
notestring

Appointment notes

Example:"Annual checkup"
patientIdinteger, (int64)

Patient ID

Example:67890
practitionerIdinteger, (int64)

Practitioner ID (staff member with a practitioner role)

Example:222
roomIdinteger, (int64)

Room ID (set when appointment is IN_TREATMENT)

Example:1
roomInAtstring, (date-time)

Time the patient was brought into the room (UTC, ISO 8601); null if not set

Example:"2025-01-15T14:00:00Z"
startTimestring, (date-time)

Appointment start time (UTC, ISO 8601)

Example:"2025-01-15T14:00:00Z"
statusstring

Appointment status

Enum:"SCHEDULED""CONFIRMED""CHECKED_IN""IN_TREATMENT""CHECKED_OUT""CANCELLED""NO_SHOW"
Example:"SCHEDULED"
updatedAtstring, (date-time)

Last update timestamp (UTC)

Example:"2025-01-15T14:00:00Z"
Response
{ "appointmentTypeId": 333, "checkedInAt": "2025-01-15T14:00:00Z", "checkedOutAt": "2025-01-15T14:00:00Z", "confirmedAt": "2025-01-15T14:00:00Z", "createdAt": "2025-01-15T14:00:00Z", "durationMinutes": 30, "endTime": "2025-01-15T14:30:00Z", "id": 12345, "locationId": 111, "note": "Annual checkup", "patientId": 67890, "practitionerId": 222, "roomId": 1, "roomInAt": "2025-01-15T14:00:00Z", "startTime": "2025-01-15T14:00:00Z", "status": "SCHEDULED", "updatedAt": "2025-01-15T14:00:00Z" }