---
title: "Terminate a practitioner specialty with optional cascade"
method: PUT
path: "/practitioners/tenant-practitioner-specialties/terminate"
tags: ["Practitioner"]
---

# Terminate a practitioner specialty with optional cascade

`PUT /practitioners/tenant-practitioner-specialties/terminate`

Terminates a practitioner's tenant-level specialty association and optionally propagates the termination to related specialty records at the group, location, and network levels. Use this when a practitioner's specialty should be ended; to correct a wrongly recorded specialty rather than end it, use `PATCH /practitioners/tenant-practitioner-specialties/specialty` instead. The base request requires `tenantPractitionerSpecialtyId` and `terminationDate`; cascading to the group level is optional via a `groupTerminations` list, each entry requiring only `tenantGroupPractitionerId` plus optional scope-narrowing IDs. This endpoint does not apply the active-credentialing/monitoring-workflow guard used by `PUT /practitioners/terminate`, so it never returns a 409 for that reason.

## Headers

- `tenant-id` string

## Request body

- PractitionerSpecialtyTerminationRequest
  - `tenantPractitionerSpecialtyId` string, required — The ID of the TenantPractitionerSpecialty to terminate (required)
  - `terminationDate` string, required — Termination effective date (YYYY-MM-DD)
  - `terminationReason` string — Termination reason
  - `terminationInformedDate` string — Date when termination was informed (YYYY-MM-DD)
  - `continuityOfCare` boolean — Whether Continuity of Care applies for this termination. Defaults to false when omitted.
  - `groupTerminations` GroupPractitionerSpecialtyTermination[] — Optional list of group practitioner specialty terminations to cascade to. Each entry handles cascading termination for a specific practitioner-group relationship.
    - `tenantGroupPractitionerId` string, required — The TenantGroupPractitioner ID for cascading termination
    - `tenantSpecialtyId` string — Optional tenant specialty ID for group-level specialty termination
    - `tenantGroupPractitionerSpecialtyId` string — Optional tenant group practitioner specialty ID for direct termination
    - `tenantGroupPractitionerNetworkId` string — Optional tenant group practitioner network ID for network specialty termination
    - `tenantGroupPractitionerLocationId` string — Optional tenant group practitioner location ID for location specialty termination
    - `tenantGroupLocationPractitionerNetworkId` string — Optional tenant group location practitioner network ID for location-network specialty termination
    - `tenantGroupPractitionerLocationSpecialtyId` string — Optional tenant group practitioner location specialty ID for location-network specialty termination

## Response `200`

Tenant practitioner specialty terminated successfully. The response is a `message`/`tenantPractitionerSpecialtyId` map; when `groupTerminations` cascading is supplied, a third key, `groupTerminationsCount`, is included.

## Other responses

- `400` — Bad request - Invalid input
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `404` — Tenant practitioner specialty not found
- `500` — Internal server error

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
