Create or update a provider user
POST/users
Upserts a provider user. Matching is done using external_provider_id. If a matching user exists, updates their settings. Otherwise, provisions a new user. Returns 409 if external_provider_id and provider_email identify different existing users.
Request
Responses
- 200
The upserted user.
Operation spec
{
"method": "post",
"path": "/users",
"operationId": "provision-users",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Input required to upsert a Nabla Connect user.",
"properties": {
"provider_email": {
"type": "string",
"description": "Provider email address. Primary identity key.",
"minLength": 1
},
"external_provider_id": {
"type": "string",
"description": "External provider ID from EHR.",
"minLength": 1,
"maxLength": 256
},
"settings": {
"type": "object",
"properties": {
"specialty": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "Specialty kind.",
"enum": [
"ADDICTION_MEDICINE",
"PAIN_MEDICINE",
"ALLERGY_AND_IMMUNOLOGY",
"ANESTHESIOLOGY",
"ONCOLOGY",
"CARDIOLOGY",
"SURGERY",
"DERMATOLOGY",
"DIABETOLOGY",
"ENDOCRINOLOGY",
"GENETICS",
"GERIATRICS",
"GYNECOLOGY",
"HEMATOLOGY",
"HEPATOLOGY",
"GASTROENTEROLOGY",
"SPORTS_MEDICINE",
"OCCUPATIONAL_MEDICINE",
"GENERAL_MEDICINE",
"FORENSIC_MEDICINE",
"PHYSICAL_MEDICINE_AND_REHABILITATION",
"NEPHROLOGY",
"NEUROLOGY",
"NUTRITION",
"DIETETICS",
"OPHTHALMOLOGY",
"ENT",
"PEDIATRICS",
"PULMONOLOGY",
"PSYCHIATRY",
"RHEUMATOLOGY",
"RADIOLOGY",
"IMMUNOLOGY",
"INFECTIOUS_DISEASE",
"SEXUAL_MEDICINE",
"TOXICOLOGY",
"UROLOGY",
"MIDWIFE",
"EMERGENCY_MEDICINE",
"NURSE",
"PSYCHOLOGY",
"PSYCHOTHERAPY",
"INTERNAL_MEDICINE",
"FAMILY_MEDICINE",
"DENTIST",
"VETERINARIAN",
"PHYSIOTHERAPY",
"CHIROPRACTIC",
"OSTEOPATHIC_MEDICINE",
"ORTHOPEDICS",
"OTHER",
"LACTATION_CONSULTANT",
"PODIATRY",
"GENERAL_PRACTICE",
"HOSPITAL_MEDICINE",
"BEHAVIORAL_HEALTH",
"MENTAL_HEALTH",
"SUBSTANCE_USE_DISORDER",
"VASCULAR_MEDICINE",
"LIFESTYLE_MEDICINE",
"PREVENTIVE_MEDICINE",
"PUBLIC_HEALTH",
"ADOLESCENT_MEDICINE",
"WOUND_CARE",
"NEUROSURGERY",
"PLASTIC_SURGERY",
"PALLIATIVE_CARE",
"TRANSPLANT_MEDICINE",
"OBESITY_MEDICINE",
"CASE_MANAGEMENT",
"CARE_MANAGEMENT",
"CARE_COORDINATION",
"SOCIAL_WORK",
"PATHOLOGY",
"RADIATION_ONCOLOGY",
"SLEEP_MEDICINE",
"AUDIOLOGY",
"REPRODUCTIVE_ENDOCRINOLOGY",
"PHARMACIST",
"OCCUPATIONAL_THERAPY",
"SPEECH_LANGUAGE_PATHOLOGY"
],
"example": "GENERAL_PRACTICE",
"title": "specialty_kind"
},
"other_specialty_name": {
"type": "string",
"nullable": true,
"description": "Required when kind is OTHER."
}
},
"required": [
"kind"
],
"title": "provision_user_specialty_request"
},
"speech_locale": {
"type": "string",
"enum": [
"ENGLISH_US",
"ENGLISH_UK",
"SPANISH_ES",
"SPANISH_MX",
"FRENCH_FR",
"ARABIC_EG",
"ARABIC_LB",
"ARABIC_MA",
"ARABIC_SA",
"ARMENIAN_AM",
"BENGALI_IN",
"CANTONESE_CN",
"CROATIAN_HR",
"FILIPINO_PH",
"GERMAN_DE",
"GREEK_GR",
"GUJARATI_IN",
"HEBREW_IL",
"HINDI_IN",
"ITALIAN_IT",
"JAPANESE_JP",
"KHMER_KH",
"KOREAN_KR",
"MANDARIN_CN",
"PERSIAN_IR",
"POLISH_PL",
"PORTUGUESE_PT",
"PUNJABI_IN",
"RUSSIAN_RU",
"SERBIAN_RS",
"TAMIL_IN",
"TELUGU_IN",
"THAI_TH",
"URDU_IN",
"VIETNAMESE_VN",
"HAITIAN_HT"
],
"example": "ENGLISH_US",
"title": "speech_locale"
},
"secondary_speech_locale": {
"type": "string",
"enum": [
"ENGLISH_US",
"ENGLISH_UK",
"SPANISH_ES",
"SPANISH_MX",
"FRENCH_FR",
"ARABIC_EG",
"ARABIC_LB",
"ARABIC_MA",
"ARABIC_SA",
"ARMENIAN_AM",
"BENGALI_IN",
"CANTONESE_CN",
"CROATIAN_HR",
"FILIPINO_PH",
"GERMAN_DE",
"GREEK_GR",
"GUJARATI_IN",
"HEBREW_IL",
"HINDI_IN",
"ITALIAN_IT",
"JAPANESE_JP",
"KHMER_KH",
"KOREAN_KR",
"MANDARIN_CN",
"PERSIAN_IR",
"POLISH_PL",
"PORTUGUESE_PT",
"PUNJABI_IN",
"RUSSIAN_RU",
"SERBIAN_RS",
"TAMIL_IN",
"TELUGU_IN",
"THAI_TH",
"URDU_IN",
"VIETNAMESE_VN",
"HAITIAN_HT"
],
"example": "ENGLISH_US",
"title": "speech_locale"
}
},
"required": [
"specialty",
"speech_locale"
],
"title": "provision_user_settings_request"
}
},
"required": [
"provider_email",
"external_provider_id"
],
"title": "provision_user_request"
}
}
}
},
"responses": {
"200": {
"description": "The upserted user.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"provider_email": {
"type": "string"
},
"external_provider_id": {
"type": "string"
},
"settings": {
"type": "object",
"properties": {
"specialty": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "Specialty kind.",
"enum": [
"ADDICTION_MEDICINE",
"PAIN_MEDICINE",
"ALLERGY_AND_IMMUNOLOGY",
"ANESTHESIOLOGY",
"ONCOLOGY",
"CARDIOLOGY",
"SURGERY",
"DERMATOLOGY",
"DIABETOLOGY",
"ENDOCRINOLOGY",
"GENETICS",
"GERIATRICS",
"GYNECOLOGY",
"HEMATOLOGY",
"HEPATOLOGY",
"GASTROENTEROLOGY",
"SPORTS_MEDICINE",
"OCCUPATIONAL_MEDICINE",
"GENERAL_MEDICINE",
"FORENSIC_MEDICINE",
"PHYSICAL_MEDICINE_AND_REHABILITATION",
"NEPHROLOGY",
"NEUROLOGY",
"NUTRITION",
"DIETETICS",
"OPHTHALMOLOGY",
"ENT",
"PEDIATRICS",
"PULMONOLOGY",
"PSYCHIATRY",
"RHEUMATOLOGY",
"RADIOLOGY",
"IMMUNOLOGY",
"INFECTIOUS_DISEASE",
"SEXUAL_MEDICINE",
"TOXICOLOGY",
"UROLOGY",
"MIDWIFE",
"EMERGENCY_MEDICINE",
"NURSE",
"PSYCHOLOGY",
"PSYCHOTHERAPY",
"INTERNAL_MEDICINE",
"FAMILY_MEDICINE",
"DENTIST",
"VETERINARIAN",
"PHYSIOTHERAPY",
"CHIROPRACTIC",
"OSTEOPATHIC_MEDICINE",
"ORTHOPEDICS",
"OTHER",
"LACTATION_CONSULTANT",
"PODIATRY",
"GENERAL_PRACTICE",
"HOSPITAL_MEDICINE",
"BEHAVIORAL_HEALTH",
"MENTAL_HEALTH",
"SUBSTANCE_USE_DISORDER",
"VASCULAR_MEDICINE",
"LIFESTYLE_MEDICINE",
"PREVENTIVE_MEDICINE",
"PUBLIC_HEALTH",
"ADOLESCENT_MEDICINE",
"WOUND_CARE",
"NEUROSURGERY",
"PLASTIC_SURGERY",
"PALLIATIVE_CARE",
"TRANSPLANT_MEDICINE",
"OBESITY_MEDICINE",
"CASE_MANAGEMENT",
"CARE_MANAGEMENT",
"CARE_COORDINATION",
"SOCIAL_WORK",
"PATHOLOGY",
"RADIATION_ONCOLOGY",
"SLEEP_MEDICINE",
"AUDIOLOGY",
"REPRODUCTIVE_ENDOCRINOLOGY",
"PHARMACIST",
"OCCUPATIONAL_THERAPY",
"SPEECH_LANGUAGE_PATHOLOGY"
],
"example": "GENERAL_PRACTICE",
"title": "specialty_kind"
},
"other_specialty_name": {
"type": "string",
"nullable": true
}
},
"required": [
"kind"
],
"title": "provision_user_specialty_response"
},
"speech_locale": {
"nullable": true,
"type": "string",
"enum": [
"ENGLISH_US",
"ENGLISH_UK",
"SPANISH_ES",
"SPANISH_MX",
"FRENCH_FR",
"ARABIC_EG",
"ARABIC_LB",
"ARABIC_MA",
"ARABIC_SA",
"ARMENIAN_AM",
"BENGALI_IN",
"CANTONESE_CN",
"CROATIAN_HR",
"FILIPINO_PH",
"GERMAN_DE",
"GREEK_GR",
"GUJARATI_IN",
"HEBREW_IL",
"HINDI_IN",
"ITALIAN_IT",
"JAPANESE_JP",
"KHMER_KH",
"KOREAN_KR",
"MANDARIN_CN",
"PERSIAN_IR",
"POLISH_PL",
"PORTUGUESE_PT",
"PUNJABI_IN",
"RUSSIAN_RU",
"SERBIAN_RS",
"TAMIL_IN",
"TELUGU_IN",
"THAI_TH",
"URDU_IN",
"VIETNAMESE_VN",
"HAITIAN_HT"
],
"example": "ENGLISH_US",
"title": "speech_locale"
},
"secondary_speech_locale": {
"nullable": true,
"type": "string",
"enum": [
"ENGLISH_US",
"ENGLISH_UK",
"SPANISH_ES",
"SPANISH_MX",
"FRENCH_FR",
"ARABIC_EG",
"ARABIC_LB",
"ARABIC_MA",
"ARABIC_SA",
"ARMENIAN_AM",
"BENGALI_IN",
"CANTONESE_CN",
"CROATIAN_HR",
"FILIPINO_PH",
"GERMAN_DE",
"GREEK_GR",
"GUJARATI_IN",
"HEBREW_IL",
"HINDI_IN",
"ITALIAN_IT",
"JAPANESE_JP",
"KHMER_KH",
"KOREAN_KR",
"MANDARIN_CN",
"PERSIAN_IR",
"POLISH_PL",
"PORTUGUESE_PT",
"PUNJABI_IN",
"RUSSIAN_RU",
"SERBIAN_RS",
"TAMIL_IN",
"TELUGU_IN",
"THAI_TH",
"URDU_IN",
"VIETNAMESE_VN",
"HAITIAN_HT"
],
"example": "ENGLISH_US",
"title": "speech_locale"
}
},
"required": [
"specialty"
],
"title": "provision_user_settings_response"
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"provider_email",
"external_provider_id",
"settings",
"created_at"
],
"title": "provision_user_response"
}
}
}
}
}
}