Skip to main content
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

Formatting rules worth knowing up front:
  • phone — 10 digits, no formatting: 6417383445, not (641) 738-3445.
  • state — two-letter abbreviation. country defaults to US.
  • zip_code — 5-digit or ZIP+4.
  • date_of_birthYYYY-MM-DD.
  • ssn — accepted with or without hyphens.

Handling a duplicate

If the patient already exists, Blend returns 400 with a body that names the existing record: error, existing_patient_id, and existing_patient_external_id when that record has one. Treat this as a successful lookup, not a failure — read existing_patient_id and continue with it rather than retrying.
Duplicate detection runs within your own customer account, matching on name plus date of birth, or on external_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. Both POST /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.
Patients can also be created and edited in the Blend Dashboard, and Blend can bulk-import your existing patient roster during onboarding — useful when you’re bringing over refill prescriptions for established patients.

Create a patient

POST /patients

Update a patient's details

PATCH /patients/patient_id

Guardian relationship types

Valid guardian_relationship values

Get a patient's details

By UUID or your external_id