---
title: "Update effective date for a facility-group-network enrollment"
method: PUT
path: "/facilities/{certifyFacilityId}/groups/{certifyGroupId}/networks/{networkId}/effective-date"
tags: ["Facility"]
---

# Update effective date for a facility-group-network enrollment

`PUT /facilities/{certifyFacilityId}/groups/{certifyGroupId}/networks/{networkId}/effective-date`

Updates the effective start date and/or termination date for a single TenantGroupFacilityNetwork (TGFN) leaf row independently of its parent TenantGroupFacility association. Use this when you need to adjust a network enrollment date without changing the parent facility-group association dates; use PUT .../groups/{certifyGroupId}/effective-date to change the parent facility-group dates (which can optionally cascade to network records) instead. The service-layer enforces a cross-level invariant: the request effectiveDate cannot precede the parent facility-group effectiveDate. Returns the raw updated TenantGroupFacilityNetwork record as an untyped JSON object, not a curated response DTO. CP-28250 phase-2 / sub-task CP-28250-Phase2-BE.

## Path parameters

- `certifyFacilityId` string, required
- `certifyGroupId` string, required
- `networkId` string, required

## Headers

- `tenant-id` string

## Request body

- UpdateFacilityGroupNetworkEffectiveDateRequest
  - `effectiveDate` string
  - `terminationDate` string
  - `changeReason` string

## Response `200`

Facility-group-network effective date successfully updated

- object

## Other responses

- `400` — Invalid request body, missing required parameters, format violation, or cross-level validation failure (request effectiveDate before parent facility-group effectiveDate)
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `404` — Facility, group, or facility-group association not found
- `500` — Internal server error during request processing

## Changes

- **2026-08-19** `563848e0ecc0` — 22 warning
  - removed the optional property `array` from the response with the `200` status
  - removed the optional property `bigDecimal` from the response with the `200` status
  - removed the optional property `bigInteger` from the response with the `200` status
  - removed the optional property `binary` from the response with the `200` status
  - …18 more

[Change history](https://skmtc.dev/certifyos/apis/certify-api-layer/changes/facilities/:certifyFacilityId/groups/:certifyGroupId/networks/:networkId/effective-date/put.md)

---

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