563848e0ecc0
Upsert roles at the core and group-location level
Updates the practitioner's roles at the core practitioner level and, optionally, at the group-practitioner-location level. Each role entry in the request is upserted — added if not present, updated if already present; roles are not deleted by omission, so to remove a role use PATCH /practitioners/{id}/roles/remove instead. Use this when adding or modifying practitioner roles; for renaming a role key as a data correction, use PATCH /practitioners/{id}/roles/correct. {id} is the certifyPractitionerId. Each entry requires role (validated against a runtime role allowlist) and at least one of effectiveDate/terminationDate; groupPractitionerLocationId is optional and controls whether the entry is also applied at the location level — if omitted, only the core practitioner record is updated.
Path parameters
Practitioner ID
Headers
Request body
Example request
[
{
"role": "PCP",
"effectiveDate": "2026-01-10",
"terminationDate": "2026-02-02",
"groupPractitionerLocationId": "550e8400-e29b-41d4-a716-446655440000"
}
]Response
Practitioner roles updated successfully. Both practitionerRoles and locationRoles are populated when location IDs are present in the request; locationRoles is empty otherwise.
Example response
{
"practitionerRoles": {
"pcp": {
"effectiveDate": "2026-01-10",
"terminationDate": "2026-02-02"
},
"specialist": {
"effectiveDate": "2026-01-01"
}
},
"locationRoles": {
"550e8400-e29b-41d4-a716-446655440000": {
"pcp": {
"effectiveDate": "2026-01-10",
"terminationDate": "2026-02-02"
}
}
}
}