latestOpenAPI 3.1.02026-08-194237902.5 MB

563848e0ecc0

Practitioner

Terminate several practitioner relationships, and/or states to credential, in one request

Multi-scope sibling of PUT /practitioners/terminate, built for the monitoring termination drawer (CP-36182). That endpoint accepts exactly ONE scope per call; this one takes the whole selection and fans out over the same per-scope service internally, so guard checks, per-type validation, date validation and cascades behave identically.

Scope types accepted: GROUP, NETWORK, GROUP_LOCATIONS, LOCATION_NETWORK. FULL_EXIT and INFERRED_LOCATION are rejected with 400 — full termination is already a single call, so use PUT /practitioners/terminate for it.

Identity: the practitioner is identified by certifyPractitionerId; tenantPractitionerId is resolved server-side from it plus the tenant-id header, scoped to that tenant.

Additionally removes the supplied statesToCredential from the practitioner's contributing crosswalk (writing an empty array, never null, when none remain), marks the acted-on flag seen with the termination note, and re-syncs the monitoring workflow so flags for removed states are re-evaluated.

Returns 200 even on partial failure — inspect status and scopeResults. A 2xx does NOT mean everything applied. Only whole-request problems (validation, auth, kill switch) come back as 4xx/5xx.

Gated by practitioner.termination.partial-composite.enabled (default false); returns 404 as if the endpoint did not exist while disabled.

put/practitioners/terminate-partial

Headers

tenant-idstring

Request body

certifyPractitionerIdstring required

Certify practitioner id

terminationDatestring required

Termination date (YYYY-MM-DD)

terminationReasonstring

Termination reason; also written as the note on the acted-on flag

terminationInformedDatestring

Date the practitioner was informed (YYYY-MM-DD)

statesToCredentialstring[]

State codes to REMOVE from statesToCredential; may be empty

flagIdstring

Monitoring flag to mark seen with the termination note

Example request

{
  "terminationDate": "2026-08-12",
  "scopes": [
    {
      "terminationType": "NETWORK"
    }
  ],
  "statesToCredential": [
    "NY",
    "NJ"
  ]
}

Response

Applied. status is SUCCESS, PARTIAL_SUCCESS or FAILED; scopeResults carries per-scope detail.

statusstring

SUCCESS | PARTIAL_SUCCESS | FAILED

terminationDatestring

The termination date applied

Example response

{
  "status": "PARTIAL_SUCCESS",
  "terminationDate": "2026-08-12",
  "scopeResults": [
    {
      "errorCode": "409"
    }
  ]
}