---
title: "Update licenses for a facility (OV)"
method: PUT
path: "/facilities/{id}/licenses"
tags: ["Facility"]
---

# Update licenses for a facility (OV)

`PUT /facilities/{id}/licenses`

Replaces all licenses for the given facility in the Operational View. Does not affect active credentialing workflow snapshots.

## Path parameters

- `id` string, required

## Headers

- `tenant-id` string

## Request body

- FacilityLicenseOvRequest[]
  - `id` string — Optional client-side id
  - `licenseNumber` string — License number
  - `state` string — US state code
  - `licenseType` string — License type
  - `licenseStatus` string — License status
  - `licenseSource` string — Source
  - `issueDate` string — Issue date (YYYY-MM-DD)
  - `expirationDate` string, required — Expiration date (YYYY-MM-DD)
  - `reportDate` string, required — Report date (YYYY-MM-DD)
  - `flaggedDate` string — Flagged date (YYYY-MM-DD)
  - `url` string — Reference URL
  - `licenseNumberVariations` string — Alternate license numbers
  - `type` string — Legacy type field when present on stored rows
  - `attachments` 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
  - `action` string — Set to delete for soft-delete
  - `deletedAt` string — Soft-delete timestamp
  - `deletedBy` string — Soft-delete actor
  - `createdAt` string — Created timestamp
  - `createdBy` string — Created by
  - `updatedAt` string — Updated timestamp
  - `updatedBy` string — Updated by
  - `verifiedDate` string — Verified date
  - `verifiedBy` string — Verified by

## Response `200`

Licenses updated successfully

## Other responses

- `400` — Bad request - Invalid input
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `404` — Facility 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/versions/3d27e9019c7b/schema)
