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 theshop_uid and shop_customer_id pair already exists. This is step 1 for Patient Pass issuance (POST /wallet-passes needs that shop-customer link) and the supported create flow for Scheduling.
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. Each entry is
{ "field": "<field_key>", "value": <value>, "source": "shop" | "questionnaire" | "user" }.
source defaults to shop and must match the field’s configured source in
Settings → Profile Fields. A mismatch or unknown field key returns 404.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
patient:read
Example Request
Response
Error Responses
Get Patient Profile
Retrieve a patient profile by UID.string
required
The patient UID
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
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
string
Source of the field (
shop, questionnaire, or user). Must match the profile field’s configured source and the source used when writing the value via Create or Resolve Patient. Defaults to shop.fields[].field when setting a value via Create or Resolve Patient — for example first_name. Pass the same source you used when writing the value. Deleting a value therefore uses exactly the identifier you used to set it; no separate lookup is needed.
Required permission: patient_profile_field:delete