POST
/oauth/token
Obtain access token (Client Credentials Grant)
Parameters
No parameters.
Request Body (application/json)
| Name | Type | Required | Description / Example |
|---|---|---|---|
grant_type |
string | Required |
Example: client_credentials |
client_id |
string | Required | |
client_secret |
string | Required | |
scope |
string | Required |
Space-delimited scopes.
Example: demographics-list demographics-edit |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Access token response
Content:
|
||||
| 400 |
Invalid request or scope
|
||||
| 401 |
Invalid client credentials
|
||||
| 429 |
See response:
TooManyRequests
|
GET
/oauth/webhook
List client webhooks
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
Parameters
No parameters.
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Access token response
Content:
|
||||
| 401 |
Unauthorized
|
||||
| 429 |
See response:
TooManyRequests
|
POST
/oauth/webhook
Create or destroy webhook
Events are published via HTTP POST request to the webhook URL as a JSON object {"data":[WebhookEvent,...]}, where each item in the 'data' array corresponds to a single WebhookEvent Schema object.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
Parameters
No parameters.
Request Body (application/json)
| Name | Type | Required | Description / Example |
|---|---|---|---|
event |
string | Required |
Space-delimited events to publish on webhook URL
Example: patient-modified appointment-modified |
url |
string | Required | URL to publish events to, or null to delete existing webhook |
Responses
| Status | Description |
|---|---|
| 200 |
Webhook edited successfully
|
| 400 |
Missing required parameter / Invalid request
|
| 401 |
Unauthorized
|
| 403 |
Forbidden (insufficient scope)
|
| 429 |
See response:
TooManyRequests
|
GET
/oauth/documentation
Get this API documentation
Parameters
No parameters.
Responses
| Status | Description | ||||||
|---|---|---|---|---|---|---|---|
| 200 |
Contents of this file
Content:
|
||||||
| 429 |
See response:
TooManyRequests
|
GET
/api/oauth/patients
List or filter patients. Results are paginated to 100/page.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
patients-list |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
page
|
query | integer | Optional | 1-based page offset of results (Default: 1). |
return_fields
|
query | string | Optional | Space-delimited additional result fields. |
pid
|
query | string | Optional | Space/comma-delimited Patient IDs. |
status
|
query | string | Optional | |
sex
|
query | string | Optional | |
dob
|
query | string | Optional | |
phn
|
query | string | Optional | |
first_name
|
query | string | Optional | |
middle_name
|
query | string | Optional | |
last_name
|
query | string | Optional |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Patient list
Content:
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
POST
/api/oauth/patients
Create a patient
Create a patient in the EMR.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
demographics-edit |
Parameters
No parameters.
Request Body (application/json)
| Name | Type | Required | Description / Example |
|---|---|---|---|
first_name |
string | Required | |
middle_name |
string | Optional | 1+ space-delimited names. |
last_name |
string | Required | |
phin |
string | Required |
Personal Health Identification Number (MB PHIN or other unique regulatory number)
Example: 123456783 |
dob |
string | Required |
Date of birth (YYYY-MM-DD)
Example: 2000-01-01 |
sex |
string | Optional |
M[ale]|F[emale]|U[nknown]
Example: F |
registration_number |
string | Optional |
Provincial Registration Number (MB family registration number or other regional identification number)
Example: A12345 |
billing_province |
string | Optional |
Billing province name/code
Example: MB |
phone_home |
string | Optional |
Home phone number (000-000-0000)
Example: 123-456-7890 |
phone_cell |
string | Optional |
Cell phone number (000-000-0000)
Example: 123-456-7890 |
email |
string | Optional |
Email address (example@libremd.com)
Example: example@libremd.com |
provider_id |
integer | Optional | Corresponds to the `id` of a Provider Schema object. |
address_street |
string | Optional |
Address street number and name
Example: 111 Example Lane |
address_city |
string | Optional |
Address city name
Example: Brandon |
address_province |
string | Optional |
Address province name/code
Example: MB |
address_postal_code |
string | Optional |
Address postal code
Example: R7A 5E7 |
address_country |
string | Optional |
Address country name/code
Example: CA |
note |
string | Optional | Chart note |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Patient created successfully
Content:
|
||||
| 400 |
Missing required parameter / Invalid request
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
GET
/api/oauth/appointments
List or filter appointments. Results are paginated to 100 results/page.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
appointments-list |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
page
|
query | integer | Optional | 1-based page offset of results (Default: 1). |
pid
|
query | integer | Optional | Corresponds to the `id` of a Patient Schema object. |
date_from
|
query | string | Optional | YYYY-MM-DD |
date_to
|
query | string | Optional | YYYY-MM-DD |
status
|
query | string | Optional | Matches on status tag or title |
facility_id
|
query | integer | Optional | Corresponds to the `id` of a Facility Schema object |
provider
|
query | string | Optional | Matches on partial first or last name |
provider_id
|
query | integer | Optional | Corresponds to the `id` of a Provider Schema object |
category
|
query | string | Optional | Matches on partial name |
category_id
|
query | integer | Optional | Corresponds to the `id` of a Category Schema object |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Appointment list
Content:
|
||||
| 400 |
Missing required parameter / Invalid request
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
PATCH
/api/oauth/appointments
Cancel an appointment
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
appointments-edit |
Parameters
No parameters.
Request Body (application/json)
| Name | Type | Required | Description / Example |
|---|---|---|---|
id |
integer | Required | Corresponds to the `id` of an Appointment Schema object. |
reason |
string | Optional | Reason for cancellation. |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Appointment cancelled successfully
Content:
|
||||
| 400 |
Missing required parameter / Invalid request
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
POST
/api/oauth/appointments
Create an appointment
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
appointments-edit |
Parameters
No parameters.
Request Body (application/json)
| Name | Type | Required | Description / Example |
|---|---|---|---|
date |
string | Required | Event date (YYYY-MM-DD) |
start_time |
string | Required | Event start time (HH:MM:SS). Seconds are optional and not considered. |
end_time |
string | Required | Event end time (HH:MM:SS). Seconds are optional and not considered. Minimum appointment duration is 5 minutes. |
pid |
integer | Required | Corresponds to the `id` of a Patient Schema object. |
provider_id |
integer | Required | Corresponds to the `id` of a Provider Schema object. |
category_id |
integer | Required | Corresponds to the `id` of a Category Schema object. |
facility_id |
integer | Optional | Corresponds to the `id` of a Facility Schema object. Defaults to provider's default facility if empty. |
comments |
string | Optional | Description of appointment reason/issue. |
contact_email |
string | Optional | Email address for contacting patient regarding appointment. |
contact_phone_home |
string | Optional | Home phone number for contacting patient regarding appointment. |
contact_phone_cell |
string | Optional | Cell phone number for contacting patient regarding appointment. |
booker_first_name |
string | Optional | First name of person booking the appointment. |
booker_last_name |
string | Optional | Last name of person booking the appointment. |
reminder_sent |
boolean | Optional | Whether or not a reminder was sent to the patient. |
reminder_message |
string | Optional | Contents of the reminder sent to the patient, if applicable. |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Appointment created successfully
Content:
|
||||
| 400 |
Missing required parameter / Invalid request
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 409 |
Appointment not available (Date + start/end times + provider + category + facility combination not available to book)
|
||||
| 429 |
See response:
TooManyRequests
|
GET
/api/oauth/categories
List or filter appointments categories.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
appointments-list |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id
|
query | integer | Optional | Matches on the `id` value of a Category Schema object. If present, resulting `data` array will contain 1 or 0 items. |
provider_id
|
query | integer | Optional | Matches on the `id` value of a Provider Schema object. Filter Categories by which providers use it. |
name
|
query | string | Optional | Matches on partial name |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Appointment Categories list
Content:
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
GET
/api/oauth/providers
List or filter providers.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
providers-list |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id
|
query | integer | Optional | Matches on the `id` value of a Provider Schema object. If present, resulting `data` array will contain 1 or 0 items. |
facility_id
|
query | integer | Optional | Matches on the `id` value of a Facility Schema object. Filter Providers by which facility they use. |
specialty
|
query | string | Optional | Matches on partial term |
name
|
query | string | Optional | Matches on partial first or last name |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Provider list
Content:
|
||||
| 400 |
Missing required parameter / Invalid request
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
GET
/api/oauth/facilities
List or filter facilities.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
facilities-list |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id
|
query | integer | Optional | Matches on the `id` value of a Facility Schema object. If present, resulting `data` array will contain 1 or 0 items. |
provider_id
|
query | integer | Optional | Matches on the `id` value of a Provider Schema object. Filter Facilities by which providers use it. |
name
|
query | string | Optional | Matches on partial name |
city
|
query | string | Optional | Matches on partial term |
postal_code
|
query | string | Optional | Matches on partial term |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Facility list
Content:
|
||||
| 400 |
Missing required parameter / Invalid request
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
GET
/api/oauth/availability
List available appointments per provider. Date range cannot be in the past and is limited to 4 weeks total.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
appointments-list |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
provider_id
|
query | integer | Required | Matches on the `id` value of a Provider Schema object. |
start_time
|
query | string | Optional | Timestamp of availability date range start. Defaults to current timestamp if missing, malformed, or in past. |
end_time
|
query | string | Optional | Timestamp of availability date range end. Defaults to `now +1 week` if missing, malformed, or in past, and `now +4 weeks` if start-end range exceeds this difference. |
facility_id
|
query | integer | Optional | Matches on the `id` value of a Facility Schema object |
category_id
|
query | integer | Optional | Matches on the `id` value of a Category Schema object |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Available appointments list
Content:
|
||||
| 400 |
Missing required parameter / Invalid request
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
GET
/api/oauth/voicemail
List or filter voicemails. Results are paginated to 100 results/page.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
voicemails-list |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
page
|
query | integer | Optional | 1-based page offset of results (Default: 1). |
pid
|
query | integer | Optional | Corresponds to the `id` of a Voicemail Schema object. |
received_from
|
query | string | Optional | Lower-bounds timestamp of when the call was answered - ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ) |
received_to
|
query | string | Optional | Upper-bounds timestamp of when the call was answered - ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ) |
created_from
|
query | string | Optional | Lower-bounds timestamp of when the voicemail object was created via the API - ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ) |
created_to
|
query | string | Optional | Upper-bounds timestamp of when the voicemail object was created via the API - ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ) |
pid
|
query | integer | Optional | Corresponds to the `id` of a Patient Schema object |
provider_id
|
query | integer | Optional | Corresponds to the `id` of a Provider Schema object |
category
|
query | string | Optional | Voicemail category provided during creation. |
phone
|
query | string | Optional | Caller phone number. |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Voicemails list
Content:
|
||||
| 400 |
Missing required parameter / Invalid request
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
PATCH
/api/oauth/voicemail
Update fields of a voicemail object.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
voicemail-create |
Parameters
No parameters.
Request Body (application/json)
| Name | Type | Required | Description / Example |
|---|---|---|---|
id |
integer | Required | Corresponds to the `id` of a Voicemail Schema object. |
transcript |
string | Optional | Voicemail transcript. |
received |
string | Optional | Datetime Voicemail was received (ISO 8601 format). |
summary |
string | Optional | Voicemail transcript summary. |
tldr |
string | Optional | "Too Long; Didn't Read" - condensed voicemail transcript summary. |
dialer |
string | Optional | Caller phone number - will also accept key 'phone'. |
dialee |
string | Optional | Recipient phone number - will also accept key 'recipient'. |
pid |
integer | Optional | Corresponds to the `id` of a Patient Schema object. |
patient |
object | Optional | Patient Schema object - used for submitting new patient details when `pid` is empty. |
appointment_id |
integer | Optional | Corresponds to the `id` of a Appointment Schema object - used for voicemails related to appointment booking/cancellation. |
provider_id |
integer | Optional | Corresponds to the `id` of a Provider Schema object. |
category |
string | Optional | Call category. |
priority |
string | Optional | Call priority. |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Voicemail updated successfully
Content:
|
||||
| 400 |
Missing required parameter / Invalid request
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
POST
/api/oauth/voicemail
Create a voicemail object
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
voicemail-create |
Parameters
No parameters.
Request Body (multipart/form-data)
| Name | Type | Required | Description / Example |
|---|---|---|---|
transcript |
string | Required | Voicemail transcript. |
audio |
string | Required | Voicemail audio file. Maximum 256MB. Preferred mime types: `audio/mpeg`,`audio/ogg`,`audio/webm`,`audio/wav`. |
received |
string | Optional | Datetime Voicemail was received (ISO 8601 format). |
summary |
string | Optional | Voicemail transcript summary. |
tldr |
string | Optional | "Too Long; Didn't Read" - condensed voicemail transcript summary. |
phone |
string | Optional | Caller phone number. |
pid |
integer | Optional | Corresponds to the `id` of a Patient Schema object. |
patient |
string | Optional | JSON object string of a Patient Schema object - used for submitting new patient details when `pid` is empty. |
appointment_id |
integer | Optional | Corresponds to the `id` of a Appointment Schema object - used for voicemails related to appointment booking/cancellation. |
provider_id |
integer | Optional | Corresponds to the `id` of a Provider Schema object. |
category |
string | Optional | Call category. |
priority |
string | Optional | Call priority. |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Voicemail object created successfully
Content:
|
||||
| 400 |
Missing required parameter / Invalid request
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
GET
/api/oauth/address-book
Query LibreMD's Global Address Book. Results are paginated to 50/page.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
addresses-list |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
page
|
query | integer | Optional | 1-based page offset of results (Default: 1). |
global_id
|
query | string | Optional | Retrieve a single Contact by UUID. If present, resulting `data` array will contain 1 or 0 items. |
contacts
|
query | boolean | Optional | Limit to contacts in the Contact category. |
providers
|
query | boolean | Optional | Limit to contacts in the Provider category. |
pharmacies
|
query | boolean | Optional | Limit to contacts in the Pharmacy category. |
insurers
|
query | boolean | Optional | Limit to contacts in the Insurer category. |
search
|
query | string | Optional | Search terms to partial-match on any field. |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Contacts list
Content:
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 429 |
See response:
TooManyRequests
|
GET
/api/oauth/address-book/{globalId}
Fetch a contact from LibreMD's Global Address Book.
Security
| Type | Required Scopes |
|---|---|
bearerAuth |
addresses-list |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
globalId
|
path | string | Required | The contact's unique ID. |
Responses
| Status | Description | ||||
|---|---|---|---|---|---|
| 200 |
Contact
Content:
|
||||
| 401 |
Unauthorized
|
||||
| 403 |
Forbidden (insufficient scope)
|
||||
| 404 |
Contact not found
|
||||
| 429 |
See response:
TooManyRequests
|
Components
Security Schemes
| Name | Type | Details |
|---|---|---|
bearerAuth |
http |
Scheme: bearerBearer Format: JWT |
Headers
| Name | Type | Details |
|---|---|---|
X-Ratelimit-Limit
|
integer | How many total requests can be made within the full 60 second request-limit window. |
X-Ratelimit-Remaining
|
integer | How many remaining requests can be made within the current request-limit window "X-Ratelimit-Timer". |
X-Ratelimit-Timer
|
integer | How many seconds to wait before request-limit window resets. |
Responses
Response
TooManyRequestsThe request limit has been reached for the endpoint's scope for the current 60 second window.
Headers
| Name | Type / Reference | Description |
|---|---|---|
X-Ratelimit-Limit |
See header:
X-Ratelimit-Limit
|
|
X-Ratelimit-Remaining |
See header:
X-Ratelimit-Remaining
|
|
X-Ratelimit-Timer |
See header:
X-Ratelimit-Timer
|
Content
| Media Type | Schema |
|---|---|
application/json |
Type:
object
Properties:
error —
string
— Example:
Too many requests. Try again in 30 seconds.
|
Schemas
Schema
PatientRequired fields will always be included when a Patient is returned by a request. Optional fields included if requested in `return_fields` parameter of a GET request to /api/oauth/patients.
| Property | Type | Required | Details |
|---|---|---|---|
pid |
integer | Required |
Example: 1001 |
first_name |
string | Required |
Example: Jane |
middle_name |
string | Required |
1+ space-delimited names. Example: Marie |
last_name |
string | Required |
Example: Doe |
phn |
string | Required |
Personal Health Identification Number (MB PHIN or other unique regulatory number) Example: 9876543210 |
dob |
string | Required |
Date of birth (YYYY-MM-DD) Example: 1985-06-15 |
sex |
string | Required |
Example: Female |
status |
string | Required |
Example: active |
registration_number |
string |
Provincial Registration Number (MB family registration number or other regional identification number) Example: A12345 |
|
billing_province |
string |
Billing province name/code Example: MB |
|
phone_home |
string |
Home phone number (000-000-0000) Example: 123-456-7890 |
|
phone_cell |
string |
Cell phone number (000-000-0000) Example: 123-456-7890 |
|
email |
string |
Email address (example@libremd.com) Example: example@libremd.com |
|
provider_id |
integer |
Corresponds to the `id` of a Provider Schema object. |
|
pharmacy |
string |
Patient's default pharmacy address information. Example: Westwood Pharmacy - 100 Browning Blvd., Winnipeg MB |
|
address_street |
string |
Address street number and name Example: 111 Example Lane |
|
address_city |
string |
Address city name Example: Brandon |
|
address_province |
string |
Address province name/code Example: MB |
|
address_postal_code |
string |
Address postal code Example: R7A 5E7 |
|
address_country |
string |
Address country name/code Example: CA |
|
note |
string |
Chart note |
Schema
Appointment| Property | Type | Details |
|---|---|---|
id |
integer |
Example: 123456 |
pid |
integer |
Example: 1001 |
date |
string |
Example: 2025-04-01 |
start_time |
string |
Example: 09:00:00 |
end_time |
string |
Example: 10:00:00 |
status |
string |
Example: @ Arrived |
provider_id |
integer |
Corresponds to the `id` of a Provider Schema object. |
category_id |
integer |
Corresponds to the `id` of a Category Schema object. |
facility_id |
integer |
Corresponds to the `id` of a Facility Schema object. |
Schema
Provider| Property | Type | Details |
|---|---|---|
id |
integer |
Example: 123 |
first_name |
string |
Example: Walt |
last_name |
string |
Example: Disney |
post_nominal |
string |
Example: MD, FRCSC |
specialty |
string |
Example: Respirology |
facilities |
array |
Which facilities does this provider use. Items:
Type:
integer
Corresponds to the `id` of a Facility Schema object. |
Schema
Facility| Property | Type | Details |
|---|---|---|
id |
integer |
Example: 456 |
name |
string |
Example: West Campus |
phone |
string |
Example: 204-506-7890 |
fax |
string |
Example: 204-506-7890 |
street |
string |
Example: 111 Example Lane |
city |
string |
Example: Brandon |
province |
string |
Example: Manitoba |
postal_code |
string |
Example: R7A 5E7 |
country |
string |
Example: Canada |
website |
string |
Example: www.libremd.com |
email |
string |
Example: example@libremd.com |
providers |
array |
Which providers use this facility. Items:
Type:
integer
Corresponds to the `id` of a Provider Schema object. |
Schema
Category| Property | Type | Details |
|---|---|---|
id |
integer |
Example: 789 |
name |
string |
Example: New Patient |
description |
string |
Example: WB (WITH NDLS) VIRTUAL,REFERRALS,PRE-OP,OM, GEN CK |
duration |
integer |
Default appointment length (minutes). |
is_provider_category |
boolean |
Is this category only for provider events. |
is_virtual |
boolean |
Are these category's appointments performed virtually. |
is_bookable |
boolean |
Can this category's appointments be booked and cancelled. |
requires_confirmation |
boolean |
Do these category's appointments require clinic confirmation (Clinic contacts patient with approved/declined response). |
providers |
array |
Which providers use this appointment category. Items:
Type:
integer
Corresponds to the `id` of a Provider Schema object. |
Schema
Voicemail| Property | Type | Details |
|---|---|---|
id |
integer |
Example: 123456 |
pid |
integer |
Example: 1001 |
provider_id |
integer |
Corresponds to the `id` of a Provider Schema object. |
appointment_id |
integer |
Corresponds to the `id` of an Appointment Schema object. |
category |
string |
Call category. |
priority |
string |
Call priority. |
phone |
string |
Caller phone number. Example: 204-111-0000 |
duration |
integer |
Voicemail audio duration in seconds. |
tldr |
string |
"Too Long; Didn't Read" - condensed voicemail transcript summary. |
summary |
string |
Voicemail transcript summary. |
transcript |
string |
Voicemail transcript. |
received_at |
string |
Timestamp of when the call was answered - ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ) |
created_at |
string |
Timestamp of when the voicemail object was created via the API - ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ) |
reviewed_at |
string |
Timestamp of when the voicemail object was reviewed, or null if unreviewed - ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ) |
Schema
WebhookEvent| Property | Type | Details |
|---|---|---|
event |
string |
Example: patient-modified |
data |
object |
Corresponds to a Patient or Appointment Schema object, depending on 'event' type. |
Schema
AvailableAppointment| Property | Type | Details |
|---|---|---|
date |
string |
Example: 2026-01-01 |
start_time |
string |
Example: 09:00:00 |
end_time |
string |
Example: 15:00:00 |
provider_id |
integer |
Corresponds to the `id` of a Provider Schema object. |
category_id |
integer |
Corresponds to the `id` of a Category Schema object. |
facility_id |
integer |
Corresponds to the `id` of a Facility Schema object. |
Schema
ContactSimple| Property | Type | Details |
|---|---|---|
global_id |
string |
Example: 5d4b93b6-d44f-11ef-b5b4-5254000234b5 |
title |
string |
Example: Dr. |
cps |
string |
MB (or other) College of Physicians & Surgeons identifier. Example: 0210 |
first_name |
string |
Individual contact first name. |
middle_name |
string |
Individual contact middle name(s). |
last_name |
string |
Individual contact last name. |
credentials |
string |
Example: RN, NP |
contact_name |
string |
Organization / summarized name. |
main_contact |
string |
Name of primary contact at organization. |
long_distance |
boolean |
Is the contact a long-distance dial. |
payee_number |
string |
Typically used for provider contacts. |
specialty |
string |
Medical specialty for provider contacts. |
is_private |
boolean |
Typically used for insurer contacts. |
wcb |
boolean |
Typically used for insurer contacts. |
msp |
boolean |
Typically used for insurer contacts. |
icbc |
boolean |
Typically used for insurer contacts. |
tax |
boolean |
Typically used for insurer contacts. |
is_contact |
boolean |
Does contact belong to the generic Contact category. |
is_provider |
boolean |
Does contact belong to the Provider category. |
is_pharmacy |
boolean |
Does contact belong to the Pharmacy category. |
is_insurer |
boolean |
Does contact belong to the Insurer category. |
last_change |
string |
Timestamp of last update (default sort value - YYYY-MM-DD HH:MM:SS). Example: 2026-01-17 07:43:35 |
department |
string |
Address department. Example: Pediatrics Unit |
clinic |
string |
Address clinic name. Example: Example-Name Dermatology |
street_address |
string |
Address street name. Example: 111 Example Street |
city |
string |
Address city name. |
province |
string |
Address province code/name. |
postal_code |
string |
Address postal code. |
display_name |
string |
Address display name. |
phones |
array |
Contact phone numbers. Items:
Type:
string
Example: 204-111-0000 |
faxes |
array |
Contact fax numbers. Items:
Type:
string
Example: 204-111-0001 |
Schema
ContactFull| Property | Type | Details |
|---|---|---|
global_id |
string |
Example: 5d4b93b6-d44f-11ef-b5b4-5254000234b5 |
title |
string |
Example: Dr. |
cps |
string |
MB (or other) College of Physicians & Surgeons identifier. Example: 0210 |
first_name |
string |
Individual contact first name. |
middle_name |
string |
Individual contact middle name(s). |
last_name |
string |
Individual contact last name. |
credentials |
string |
Example: RN, NP |
contact_name |
string |
Organization / summarized name. |
main_contact |
string |
Name of primary contact at organization. |
long_distance |
boolean |
Is the contact a long-distance dial. |
payee_number |
string |
Typically used for provider contacts. |
specialty |
string |
Medical specialty for provider contacts. |
is_private |
boolean |
Typically used for insurer contacts. |
wcb |
boolean |
Typically used for insurer contacts. |
msp |
boolean |
Typically used for insurer contacts. |
icbc |
boolean |
Typically used for insurer contacts. |
tax |
boolean |
Typically used for insurer contacts. |
is_contact |
boolean |
Does contact belong to the generic Contact category. |
is_provider |
boolean |
Does contact belong to the Provider category. |
is_pharmacy |
boolean |
Does contact belong to the Pharmacy category. |
is_insurer |
boolean |
Does contact belong to the Insurer category. |
last_change |
string |
Timestamp of last update (default sort value - YYYY-MM-DD HH:MM:SS). Example: 2026-01-17 07:43:35 |
addresses |
array |
Contact addresses. Items:
Type:
object
— Contains:
ContactAddress
|
emails |
array |
Contact email addresses. Items:
Type:
object
— Contains:
ContactEmail
|
faxes |
array |
Contact fax numbers. Items:
Type:
object
— Contains:
ContactFax
|
phones |
array |
Contact phone numbers. Items:
Type:
object
— Contains:
ContactPhone
|
specialties |
array |
Contact practice specialties. Items:
Type:
object
— Contains:
ContactSpecialty
|
languages |
array |
Contact languages (non-English). Items:
Type:
object
— Contains:
ContactLanguage
|
Schema
ContactAddress| Property | Type | Details |
|---|---|---|
department |
integer |
Department name. |
clinic |
string |
Clinic/office name. |
street_address |
string |
Example: 111 Example Street |
city |
string |
Example: Brandon |
province |
string |
Example: MB |
postal_code |
string |
Example: R7A 5E7 |
Schema
ContactEmail| Property | Type | Details |
|---|---|---|
email |
string |
Example: example@libremd.com |
type |
string |
office/personal |
hint |
string |
Example: For referrals |
Schema
ContactFax| Property | Type | Details |
|---|---|---|
number |
string |
Example: 123-456-7890 |
type |
string |
work/home/other |
hint |
string |
Example: pediatrics-orthopedics |
Schema
ContactPhone| Property | Type | Details |
|---|---|---|
number |
string |
Example: 123-456-7890 |
extension |
string |
Example: ext. 5595 |
type |
string |
work/mobile/home/pager/other |
hint |
string |
Example: Main number |
Schema
ContactSpecialty| Property | Type | Details |
|---|---|---|
type |
string |
Example: Cardiology |
is_specialty |
boolean |
Is this a primary specialty. |
is_sub_specialty |
boolean |
Is this a subspecialty |
accepting_referrals |
boolean |
Are referrals being accepted for this specialty. |
referral_requirements |
string |
Example: Must fax intake form from website. |
Schema
ContactLanguage| Property | Type | Details |
|---|---|---|
language |
string |
Example: French |
notes |
string |
Example: Only available at primary facility. |