# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Confluent Cloud Key Encryption Keys (v1) API version: 1.0.0 extends: openapi/confluent-key-encryption-keys-v1-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 7 - target: $.paths['/dek-registry/v1/keks'].get update: x-apievangelist-phrasing: intent: List key encryption key names effect: read questions: - Which key encryption keys are registered for client-side field encryption? - Can I include deleted KEKs when listing them? instructions: - text: List the names of all my key encryption keys. - text: 'List KEK names including deleted ones: {deleted}.' slots: deleted: query.deleted method: generated generated: '2026-09-26' - target: $.paths['/dek-registry/v1/keks'].post update: x-apievangelist-phrasing: intent: Register a key encryption key effect: write questions: - How do I register a KMS key as a KEK in the DEK registry? - Can I test that a KEK can be shared when I create it? - What KMS details do I need to create a key encryption key? instructions: - text: Create KEK {name} using {kmsType} key {kmsKeyId}. slots: name: requestBody.name kmsType: requestBody.kmsType kmsKeyId: requestBody.kmsKeyId - text: Register a shared KEK {name} for KMS key {kmsKeyId}. slots: name: requestBody.name kmsKeyId: requestBody.kmsKeyId method: generated generated: '2026-09-26' - target: $.paths['/dek-registry/v1/keks/{name}'].get update: x-apievangelist-phrasing: intent: Get a key encryption key effect: read questions: - What KMS type and key ID back a given KEK? - Can I look up a KEK even if it has been soft-deleted? instructions: - text: Show the details of KEK {name}. slots: name: path.name - text: 'Get KEK {name}, including if deleted: {deleted}.' slots: name: path.name deleted: query.deleted method: generated generated: '2026-09-26' - target: $.paths['/dek-registry/v1/keks/{name}'].put update: x-apievangelist-phrasing: intent: Alter a key encryption key effect: write questions: - Can I change the KMS properties or description of an existing KEK? - Is it possible to turn sharing on for a KEK I already registered? instructions: - text: Update the description of KEK {name} to {doc}. slots: name: path.name doc: requestBody.doc - text: Set shared to {shared} on KEK {name}. slots: name: path.name shared: requestBody.shared method: generated generated: '2026-09-26' - target: $.paths['/dek-registry/v1/keks/{name}'].delete update: x-apievangelist-phrasing: intent: Delete a key encryption key effect: destructive questions: - Can I soft-delete a KEK and still bring it back later? - How do I permanently delete a key encryption key? instructions: - text: Delete KEK {name}. slots: name: path.name - text: Delete KEK {name} with permanent set to {permanent}. slots: name: path.name permanent: query.permanent method: generated generated: '2026-09-26' - target: $.paths['/dek-registry/v1/keks/{name}/undelete'].post update: x-apievangelist-phrasing: intent: Restore a deleted key encryption key effect: write questions: - Can I restore a KEK that I soft-deleted? - Is there a way to undo the deletion of a key encryption key? instructions: - text: Undelete KEK {name}. slots: name: path.name - text: Restore the soft-deleted key encryption key {name}. slots: name: path.name method: generated generated: '2026-09-26' - target: $.paths['/dek-registry/v1/keks/{name}/test'].post update: x-apievangelist-phrasing: intent: Test a key encryption key effect: read questions: - Can I check that a KEK actually works against its KMS? - Is there a quick test to verify a key encryption key is usable? instructions: - text: Test KEK {name}. slots: name: path.name - text: Verify that key encryption key {name} can reach its KMS. slots: name: path.name method: generated generated: '2026-09-26'