Skip to content

Create Doctor

Create a new doctor profile. The doctor must already have a user account; use Add Staff to create a user and doctor together in one call.

Endpoint

POST /v1/doctor

Request Body

Parameter Type Required Description
master_specialization string Yes Primary specialization (see Specialization Values)
first_name string No First name
middle_name string No Middle name
last_name string No Last name
email string No Email address
mobile string No Mobile phone number
sex string No MALE, FEMALE, or OTHER
date_of_birth string (date) No Date of birth (YYYY-MM-DD)
about string No Bio / description
qualifications array No List of qualification strings (e.g., ["PT", "DPT"])
services array No List of service strings
specialities array No List of specialty strings
experiences array No Work experience entries (see Experience Object)
languages array No Languages spoken
registration_number string No Professional registration number
registration_body string No Registration authority
awards string No Awards and recognitions
npi string No National Provider Identifier
color_code string No Hex color code for UI (#0a76db)
clinics array No Clinic associations (see Clinic Details Object)
roles array No System roles to assign
verified boolean No Whether the profile is verified

Experience Object

Parameter Type Required Description
title string No Job title
organization string No Organization name
start_date string (date) No Start date
end_date string (date) No End date (null if current)

Clinic Details Object

Parameter Type Required Description
clinic_id integer Yes Clinic to associate the doctor with

Request

curl --location '{base_url}/v1/doctor' \
  --header 'Authorization: Bearer JWT_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "master_specialization": "PHYSICAL_THERAPIST",
    "first_name": "Jane",
    "last_name": "Doe",
    "email": "jane.doe@example.com",
    "mobile": "5551234567",
    "qualifications": ["PT", "DPT"],
    "npi": "1234567890",
    "clinics": [{ "clinic_id": 44 }],
    "roles": ["DOCTOR"]
  }'

Response

Success Response

Code: 200 OK

{
  "code": 2000,
  "data": {
    "doctor_id": 485200,
    "first_name": "Jane",
    "last_name": "Doe",
    "master_specialization": "PHYSICAL_THERAPIST",
    "email": "jane.doe@example.com",
    "npi": "1234567890",
    "clinics": [{ "clinic_id": 44, "status": "ACTIVE" }],
    "roles": ["DOCTOR"]
  },
  "message": "Success"
}

Error Response

Code: 400 Bad Request

{
  "code": 4000,
  "message": "Master Specialization is required",
  "data": null
}

Notes

  • Prefer using Add Staff when creating a doctor from scratch — it creates the user account and doctor profile in a single request and sends the invite email automatically.
  • master_specialization is the only required field.