Cribl Pipelines API

Manage processing pipelines that contain ordered sequences of functions for transforming, filtering, and enriching events.

Documentation

Specifications

Other Resources

OpenAPI Specification

cribl-pipelines-api-openapi.yml Raw ↑
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/