# 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 Key API version: 1.0.0 extends: openapi/harness-api-key-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 6 - target: $.paths['/ng/api/apikey'].get update: x-apievangelist-phrasing: intent: List API keys for a user or service account effect: read questions: - What API keys does a given service account have? - Can I list only specific API keys by their identifiers? instructions: - text: List the {apiKeyType} API keys owned by {parentIdentifier}. slots: apiKeyType: query.apiKeyType parentIdentifier: query.parentIdentifier - text: Show API keys for parent {parentIdentifier} in account {accountIdentifier}. slots: parentIdentifier: query.parentIdentifier accountIdentifier: query.accountIdentifier method: generated generated: '2026-10-01' - target: $.paths['/ng/api/apikey'].post update: x-apievangelist-phrasing: intent: Create an API key effect: write questions: - How do I create an API key for a service account? - Can I set a default token expiry when creating an API key? instructions: - text: Create API key {name} with identifier {identifier} for {parentIdentifier}. slots: name: requestBody.name identifier: requestBody.identifier parentIdentifier: requestBody.parentIdentifier - text: Make a new API key {identifier} whose tokens expire after {defaultTimeToExpireToken}. slots: identifier: requestBody.identifier defaultTimeToExpireToken: requestBody.defaultTimeToExpireToken method: generated generated: '2026-10-01' - target: $.paths['/ng/api/apikey/{identifier}'].put update: x-apievangelist-phrasing: intent: Update an API key effect: write questions: - How do I rename or re-describe an existing API key? - Can I change the default token expiry of a key I already created? instructions: - text: Rename API key {identifier} to {name}. slots: identifier: path.identifier name: requestBody.name - text: Change the default token expiry of API key {identifier} to {defaultTimeToExpireToken}. slots: identifier: path.identifier defaultTimeToExpireToken: requestBody.defaultTimeToExpireToken method: generated generated: '2026-10-01' - target: $.paths['/ng/api/apikey/{identifier}'].delete update: x-apievangelist-phrasing: intent: Delete an API key effect: destructive questions: - How do I delete an API key that should no longer be used? - Does deleting an API key need the owning user or service account? instructions: - text: Delete API key {identifier} owned by {parentIdentifier}. slots: identifier: path.identifier parentIdentifier: query.parentIdentifier - text: Remove {apiKeyType} API key {identifier} from account {accountIdentifier}. slots: apiKeyType: query.apiKeyType identifier: path.identifier accountIdentifier: query.accountIdentifier method: generated generated: '2026-10-01' - target: $.paths['/ng/api/apikey/aggregate/{identifier}'].get update: x-apievangelist-phrasing: intent: Get an API key's aggregated details effect: read questions: - How many tokens does a particular API key have? - What are the full details of one API key in a given scope? instructions: - text: Get the aggregated details of API key {identifier} for {parentIdentifier}. slots: identifier: path.identifier parentIdentifier: query.parentIdentifier - text: Show API key {identifier} with its token summary in project {projectIdentifier}. slots: identifier: path.identifier projectIdentifier: query.projectIdentifier method: generated generated: '2026-10-01' - target: $.paths['/ng/api/apikey/aggregate'].get update: x-apievangelist-phrasing: intent: List API keys with aggregated token details effect: read questions: - Can I page through API keys with their token counts? - Which API keys match a search term for a service account? instructions: - text: List aggregated API keys for {parentIdentifier} matching {searchTerm}. slots: parentIdentifier: query.parentIdentifier searchTerm: query.searchTerm - text: Page through {apiKeyType} API keys with token details, page {pageIndex}. slots: apiKeyType: query.apiKeyType pageIndex: query.pageIndex method: generated generated: '2026-10-01'