---
title: "Terminate group specialties from network participation"
method: POST
path: "/groups/{id}/specialties/terminate"
tags: ["Group"]
---

# Terminate group specialties from network participation

`POST /groups/{id}/specialties/terminate`

Terminates one or more specialties from a group for network participation. Applies effective-dated termination at group–network association; optionally at group-location and group-level. Previous state is preserved for audit.

## Path parameters

- `id` string, required

## Headers

- `tenant-id` string

## Request body

- TerminateGroupSpecialtyRequest — Request to terminate one or more group specialties from network participation. Terminates at group-network association; optionally at group-location and group-level. Required: specialtyIds (standard Specialty IDs). Optional: networkIds (standard Network IDs to restrict scope).
  - `specialtyIds` string[], required — Required. List of Specialty IDs (standard/certify specialty identifiers) to terminate for this group. Each must be a specialty currently associated with the group. Obtain from: GET /specialties, or GET /groups/{id}/relationships/all (specialties with specialtyId).
  - `networkIds` string[] — Optional. Network IDs (standard/certify network identifiers) to restrict termination to. If null or empty, terminates from all networks the group participates in. Obtain from: GET /networks or GET /groups/{id}/relationships/all (networks).
  - `terminationInformedDate` string — Termination informed date (ISO-8601 YYYY-MM-DD).
  - `terminationEffectiveDate` string, required — Termination effective date (ISO-8601 YYYY-MM-DD). When the specialty termination takes effect.
  - `terminationReason` string — Termination reason (e.g. code or free text).
  - `acknowledgementConfirmed` boolean, required — User acknowledgement that terminating specialty from the group will terminate it from its locations, participating networks and plans.
  - `terminateAtGroupLocationSpecialties` boolean — If true, also terminate the specialty at group-location level (TenantGroupLocationSpecialty).
  - `terminateAtGroupLevel` boolean — If true, also terminate the specialty at group level (TenantGroupSpecialty).

## Response `200`

Group specialties successfully terminated

- TerminateGroupSpecialtyResponse — Response after terminating group specialties from network participation
  - `groupId` string — Group ID (standard/certify group identifier)
  - `groupSpecialtiesTerminated` integer — Number of group-level specialties terminated
  - `groupNetworkSpecialtiesTerminated` integer — Number of group-network specialties terminated
  - `groupLocationSpecialtiesTerminated` integer — Number of group-location specialties terminated
  - `terminationEffectiveDate` string — Termination effective date applied
  - `terminatedSpecialtyIds` string[] — Specialty IDs (standard) that were terminated

## Other responses

- `400` — Bad request - Invalid input, validation error, or acknowledgement not confirmed
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `404` — Group or group 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/versions/3d27e9019c7b/schema)
