WarpStream Virtual Clusters API
Manage Kafka-compatible virtual clusters
Manage Kafka-compatible virtual clusters
openapi: 3.0.3
info:
title: WarpStream Management ACLs Virtual Clusters 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: Virtual Clusters
description: Manage Kafka-compatible virtual clusters
paths:
/api/v1/list_virtual_clusters:
get:
operationId: listVirtualClusters
summary: List Virtual Clusters
description: Returns all virtual clusters in the authenticated workspace.
tags:
- Virtual Clusters
responses:
'200':
description: List of virtual clusters
content:
application/json:
schema:
type: object
properties:
virtual_clusters:
type: array
items:
$ref: '#/components/schemas/VirtualCluster'
/api/v1/create_virtual_cluster:
post:
operationId: createVirtualCluster
summary: Create Virtual Cluster
description: 'Creates a new virtual cluster. A new agent key is automatically created with every new virtual cluster.
'
tags:
- Virtual Clusters
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- virtual_cluster_name
- virtual_cluster_type
- virtual_cluster_region
- virtual_cluster_cloud_provider
- virtual_cluster_tier
properties:
virtual_cluster_name:
type: string
description: Name for the cluster
virtual_cluster_type:
type: string
enum:
- byoc
- byoc_data_lake
- byoc_schema_registry
description: Type of virtual cluster
virtual_cluster_region:
type: string
description: Cloud region (e.g., us-east-1)
virtual_cluster_cloud_provider:
type: string
description: Cloud provider (e.g., aws, gcp, azure)
virtual_cluster_tier:
type: string
description: Cluster tier (e.g., dev, prod)
example:
virtual_cluster_name: my-cluster
virtual_cluster_type: byoc
virtual_cluster_region: us-east-1
virtual_cluster_cloud_provider: aws
virtual_cluster_tier: dev
responses:
'200':
description: Created virtual cluster details
content:
application/json:
schema:
type: object
properties:
virtual_cluster_id:
type: string
virtual_cluster_name:
type: string
agent_pool_id:
type: string
agent_pool_name:
type: string
agent_key:
$ref: '#/components/schemas/ApiKey'
bootstrap_url:
type: string
/api/v1/delete_virtual_cluster:
post:
operationId: deleteVirtualCluster
summary: Delete Virtual Cluster
description: 'Permanently deletes a virtual cluster and all its data. Both virtual_cluster_id and virtual_cluster_name are required as a confirmation safeguard. This operation cannot be undone.
'
tags:
- Virtual Clusters
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- virtual_cluster_id
- virtual_cluster_name
properties:
virtual_cluster_id:
type: string
description: ID of the cluster to delete
virtual_cluster_name:
type: string
description: Name of the cluster (confirmation safeguard)
example:
virtual_cluster_id: vci_1d4930d7_8e6d_4ad9_b27a_654ed4aaa3ee
virtual_cluster_name: my-cluster
responses:
'200':
description: Deletion successful
content:
application/json:
schema:
$ref: '#/components/schemas/EmptyResponse'
components:
schemas:
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'
EmptyResponse:
type: object
description: Empty JSON object indicating success
additionalProperties: false
VirtualCluster:
type: object
properties:
id:
type: string
description: Unique cluster identifier
agent_pool_id:
type: string
description: Associated agent pool ID
agent_pool_name:
type: string
description: Agent pool display name
name:
type: string
description: Cluster name
created_at:
type: string
format: date-time
description: ISO 8601 creation timestamp
type:
type: string
enum:
- byoc
- byoc_data_lake
- byoc_schema_registry
description: Cluster type
region:
type: string
description: Cloud region (e.g., us-east-1)
cloud_provider:
type: string
description: Cloud provider (e.g., aws, gcp, azure)
bootstrap_url:
type: string
description: Kafka bootstrap connection endpoint
agent_keys:
type: array
items:
$ref: '#/components/schemas/ApiKey'
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
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