Skip to content

Create a new patient

Request

Creates a new patient record for a practice. Writable fields mirror the patient resource returned by list and get where applicable.

Security
oauth2(Required scopes: patient:write)
Headers
X-Practice-Idstring, (uuid)required

UUID of the practice in whose context the request is executed. The API uses this to resolve data the caller is permitted to access for that practice.

Bodyapplication/jsonrequired

Patient object that needs to be added to the practice.

first_namestringrequired
Example:"Jane"
last_namestringrequired
Example:"Doe"
date_of_birthstring, (date)required

Date of birth in ISO 8601 format (YYYY-MM-DD).

Example:"1990-04-12"
ethnicitystring(ethnicity)required

NHS ethnicity code for the patient, expressed as a two-digit zero-padded string (for example "01"). Ethnicity is collected for UK practices that support patient ethnicity (England, Wales, Northern Ireland, Channel Islands, and Isle of Man).

Post–April 2026 codes (England and Wales practices with NHS contract reform)

  • 01 — White: English or Welsh or Scottish or Northern Irish or British
  • 02 — White: Irish
  • 03 — White: Any other White background
  • 04 — Mixed multiple ethnic groups: White and Black Caribbean
  • 05 — Mixed multiple ethnic groups: White and Black African
  • 06 — Mixed multiple ethnic groups: White and Asian
  • 07 — Mixed multiple ethnic groups: Any other Mixed or Multiple ethnic background
  • 08 — Asian or Asian British: Indian
  • 09 — Asian or Asian British: Pakistani
  • 10 — Asian or Asian British: Bangladeshi
  • 11 — Asian or Asian British: Any other Asian background
  • 12 — Black or African or Caribbean or Black British: Caribbean
  • 13 — Black or African or Caribbean or Black British: African
  • 14 — Black or African or Caribbean or Black British: Other Black or African or Caribbean background
  • 15 — Asian or Asian British: Chinese
  • 16 — Other Ethnic Group: Any other Ethnic Group
  • 17 — White: Gypsy or Irish Traveller
  • 18 — Other Ethnic Group: Arab
  • 97 — Other: Ethnicity Not Stated
  • 98 — Other: Patient Ethnicity Unknown
  • 99 — Other: Patient declined
Enum:"01""02""03""04""05""06""07""08""09""10"
Example:"01"
site_idstring, (uuid)required
Example:"7c9e6679-7425-40de-944b-e07fc1f90ae7"
payment_plan_idstring, (uuid)

Payment plan for the patient. When not provided, the default payment plan for the given site is applied.

Example:"6ba7b810-9dad-11d1-80b4-00c04fd430c8"
titlestring(title)required

The different patient titles supported by Dentally.

Enum:"Mr""Mrs""Miss""Ms""Dr""Master""Prof""Hon""Rev""Sir"
Example:"Ms"
biological_sexstring(biological-sex)

Maps to the patient gender field at creation time.

Enum:"male""female"
Example:"male"
email_addressstring or null

Primary email address for contact.

Example:"jane.doe@example.com"
addressobject(address)

Physical mailing or street address for a location. Field meanings depend on the country or region (for example, what appears in administrative_area in one country may differ from another). Every field may be null if it has not been supplied; the object is still returned so clients can rely on a stable shape. When provided, fully replaces the patient's stored address: each field is set to the value sent.

For update operations, the address is replacing the previous value for all fields. Omit address entirely to leave the stored address unchanged.

phonesArray of objects(phone)

Contact numbers (phone_type, phone_number, and phone_country). Each phone_type maps to home, work, or mobile on the patient record.

curl -i -X POST \
  https://docs.api.dentally.com/_mock/docs/versions/2026-01-01/nexgen/patients \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Practice-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -d '{
    "first_name": "Jane",
    "last_name": "Doe",
    "date_of_birth": "1990-04-12",
    "ethnicity": "01",
    "site_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "payment_plan_id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
    "title": "Ms",
    "biological_sex": "male",
    "email_address": "jane.doe@example.com",
    "address": {
      "address_line_1": "42 High Street",
      "address_line_2": "Suite 2",
      "address_line_3": "Suburbia",
      "locality": "London",
      "administrative_area": "Greater London",
      "postal_code": "EC1A 1BB"
    },
    "phones": [
      {
        "phone_type": "home",
        "phone_number": "01234567890",
        "phone_country": "NZ",
        "phone_number_normalized": "+641234567890"
      }
    ]
  }'

Responses

Response after creating a patient (201 Created). The body contains the new patient resource as data.

Bodyapplication/json
dataobject(patient)required

Created patient record; see components/schemas/patient.yml.

Response

Wrapper returned by get, create, or update patient.

{ "data": { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "is_active": true, "is_appointment_booking_prevented": false, "preferred_phone_type": "mobile", "first_name": "Jane", "last_name": "Doe", "date_of_birth": "1990-04-12", "title": "Ms", "ethnicity": "01", "payment_plan_id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", "site_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "address": { … }, "email_address": "jane.doe@example.com", "biological_sex": "female", "phones": [ … ], "communication": { … }, "recall": { … }, "archived_reason": null, "is_bad_debtor": false, "created_at": "2025-06-01T08:00:00Z", "updated_at": "2026-01-18T12:00:00Z" } }