openapi: 3.0.3 info: title: WarpStream Management ACLs API Keys API description: 'REST API for programmatically managing all aspects of the WarpStream control plane, including workspaces, virtual clusters, topics, ACLs, pipelines, agent pools, and BYOC deployments. All requests are issued as POST or GET requests with JSON payloads and authenticated via the warpstream-api-key header using Application Keys, Agent Keys, or Account Keys depending on the scope of resources being managed. ' version: 1.0.0 contact: url: https://docs.warpstream.com/warpstream/reference/api-reference license: name: WarpStream Terms of Service url: https://www.warpstream.com/terms-of-service servers: - url: https://api.warpstream.com description: WarpStream Management API security: - ApiKeyAuth: [] tags: - name: API Keys description: Manage API keys and access grants paths: /api/v1/list_api_keys: get: operationId: listApiKeys summary: List API Keys description: Returns all API keys belonging to the same workspace as the authenticating key. tags: - API Keys responses: '200': description: List of API keys content: application/json: schema: type: object properties: api_keys: type: array items: $ref: '#/components/schemas/ApiKey' /api/v1/create_api_key: post: operationId: createApiKey summary: Create API Key description: Creates a new API key with specified access grants. tags: - API Keys requestBody: required: true content: application/json: schema: type: object required: - name - access_grants properties: name: type: string description: Key name (alphanumeric and underscores only; gets akn_ prefix) access_grants: type: array items: $ref: '#/components/schemas/AccessGrant' description: List of permission grants for this key virtual_cluster_type: type: string description: Set to byoc_schema_registry for Schema Registry agent keys example: name: example_agent_key access_grants: - principal_kind: agent resource_kind: virtual_cluster resource_id: vci_1d4930d7_8e6d_4ad9_b27a_654ed4aaa3ee responses: '200': description: Created API key content: application/json: schema: $ref: '#/components/schemas/ApiKey' components: schemas: AccessGrant: type: object description: Permission grant for an API key properties: principal_kind: type: string enum: - application - agent description: Type of principal resource_kind: type: string enum: - '*' - virtual_cluster description: Kind of resource the grant applies to resource_id: type: string description: Specific resource ID or '*' for all resources workspace_id: type: string description: Workspace ID, required when using an account key ApiKey: type: object properties: id: type: string description: API key identifier name: type: string description: Human-readable key name (prefixed with akn_) key: type: string description: The actual secret key value created_at: type: string format: date-time description: ISO 8601 creation timestamp access_grants: type: array items: $ref: '#/components/schemas/AccessGrant' securitySchemes: ApiKeyAuth: type: apiKey in: header name: warpstream-api-key description: 'WarpStream API key. Three key types are supported: Application Keys (manage workspace-specific resources), Agent Keys (scoped to a specific virtual cluster), and Account Keys (manage account-level resources such as workspaces and users). ' externalDocs: description: WarpStream API Reference Documentation url: https://docs.warpstream.com/warpstream/reference/api-reference