ClickHouse · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for OpenAPI spec for ClickHouse Cloud API keys API

6 actions 6 updates phrasing extends openapi/clickhouse-api-keys-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for ClickHouse's API. It is a proposal applied on top of the contract, not a document ClickHouse publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/v1/organizations/{organizationId}/keys'].get
$.paths['/v1/organizations/{organizationId}/keys'].post
$.paths['/v1/organizations/{organizationId}/keys/{keyId}'].get
$.paths['/v1/organizations/{organizationId}/keys/{keyId}'].delete
$.paths['/v1/organizations/{organizationId}/keys/{keyId}'].patch

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for OpenAPI spec for ClickHouse Cloud API keys API
  version: 1.0.0
extends: openapi/clickhouse-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['/v1/organizations/{organizationId}/keys'].get
  update:
    x-apievangelist-phrasing:
      intent: List an organization's API keys
      effect: read
      questions:
      - Which API keys exist in my ClickHouse Cloud organization?
      - Can I see every key our org has issued so I can audit them?
      instructions:
      - text: List all API keys in organization {org}.
        slots:
          org: path.organizationId
      - text: Show me every key issued for org {org} so I can review who has access.
        slots:
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/keys'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new API key
      effect: write
      questions:
      - How do I generate a new API key for automation?
      - Can I make a key that expires on a set date and only works from certain IPs?
      instructions:
      - text: Create an API key named {name} in organization {org}.
        slots:
          name: requestBody.name
          org: path.organizationId
      - text: Issue a new key {name} in org {org} that expires at {expireAt} and is limited to IP access list {ipAccessList}.
        slots:
          name: requestBody.name
          org: path.organizationId
          expireAt: requestBody.expireAt
          ipAccessList: requestBody.ipAccessList
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/keys/{keyId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of one API key
      effect: read
      questions:
      - What roles and expiry does a specific API key have?
      - Is a particular key still enabled or has it been disabled?
      instructions:
      - text: Show the details of API key {keyId} in org {org}.
        slots:
          keyId: path.keyId
          org: path.organizationId
      - text: Look up the state and expiry date of key {keyId} in organization {org}.
        slots:
          keyId: path.keyId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/keys/{keyId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an API key
      effect: destructive
      questions:
      - How do I permanently remove an API key we no longer use?
      - Can I delete the very key I'm using to make the request?
      instructions:
      - text: Delete API key {keyId} from organization {org}.
        slots:
          keyId: path.keyId
          org: path.organizationId
      - text: Permanently remove the leaked key {keyId} in org {org}.
        slots:
          keyId: path.keyId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/keys/{keyId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update an existing API key
      effect: write
      questions:
      - How do I disable an existing API key without deleting it?
      - Can I change the roles or IP allow list on a key I already created?
      instructions:
      - text: Set the state of key {keyId} in org {org} to {state}.
        slots:
          keyId: path.keyId
          org: path.organizationId
          state: requestBody.state
      - text: Rename existing key {keyId} in organization {org} to {name} and extend its expiry to {expireAt}.
        slots:
          keyId: path.keyId
          org: path.organizationId
          name: requestBody.name
          expireAt: requestBody.expireAt
      method: generated
      generated: '2026-09-26'