# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Hubble Platform API Keys API version: 1.0.0 extends: openapi/hubble-network-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: 6 - target: $.paths['/v1/org/{org_id}/check'].get update: x-apievangelist-phrasing: intent: Check that an API key is valid effect: read questions: - How can I confirm the API key I'm using still works for my organization? - Is there a quick check to see whether my Hubble Network key is valid before I make other calls? instructions: - text: Check that my API key is valid for organization {org_id}. slots: org_id: path.org_id - text: Verify the current API key works before I run anything else against org {org_id}. slots: org_id: path.org_id method: generated generated: '2026-09-26' - target: $.paths['/v1/org/{org_id}/key'].get update: x-apievangelist-phrasing: intent: List an organization's API keys effect: read questions: - Which API keys are currently active for my organization? - Can I see every valid API key that's been issued for my org? instructions: - text: List all valid API keys for organization {org_id}. slots: org_id: path.org_id - text: Show me every API key issued in org {org_id} so I can audit them. slots: org_id: path.org_id method: generated generated: '2026-09-26' - target: $.paths['/v1/org/{org_id}/key'].post update: x-apievangelist-phrasing: intent: Create a new API key effect: write questions: - How do I create a new API key with only certain scopes? - What happens if I create an API key without specifying any scopes? - Can I make a new API key that expires at a specific time? instructions: - text: Provision a new API key named {name} for organization {org_id}. slots: name: requestBody.name org_id: path.org_id - text: Create an API key in org {org_id} limited to scopes {scopes} that expires at {expires_at_seconds}. slots: org_id: path.org_id scopes: requestBody.scopes expires_at_seconds: requestBody.expires_at_seconds method: generated generated: '2026-09-26' - target: $.paths['/v1/org/{org_id}/key/{key_id}'].delete update: x-apievangelist-phrasing: intent: Permanently delete an API key effect: destructive questions: - How do I permanently remove an API key that's no longer needed? - Can a deleted API key be recovered afterwards? instructions: - text: Delete API key {key_id} from organization {org_id}. slots: key_id: path.key_id org_id: path.org_id - text: Permanently remove the leaked key {key_id} in org {org_id}. slots: key_id: path.key_id org_id: path.org_id method: generated generated: '2026-09-26' - target: $.paths['/v1/org/{org_id}/key/{key_id}'].patch update: x-apievangelist-phrasing: intent: Rename, rescope or change an API key's expiry effect: write questions: - Can I change the scopes on an existing API key without issuing a new one? - How do I remove the expiration from an API key I already have? - Is it possible to rename an existing API key? instructions: - text: Rename existing API key {key_id} in org {org_id} to {set_name}. slots: key_id: path.key_id org_id: path.org_id set_name: requestBody.set_name - text: Change the scopes on existing key {key_id} in org {org_id} to {set_scopes}. slots: key_id: path.key_id org_id: path.org_id set_scopes: requestBody.set_scopes - text: Set existing key {key_id} in org {org_id} to expire at {set_expires_at_seconds}. slots: key_id: path.key_id org_id: path.org_id set_expires_at_seconds: requestBody.set_expires_at_seconds method: generated generated: '2026-09-26' - target: $.paths['/v1/org/{org_id}/key_scopes'].get update: x-apievangelist-phrasing: intent: List the scopes an API key can be granted effect: read questions: - What authorization scopes are available to assign to an API key? - Where can I find the display names for each permission scope? instructions: - text: List every authorization scope available for API keys in org {org_id}. slots: org_id: path.org_id - text: Show me the scope IDs and names I can pick from when scoping a key for org {org_id}. slots: org_id: path.org_id method: generated generated: '2026-09-26'