# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Harness API Keys API version: 1.0.0 extends: openapi/harness-api-keys-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: 5 - target: $.paths['/cf/admin/apikey'].get update: x-apievangelist-phrasing: intent: List feature flag SDK keys for an environment effect: read questions: - Which feature flag SDK keys exist for one of my environments? - Can I page through all the API keys in an environment? instructions: - text: List the feature flag API keys in environment {environmentIdentifier} of project {projectIdentifier}. slots: environmentIdentifier: query.environmentIdentifier projectIdentifier: query.projectIdentifier - text: Show every SDK key for {environmentIdentifier}, {pageSize} per page. slots: environmentIdentifier: query.environmentIdentifier pageSize: query.pageSize method: generated generated: '2026-09-26' - target: $.paths['/cf/admin/apikey'].post update: x-apievangelist-phrasing: intent: Create a feature flag SDK key effect: write questions: - How do I create a new SDK key so my app can evaluate feature flags in an environment? - Can I give a feature flag API key an expiry date? instructions: - text: Create a {type} API key {identifier} named {name} for environment {environmentIdentifier}. slots: type: requestBody.type identifier: requestBody.identifier name: requestBody.name environmentIdentifier: query.environmentIdentifier - text: Add SDK key {name} (id {identifier}, type {type}) in {environmentIdentifier} expiring at {expiredAt}. slots: name: requestBody.name identifier: requestBody.identifier type: requestBody.type environmentIdentifier: query.environmentIdentifier expiredAt: requestBody.expiredAt method: generated generated: '2026-09-26' - target: $.paths['/cf/admin/apikey/{identifier}'].get update: x-apievangelist-phrasing: intent: Get a feature flag SDK key effect: read questions: - How do I look up one feature flag API key by its identifier? - What are the details of a specific SDK key in my environment? instructions: - text: Show API key {identifier} in environment {environmentIdentifier}. slots: identifier: path.identifier environmentIdentifier: query.environmentIdentifier - text: Get the SDK key {identifier}. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/cf/admin/apikey/{identifier}'].put update: x-apievangelist-phrasing: intent: Update a feature flag SDK key effect: write questions: - Can I rename an existing feature flag API key? - How do I change the expiry on an SDK key I already issued? instructions: - text: Rename API key {identifier} in environment {environmentIdentifier} to {name}. slots: identifier: path.identifier environmentIdentifier: query.environmentIdentifier name: requestBody.name - text: Set SDK key {identifier} to expire at {expiredAt}. slots: identifier: path.identifier expiredAt: requestBody.expiredAt method: generated generated: '2026-09-26' - target: $.paths['/cf/admin/apikey/{identifier}'].delete update: x-apievangelist-phrasing: intent: Delete a feature flag SDK key effect: destructive questions: - How do I revoke a feature flag SDK key that leaked? - Can I delete an API key from one environment? instructions: - text: Delete API key {identifier} from environment {environmentIdentifier}. slots: identifier: path.identifier environmentIdentifier: query.environmentIdentifier - text: Revoke SDK key {identifier}. slots: identifier: path.identifier method: generated generated: '2026-09-26'