WarpStream Workspaces API

Manage WarpStream workspaces (account-level)

OpenAPI Specification

warpstream-workspaces-api-openapi.yml Raw ↑
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