---
title: "Upsert KMS provider lifecycle metadata"
method: PUT
path: "/{tenantId}/kms/providers/{providerId}/lifecycle"
tags: ["Lifecycle"]
---

# Upsert KMS provider lifecycle metadata

`PUT /{tenantId}/kms/providers/{providerId}/lifecycle`

Creates or updates lifecycle metadata for a KMS provider instance. Provider activation and deactivation are still handled by platform configuration; this endpoint records lifecycle classification, lifecycle status, and system protection metadata used by KMS deletion and migration policy.

## Request body

- UpsertKmsProviderLifecycleMetadataArgs — Request body for updating provider lifecycle metadata. Path parameters supply tenant and provider ids.
  - `classification` 'PLATFORM' | 'TENANT' | 'APPLICATION' | 'SERVICE' — Operational ownership scope for tenant-managed infrastructure resources.
  - `status` 'ACTIVE' | 'DEGRADED' | 'MAINTENANCE' | 'MIGRATING' | 'DEPRECATED' | 'RETIRED' — Lifecycle status for a KMS provider.
  - `protectedSystemProvider` boolean, nullable

## Response `200`

Provider lifecycle metadata.

- KmsProviderLifecycleMetadata — Lifecycle metadata for a KMS provider instance.
  - `tenantId` string, required
  - `providerId` string, required
  - `classification` 'PLATFORM' | 'TENANT' | 'APPLICATION' | 'SERVICE' — Operational ownership scope for tenant-managed infrastructure resources.
  - `status` 'ACTIVE' | 'DEGRADED' | 'MAINTENANCE' | 'MIGRATING' | 'DEPRECATED' | 'RETIRED', required — Lifecycle status for a KMS provider.
  - `protectedSystemProvider` boolean, required — Whether deletion is protected by system-provider policy.
  - `updatedAt` string, date-time, nullable

## Other responses

- `400` — Bad request due to invalid input parameters or request body.
- `409` — The requested operation conflicts with the current KMS lifecycle state, active assignments, deletion protection, or migration/rotation state.
- `500` — An unexpected error occurred on the server.

## Changes

- **2026-06-26** `f4b160fd91dc` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/sphereon-opensource/apis/kms-rest-server-api/changes/:tenantId/kms/providers/:providerId/lifecycle/put.md)

---

[API](https://skmtc.dev/sphereon-opensource/apis/kms-rest-server-api.md) · [All operations](https://skmtc.dev/sphereon-opensource/apis/kms-rest-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sphereon-opensource/kms-rest-server-api/revisions/e9136cbde1c1/schema)
