openapi: 3.1.0 info: title: Cribl As Code API Credentials Pipelines 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: Pipelines description: Manage processing pipelines that contain ordered sequences of functions for transforming, filtering, and enriching events. paths: /pipelines: get: operationId: listPipelines summary: List all pipelines description: Retrieves a list of all configured processing pipelines including their functions, configuration, and status. tags: - Pipelines responses: '200': description: Successfully retrieved pipelines content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Pipeline' count: type: integer description: Total number of pipelines '401': description: Unauthorized post: operationId: createPipeline summary: Create a new pipeline description: Creates a new processing pipeline with the specified functions and configuration. Pipelines define ordered sequences of functions for data transformation. tags: - Pipelines requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Pipeline' responses: '200': description: Pipeline created successfully content: application/json: schema: $ref: '#/components/schemas/Pipeline' '400': description: Invalid pipeline configuration '401': description: Unauthorized /pipelines/{id}: get: operationId: getPipeline summary: Get a pipeline by ID description: Retrieves the configuration of a specific processing pipeline including its functions and metadata. tags: - Pipelines parameters: - $ref: '#/components/parameters/resourceId' responses: '200': description: Successfully retrieved pipeline content: application/json: schema: $ref: '#/components/schemas/Pipeline' '401': description: Unauthorized '404': description: Pipeline not found patch: operationId: updatePipeline summary: Update a pipeline description: Updates the configuration of an existing processing pipeline including its functions and settings. tags: - Pipelines parameters: - $ref: '#/components/parameters/resourceId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Pipeline' responses: '200': description: Pipeline updated successfully content: application/json: schema: $ref: '#/components/schemas/Pipeline' '400': description: Invalid pipeline configuration '401': description: Unauthorized '404': description: Pipeline not found delete: operationId: deletePipeline summary: Delete a pipeline description: Deletes a processing pipeline by its unique ID. The pipeline must not be referenced by any active routes. tags: - Pipelines parameters: - $ref: '#/components/parameters/resourceId' responses: '200': description: Pipeline deleted successfully '401': description: Unauthorized '404': description: Pipeline not found /m/{groupId}/pipelines: get: operationId: listStreamPipelines summary: List Stream pipelines in a worker group description: Retrieves all processing pipelines configured within a specific worker group context, including their function chains and settings. tags: - Pipelines parameters: - $ref: '#/components/parameters/groupId' responses: '200': description: Successfully retrieved pipelines content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Pipeline_2' count: type: integer description: Total number of pipelines '401': description: Unauthorized '404': description: Worker group not found post: operationId: createStreamPipeline summary: Create a Stream pipeline in a worker group description: Creates a new processing pipeline within a specific worker group with the specified functions and configuration for real-time data transformation. tags: - Pipelines parameters: - $ref: '#/components/parameters/groupId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Pipeline_2' responses: '200': description: Pipeline created successfully content: application/json: schema: $ref: '#/components/schemas/Pipeline_2' '400': description: Invalid pipeline configuration '401': description: Unauthorized /m/{groupId}/pipelines/{id}: get: operationId: getStreamPipeline summary: Get a Stream pipeline by ID description: Retrieves the configuration of a specific Stream pipeline within a worker group context. tags: - Pipelines parameters: - $ref: '#/components/parameters/groupId' - $ref: '#/components/parameters/resourceId' responses: '200': description: Successfully retrieved pipeline content: application/json: schema: $ref: '#/components/schemas/Pipeline_2' '401': description: Unauthorized '404': description: Pipeline not found patch: operationId: updateStreamPipeline summary: Update a Stream pipeline description: Updates the configuration of an existing Stream pipeline within a worker group context. tags: - Pipelines parameters: - $ref: '#/components/parameters/groupId' - $ref: '#/components/parameters/resourceId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Pipeline_2' responses: '200': description: Pipeline updated successfully content: application/json: schema: $ref: '#/components/schemas/Pipeline_2' '400': description: Invalid pipeline configuration '401': description: Unauthorized '404': description: Pipeline not found delete: operationId: deleteStreamPipeline summary: Delete a Stream pipeline description: Deletes a processing pipeline from a worker group by its unique ID. The pipeline must not be referenced by active routes. tags: - Pipelines parameters: - $ref: '#/components/parameters/groupId' - $ref: '#/components/parameters/resourceId' responses: '200': description: Pipeline deleted successfully '401': description: Unauthorized '404': description: Pipeline not found components: schemas: PipelineFunction_2: type: object properties: id: type: string description: The function type identifier filter: type: string description: JavaScript expression to filter events disabled: type: boolean description: Whether this function is disabled conf: type: object description: Function-specific configuration description: type: string description: A human-readable description Pipeline_2: type: object properties: id: type: string description: Unique identifier for the pipeline conf: type: object description: Pipeline configuration object properties: functions: type: array description: Ordered list of processing functions items: $ref: '#/components/schemas/PipelineFunction_2' description: type: string description: A human-readable description asyncFuncTimeout: type: integer description: Timeout for async functions in milliseconds output: type: string description: Default output destination streamtags: type: array items: type: string description: Tags applied to events in this pipeline Pipeline: type: object properties: id: type: string description: Unique identifier for the pipeline conf: type: object description: Pipeline configuration object properties: functions: type: array description: Ordered list of processing functions items: $ref: '#/components/schemas/PipelineFunction' description: type: string description: A human-readable description of the pipeline asyncFuncTimeout: type: integer description: Timeout for async functions in milliseconds output: type: string description: Default output destination streamtags: type: array items: type: string description: Tags applied to events in this pipeline groups: type: object description: Group-specific configuration overrides PipelineFunction: type: object properties: id: type: string description: The function type identifier filter: type: string description: JavaScript expression to filter which events this function processes disabled: type: boolean description: Whether this function is disabled conf: type: object description: Function-specific configuration description: type: string description: A human-readable description parameters: resourceId: name: id in: path required: true description: The unique identifier of the resource schema: type: string groupId: name: groupId in: path required: true description: The worker group or fleet identifier schema: type: string 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/