---
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. Only network/plan participation records (TenantGroupLocationNetwork, TenantGroupLocationFacilityNetwork) are terminated; 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.

## 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/versions/3d27e9019c7b/schema)
