---
title: "Terminate a group location"
method: PUT
path: "/groups/locations/{locationId}/terminate"
tags: ["Group"]
---

# Terminate a group location

`PUT /groups/locations/{locationId}/terminate`

Terminates a group location from a group. The cascade terminates the location's practitioner associations (GroupPractitionerLocation), the location record itself (GroupLocation, TenantGroupLocation), and — by default — all of the location's still-active network associations (TenantGroupLocationNetwork), so networksAffected reflects the number of network associations terminated by this call. Set the group-location.terminate.cascade-network.enabled config flag to false to disable the network cascade (networksAffected will then always be 0, matching the legacy behavior). If the network cascade fails (lookup or termination), this call returns 500 even though the location itself has already been terminated and is not rolled back — retry the request to complete the cascade; already-terminated networks are skipped on retry. To terminate only specific network associations without terminating the location itself, call PUT /groups/locations/{locationId}/networks/terminate instead. The request body must include consentConfirmed set to true to confirm the termination; omitting it or supplying false returns 400.

## Path parameters

- `locationId` string, required

## Headers

- `tenant-id` string

## Request body

- TerminateGroupLocationRequest — Request to terminate a group location
  - `terminationDate` string, required — Termination date (ISO-8601 format, e.g., 2024-01-15). Must be >= start/effective date. Future dates allowed.
  - `terminationInformedDate` string — Date when termination was informed (ISO-8601 format, e.g., 2024-01-15)
  - `terminationReason` string — Termination reason code. Used for compliance and audit purposes.
  - `consentConfirmed` boolean, required — User consent confirmation that they understand the impact of this termination on the group, networks, plans, and practitioners
  - `networkIds` string[] — When non-empty, terminates only these networks for the location (TenantGroupLocationNetwork). Does not terminate the whole location or other networks.
  - `data` object — Additional termination data
  - `continuityOfCare` boolean — Whether Continuity of Care applies for this termination. Defaults to false when omitted.

## Response `200`

Successfully terminated group location

- TerminateGroupLocationResponse — Response for terminating a group location
  - `tenantGroupLocationId` string, required — The tenant group location ID
  - `success` boolean, required — Whether termination was successful
  - `terminationDate` string, required — Termination date
  - `terminationReason` string, required — Termination reason
  - `practitionersAffected` integer, required — Number of practitioners affected by this termination
  - `practitionersRequiringReview` string[], required — List of practitioner IDs that are linked only via this group-location and may need review
  - `networksAffected` integer, required — Number of networks affected
  - `errorMessage` string — Error message if termination failed

## Other responses

- `400` — Bad request - Invalid input, validation error, or consent not confirmed
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `404` — Group location 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)
