openapi: 3.1.0 info: title: Cribl As Code API Credentials Workspaces API description: The Cribl As Code API enables developers to manage Cribl configurations programmatically using infrastructure-as-code principles. The management plane API provides endpoints for administrative tasks in Cribl Cloud including managing organizations, workspaces, and API credentials. Developers can use this API alongside SDKs for Python, Go, and TypeScript, or through Terraform providers, to onboard sources, build and maintain pipelines, and standardize workflows at scale. The management plane supports creating and configuring Cribl Cloud workspaces, managing API credentials, and controlling access to organizational resources. version: '1.0' contact: name: Cribl Support url: https://cribl.io/support/ termsOfService: https://cribl.io/terms-of-service/ servers: - url: https://gateway.cribl.cloud description: Cribl Cloud Management Plane security: - bearerAuth: [] tags: - name: Workspaces description: Manage Cribl Cloud workspaces which are unique VPC containers each isolating an instance of the Cribl Product Suite including Stream, Edge, Search, and Lake. paths: /v1/organizations/{organizationId}/workspaces: get: operationId: listWorkspaces summary: List all workspaces description: Retrieves all workspaces for the specified Cribl Cloud organization. Each workspace is an isolated VPC container running an instance of the Cribl Product Suite. tags: - Workspaces parameters: - $ref: '#/components/parameters/organizationId' responses: '200': description: Successfully retrieved workspaces content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Workspace' count: type: integer description: Total number of workspaces '401': description: Unauthorized '403': description: Forbidden - insufficient permissions post: operationId: createWorkspace summary: Create a workspace description: Creates a new workspace within the specified Cribl Cloud organization. The workspace provisions an isolated VPC container with the Cribl Product Suite. tags: - Workspaces parameters: - $ref: '#/components/parameters/organizationId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkspaceCreate' responses: '200': description: Workspace created successfully content: application/json: schema: $ref: '#/components/schemas/Workspace' '400': description: Invalid workspace configuration '401': description: Unauthorized '403': description: Forbidden - insufficient permissions /v1/organizations/{organizationId}/workspaces/{workspaceId}: get: operationId: getWorkspace summary: Get a workspace by ID description: Retrieves the configuration and status of a specific workspace within the organization. tags: - Workspaces parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' responses: '200': description: Successfully retrieved workspace content: application/json: schema: $ref: '#/components/schemas/Workspace' '401': description: Unauthorized '403': description: Forbidden - insufficient permissions '404': description: Workspace not found patch: operationId: updateWorkspace summary: Update a workspace description: Updates the configuration of an existing workspace within the organization. tags: - Workspaces parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkspaceUpdate' responses: '200': description: Workspace updated successfully content: application/json: schema: $ref: '#/components/schemas/Workspace' '400': description: Invalid workspace configuration '401': description: Unauthorized '403': description: Forbidden - insufficient permissions '404': description: Workspace not found delete: operationId: deleteWorkspace summary: Delete a workspace description: Deletes a workspace and all its contained resources from the organization. This operation is irreversible. tags: - Workspaces parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' responses: '200': description: Workspace deleted successfully '401': description: Unauthorized '403': description: Forbidden - insufficient permissions '404': description: Workspace not found components: parameters: workspaceId: name: workspaceId in: path required: true description: The workspace identifier schema: type: string organizationId: name: organizationId in: path required: true description: The Cribl Cloud organization identifier schema: type: string schemas: Workspace: type: object properties: id: type: string description: Unique identifier for the workspace name: type: string description: Display name of the workspace description: type: string description: A human-readable description organizationId: type: string description: The parent organization identifier status: type: string description: The current workspace status enum: - active - provisioning - deprovisioning - error region: type: string description: The cloud region where the workspace is deployed url: type: string description: The workspace access URL format: uri createdAt: type: string description: Workspace creation timestamp format: date-time updatedAt: type: string description: Workspace last update timestamp format: date-time WorkspaceCreate: type: object required: - name properties: name: type: string description: Display name for the new workspace minLength: 1 maxLength: 64 description: type: string description: A human-readable description maxLength: 256 region: type: string description: The cloud region for the workspace WorkspaceUpdate: type: object properties: name: type: string description: Updated display name minLength: 1 maxLength: 64 description: type: string description: Updated description maxLength: 256 securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: Bearer token obtained via OAuth 2.0 client credentials grant from https://login.cribl.cloud/oauth/token. Tokens expire after 24 hours (86400 seconds). oauth2: type: oauth2 description: OAuth 2.0 client credentials flow for Cribl Cloud management plane authentication. flows: clientCredentials: tokenUrl: https://login.cribl.cloud/oauth/token scopes: {} externalDocs: description: Cribl As Code Documentation url: https://docs.cribl.io/cribl-as-code/api/