---
title: "Update a tenant facility specialty record"
method: PATCH
path: "/facilities/tenant-facility-specialties/specialty"
tags: ["Facility"]
---

# Update a tenant facility specialty record

`PATCH /facilities/tenant-facility-specialties/specialty`

Updates a TenantFacilitySpecialty record (Level 1) by replacing the tenant_specialty_id, updating the effective date, or both. At least one of newTenantSpecialtyId or effectiveDate must be provided. Does not trigger termination events or lifecycle changes.

## Headers

- `tenant-id` string

## Request body

- CorrectFacilitySpecialtyRequest
  - `tenantFacilitySpecialtyId` string, required — ID of the existing TenantFacilitySpecialty record to update
  - `newTenantSpecialtyId` string — ID of the new TenantSpecialty to replace the current one. Optional if effectiveDate or isPrimary is provided.
  - `effectiveDate` string — New effective date for the specialty record in ISO format (YYYY-MM-DD). Optional if newTenantSpecialtyId or isPrimary is provided.
  - `isPrimary` boolean — Whether this specialty should be marked as primary. Optional if newTenantSpecialtyId or effectiveDate is provided.
  - `changeReason` string — Optional human-readable reason for the change, captured for audit trail.

## Response `200`

Specialty updated successfully

- JsonNode
  - `empty` boolean
  - `valueNode` boolean
  - `containerNode` boolean
  - `missingNode` boolean
  - `array` boolean
  - `object` boolean
  - `nodeType` 'ARRAY' | 'BINARY' | 'BOOLEAN' | 'MISSING' | 'NULL' | 'NUMBER' | 'OBJECT' | 'POJO' | 'STRING'
  - `pojo` boolean
  - `number` boolean
  - `integralNumber` boolean
  - `floatingPointNumber` boolean
  - `short` boolean
  - `int` boolean
  - `long` boolean
  - `float` boolean
  - `double` boolean
  - `bigDecimal` boolean
  - `bigInteger` boolean
  - `textual` boolean
  - `boolean` boolean
  - `null` boolean
  - `binary` boolean

## Other responses

- `400` — Bad request - Invalid input
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `404` — Tenant facility specialty not found
- `409` — Conflict - Facility already has this specialty
- `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/3d27e9019c7b/schema)
