Skip to main content
POST
/
services
/
core
/
open_api
/
v1
/
appointments
cURL
curl --request POST \
  --url https://partner-api.getoliver.com/services/core/open_api/v1/appointments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "slot_id": "<string>",
  "client_id": 123,
  "client_remote_id": "<string>",
  "first_name": "<string>",
  "last_name": "<string>",
  "phone": "<string>",
  "email": "<string>",
  "patient_id": 123,
  "patient_remote_id": "<string>",
  "note": "<string>",
  "status": "REQUESTED"
}
'
{
  "success": true,
  "data": {
    "id": 123,
    "remote_id": "<string>",
    "remote_client_id": "<string>",
    "remote_patient_id": "<string>",
    "status": "REQUESTED",
    "booking_date": "2023-11-07T05:31:56Z",
    "end_date": "2023-11-07T05:31:56Z",
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "referral_source": "<string>",
    "referral_campaign": "<string>",
    "referral_medium": "<string>",
    "client_first_name": "<string>",
    "client_last_name": "<string>",
    "client_email": "<string>",
    "client_phone": "<string>",
    "client_type": "<string>",
    "patient_name": "<string>"
  },
  "message": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.getoliver.com/llms.txt

Use this file to discover all available pages before exploring further.

Create an appointment using a time slot from the Search Open Times endpoint.

Workflow

  1. Call Search Open Times to get available slots
  2. Use the uuid from a result as the slot_id in this request
  3. Identify the client and patient using one of the supported lookup methods

Client Identification

Provide one of the following to identify the client:
  • client_id — internal Oliver ID
  • client_remote_id — PIMS remote ID
  • first_name + last_name + (phone or email) — name-based lookup

Patient Identification

Provide one of the following to identify the patient:
  • patient_id — internal Oliver ID
  • patient_remote_id — PIMS remote ID

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Appointment to create

slot_id
string
required

The slot identifier returned from the Search Open Times endpoint (the uuid field). Encodes the appointment type, provider, room, and time.

client_id
integer

The internal Oliver ID of the client. Provide this, client_remote_id, or name + contact fields.

client_remote_id
string

The PIMS remote ID of the client. Alternative to client_id.

first_name
string

Client first name. Must be combined with last_name and either phone or email.

last_name
string

Client last name. Must be combined with first_name and either phone or email.

phone
string

Client phone number. Used with first_name + last_name to look up the client.

email
string

Client email. Used with first_name + last_name to look up the client.

patient_id
integer

The internal Oliver ID of the patient. Provide this or patient_remote_id.

patient_remote_id
string

The PIMS remote ID of the patient. Alternative to patient_id.

note
string

A note for the appointment.

status
enum<string>

Appointment status override. If omitted, the clinic's auto-accept setting determines the status.

Available options:
REQUESTED,
ACCEPTED,
CONFIRMED

Response

Appointment created

success
boolean
required
data
object
required
message
string

A human-readable message, e.g. 'Appointment created successfully'