---
title: "Terminate a facility location (full or network-only)"
method: POST
path: "/facilities/{certifyFacilityId}/locations/{certifyLocationId}/terminate"
tags: ["Facility"]
---

# Terminate a facility location (full or network-only)

`POST /facilities/{certifyFacilityId}/locations/{certifyLocationId}/terminate`

Supports two modes controlled by which dates are provided in the request body: (1) Full termination — provide facilityTerminationDate to terminate the facility–location relationship and cascade to all network/plan participation records in one atomic batch. (2) Network-only termination — omit facilityTerminationDate and provide networkTerminationDate. Terminates TenantGroupLocationFacilityNetwork (TGLFN) for this facility at the location and cascades to plan and practitioner network participation (TenantGroupLocationNetworkPlan, TenantGroupLocationPractitionerNetwork, TenantGroupPractitionerNetwork). Does not write TenantGroupLocationNetwork (TGLN). The facility–location record itself remains active. Optionally scope to a single network by providing networkId. At least one date field is required. Does not terminate TenantGroupFacilityNetwork (whole-facility network enrollment).

## Path parameters

- `certifyFacilityId` string, required
- `certifyLocationId` string, required

## Headers

- `tenant-id` string

## Request body

- TerminateFacilityLocationRequest — Request to terminate a facility location from the facility
  - `facilityTerminationDate` string — Effective termination date for the facility–location relationship (ISO-8601). When omitted, only network participation is terminated (network-only mode).
  - `networkTerminationDate` string — Effective termination date for network and plan participation for this location (ISO-8601). Required when facilityTerminationDate is omitted.
  - `terminationReason` string — Reason for termination. Optional in all termination modes — both full-facility and network-only callers may omit this field.
  - `terminationInformedDate` string — Date the termination notice was provided (ISO-8601)
  - `comments` string — Optional comments persisted on terminated records
  - `consentConfirmed` boolean, required — User must acknowledge impact before termination
  - `networkId` string — When provided in network-only mode (facilityTerminationDate is null), scopes termination to this specific network ID only. When omitted in network-only mode, all networks for the location are terminated.
  - `continuityOfCare` boolean — Whether Continuity of Care applies for this termination. Defaults to false when omitted.

## Response `200`

Facility location terminated

- TerminateFacilityLocationResponse — Result of terminating a facility location from the facility. Integer counts are the number of operations included in the termination batch before execution (attempted), not a post-hoc validation of each DAL operation result.
  - `certifyFacilityId` string — Certify facility ID
  - `certifyLocationId` string — Certify location ID
  - `facilityTerminationDate` string — Facility–location termination date applied
  - `networkTerminationDate` string — Network/plan termination date applied
  - `terminatedLocationFacilityNetworks` integer — Attempted TenantGroupLocationFacilityNetwork UPDATE operations (pre-batch; not verified per-op against DAL response)
  - `terminatedLocationNetworks` integer — Attempted TenantGroupLocationNetwork UPDATE operations (pre-batch; not verified per-op against DAL response)
  - `terminatedLocationNetworkPlans` integer — Attempted TenantGroupLocationNetworkPlan UPDATE operations (pre-batch; not verified per-op against DAL response)
  - `terminatedLocationPractitionerNetworks` integer — Attempted TenantGroupLocationPractitionerNetwork UPDATE operations (pre-batch; not verified per-op against DAL response)
  - `terminatedPractitionerNetworks` integer — Attempted TenantGroupPractitionerNetwork UPDATE operations (pre-batch; not verified per-op against DAL response)
  - `terminatedGroupFacilityLocations` integer — TenantGroupFacilityLocation rows in scope for this location (pre-batch count)
  - `tenantFacilityLocationUpdated` boolean — Whether TenantFacilityLocation was updated

## Other responses

- `400` — Bad request — validation failed, consent missing, already terminated, or no date provided
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `404` — Facility or location not found on this facility
- `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)
