POST /api/v1/patients creates a patient. Six fields are required: first_name, last_name, email, phone, date_of_birth, and an address object with address_1, city, state, and zip_code. Everything else is optional, but external_id is worth sending on every patient — it’s what makes prescription matching definitive rather than a name lookup.
A patient must exist before an order can be placed for them, though a prescription can arrive first and wait.
Create one
phone— 10 digits, no formatting:6417383445, not(641) 738-3445.state— two-letter abbreviation.countrydefaults toUS.zip_code— 5-digit or ZIP+4.date_of_birth—YYYY-MM-DD.ssn— accepted with or without hyphens.
Handling a duplicate
Duplicate detection runs within your own customer account, matching on name plus date of birth, or onexternal_id.
Minors and guardians
If the patient is a minor,guardian_name is required. guardian_phone, guardian_email, and guardian_relationship complete the record — pull valid relationship values from GET /patients/guardian_relationship_types; parent and legal_guardian are the common ones, and other is accepted.
Patient notifications
receive_sms and receive_email control whether the patient gets shipment notifications directly from Blend.
These flags only take effect if you have authorized Blend to send patient communications on your behalf. If you haven’t, setting them has no effect — patient contact stays entirely with your business.
Creating a patient inline
You don’t have to call this endpoint separately. BothPOST /orders and the composite endpoint accept a full patient object and will create the patient as part of the same request — or accept { "external_id": "..." } to reference an existing one.
Create a patient
POST /patients
Update a patient's details
PATCH /patients/patient_id
Guardian relationship types
Valid
guardian_relationship valuesGet a patient's details
By UUID or your
external_id