Skip to main content

Patients

Search for patients by email address, view patient profiles, and check patient intent status.

Create or Resolve Patient

Create a patient profile for a shop customer, or return the existing profile if the shop_uid and shop_customer_id pair already exists. This is the supported patient creation flow for API-key integrations that later use Scheduling.
Required permission: patient:write
string
required
UID of the shop the customer belongs to
string
required
The shop’s identifier for the customer
string
Optional patient email stored on the shop-patient mapping and used for patient lookup/search.
array
Optional patient profile fields to set for the shop customer.

Search Patient by Email

Find a patient by their email address. Returns the most recently created patient whose shop-patient email or order email matches the given email.
string
required
The email address to search for
Required permission: patient:read

Example Request

Response

Error Responses

Get Patient Profile

Retrieve a patient profile by UID.
string
required
The patient UID
Required permission: patient:read

Example Request

Response

Check Patient Intent

Check the intent return code for a patient. Returns a code indicating when the last signed submission for this intent was made.
string
required
The patient UID
string
required
The intent identifier
Required permission: patient:read

Example Request

Response

Return Code Values

Delete Patient Profile Field

Delete a patient’s value for a single profile field.
string
required
The patient UID
string
required
Key of the profile field to delete the patient’s value for
The field key is the same value you send in fields[].field when setting a value via Create or Resolve Patient — for example first_name. Deleting a value therefore uses exactly the identifier you used to set it; no separate lookup is needed. Required permission: patient_profile_field:delete
This is a hard delete. The field value is removed from the patient’s profile, not archived or soft-deleted. An internal audit log entry recording the deletion (naming the API key that performed it) is written as part of the same call — afterwards, that log entry is the only remaining record that the value ever existed.

Example Request

Response (200 OK)

Error Responses