Rotations
Preview KMS key rotation
Computes the replacement key alias, target provider, transferred assignments, and service configuration mutations for a rotation without creating key material or mutating assignment, lifecycle, or service configuration state. Use this endpoint for interactive migration planning before calling the immediate rotation endpoint.
post/{tenantId}/kms/providers/{providerId}/keys/{keyAlias}/rotations/preview
Request body
Example request
{
"targetProviderId": "azure-key-vault",
"baseAlias": "as-signing",
"newAlias": "as-signing-20260918101530",
"rotationInterval": "P3M"
}Response
Planned rotation effects without mutation.
Example response
{
"tenantId": "tenant-001",
"oldKey": {
"providerId": "software",
"keyAlias": "as-signing"
},
"plannedNewKey": {
"providerId": "software",
"keyAlias": "as-signing"
},
"targetProviderId": "azure-key-vault",
"rotationInterval": "P3M",
"oldAssignments": [
{
"assignmentId": "assignment-001",
"tenantId": "tenant-001",
"providerId": "software",
"keyAlias": "as-signing",
"serviceType": "oauth2-as",
"serviceInstance": "as-main",
"partyId": "party-issuer-001",
"relationshipType": "SOFTWARE_SERVICE",
"purpose": "as-signing",
"validFrom": "2026-06-18T10:15:30Z",
"validUntil": "2026-12-18T10:15:30Z",
"targetProviderId": "azure-key-vault",
"createdAt": "2026-06-18T10:15:30Z",
"updatedAt": "2026-06-18T10:15:30Z"
}
],
"newAssignments": [
{
"assignmentId": "assignment-001",
"tenantId": "tenant-001",
"providerId": "software",
"keyAlias": "as-signing",
"serviceType": "oauth2-as",
"serviceInstance": "as-main",
"partyId": "party-issuer-001",
"relationshipType": "SOFTWARE_SERVICE",
"purpose": "as-signing",
"validFrom": "2026-06-18T10:15:30Z",
"validUntil": "2026-12-18T10:15:30Z",
"targetProviderId": "azure-key-vault",
"createdAt": "2026-06-18T10:15:30Z",
"updatedAt": "2026-06-18T10:15:30Z"
}
],
"serviceConfigMutations": [
{
"key": "oauth2.servers.default.signing-key.kid",
"value": "as-signing-20260918101530",
"clearOnlyIfCurrentValue": "as-signing",
"removeListValue": "issuer-signing",
"replaceListCurrentValue": "issuer-signing",
"replaceListReplacementValue": "issuer-signing-20260918101530"
}
]
}