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¶
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
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_specializationis the only required field.