openapi: 3.0.3 info: title: WarpStream Management ACLs Workspaces 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: Workspaces description: Manage WarpStream workspaces (account-level) paths: /api/v1/list_workspaces: get: operationId: listWorkspaces summary: List Workspaces description: Returns all workspaces accessible to the authenticated account key. tags: - Workspaces responses: '200': description: List of workspaces content: application/json: schema: type: object properties: workspaces: type: array items: $ref: '#/components/schemas/Workspace' /api/v1/create_workspace: post: operationId: createWorkspace summary: Create Workspace description: Creates a new workspace under the account. tags: - Workspaces requestBody: required: true content: application/json: schema: type: object required: - workspace_name properties: workspace_name: type: string description: Name for the new workspace skip_application_key_creation: type: boolean description: Set to true to skip automatic application key creation default: false example: workspace_name: my-workspace skip_application_key_creation: false responses: '200': description: Created workspace details content: application/json: schema: type: object properties: workspace_id: type: string application_key: $ref: '#/components/schemas/ApiKey' components: schemas: Workspace: type: object properties: id: type: string description: Workspace identifier name: type: string description: Workspace name created_at: type: string format: date-time description: ISO 8601 creation timestamp 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' 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