Cribl Stream API

The Cribl Stream API provides programmatic access to Cribl Stream, an observability pipeline platform that processes and routes telemetry data in real time. Through the API, developers can manage pipelines, routes, sources, destinations, and worker groups. It enables automation of data collection, transformation, and routing workflows.

OpenAPI Specification

cribl-stream-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cribl Stream API
  description: >-
    The Cribl Stream API provides programmatic access to Cribl Stream, an
    observability pipeline platform that processes and routes telemetry data
    in real time. Through the API, developers can manage pipelines, routes,
    sources, destinations, and worker groups. It enables automation of data
    collection, transformation, and routing workflows, allowing
    organizations to control how observability data flows between sources
    and analytics tools without vendor lock-in. Stream API endpoints are
    accessed through the Cribl Cloud control plane or directly on
    on-premises deployments.
  version: '1.0'
  contact:
    name: Cribl Support
    url: https://cribl.io/support/
  termsOfService: https://cribl.io/terms-of-service/
externalDocs:
  description: Cribl Stream Documentation
  url: https://docs.cribl.io/stream/
servers:
  - url: https://{workspaceName}-{organizationId}.cribl.cloud/api/v1
    description: Cribl Cloud
    variables:
      workspaceName:
        default: default
        description: The name of the Cribl Cloud workspace
      organizationId:
        default: org-id
        description: The Cribl Cloud organization identifier
  - url: https://{hostname}:{port}/api/v1
    description: On-Premises Deployment
    variables:
      hostname:
        default: localhost
        description: The hostname of the Cribl instance
      port:
        default: '9000'
        description: The port of the Cribl instance
tags:
  - name: Collectors
    description: >-
      Manage scheduled and on-demand data collection tasks using REST API,
      database, script, and S3 collectors for batch data ingestion.
  - name: Destinations
    description: >-
      Manage Stream data output destinations including Splunk, S3,
      Elasticsearch, Kafka, webhook, and other analytics platforms.
  - name: Functions
    description: >-
      Retrieve available Stream processing functions for use in pipelines
      including eval, regex extract, rename, mask, aggregate, and others.
  - name: Lookups
    description: >-
      Manage lookup files and tables used for enriching events during
      pipeline processing with reference data.
  - name: Notifications
    description: >-
      Configure notification rules for monitoring data flow rates and
      system events with webhook and PagerDuty targets.
  - name: Packs
    description: >-
      Install and manage reusable configuration packs containing bundled
      pipelines, routes, sources, destinations, and other Stream resources.
  - name: Pipelines
    description: >-
      Manage Stream processing pipelines containing ordered sequences of
      functions for transforming, filtering, and enriching events in
      real time.
  - name: Routes
    description: >-
      Manage Stream routes that apply filter expressions on incoming events
      to send matching results to appropriate pipelines and destinations.
  - name: Sources
    description: >-
      Manage Stream data input sources including Syslog, HTTP, Kafka,
      Splunk HEC, TCP JSON, file monitors, and other protocol endpoints.
  - name: Worker Groups
    description: >-
      Manage Stream worker groups that organize worker nodes and deploy
      shared pipeline configurations across clusters.
security:
  - bearerAuth: []
paths:
  /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'
                  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'
      responses:
        '200':
          description: Pipeline created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
        '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'
        '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'
      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: 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
  /m/{groupId}/routes:
    get:
      operationId: listStreamRoutes
      summary: List Stream routes in a worker group
      description: >-
        Retrieves all routes configured within a worker group context that
        filter and direct incoming data to pipelines and destinations.
      tags:
        - Routes
      parameters:
        - $ref: '#/components/parameters/groupId'
      responses:
        '200':
          description: Successfully retrieved routes
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Route'
                  count:
                    type: integer
                    description: Total number of routes
        '401':
          description: Unauthorized
        '404':
          description: Worker group not found
    post:
      operationId: createStreamRoute
      summary: Create a Stream route in a worker group
      description: >-
        Creates a new route within a worker group to filter and direct
        incoming events to specified pipelines and destinations.
      tags:
        - Routes
      parameters:
        - $ref: '#/components/parameters/groupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Route'
      responses:
        '200':
          description: Route created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Route'
        '400':
          description: Invalid route configuration
        '401':
          description: Unauthorized
  /m/{groupId}/system/sources:
    get:
      operationId: listStreamSources
      summary: List Stream sources in a worker group
      description: >-
        Retrieves all data input sources configured within a specific
        worker group including Syslog, HTTP, Kafka, and other sources.
      tags:
        - Sources
      parameters:
        - $ref: '#/components/parameters/groupId'
      responses:
        '200':
          description: Successfully retrieved sources
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Source'
                  count:
                    type: integer
                    description: Total number of sources
        '401':
          description: Unauthorized
        '404':
          description: Worker group not found
    post:
      operationId: createStreamSource
      summary: Create a Stream source in a worker group
      description: >-
        Creates a new data input source within a worker group with the
        specified type and configuration for data collection.
      tags:
        - Sources
      parameters:
        - $ref: '#/components/parameters/groupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Source'
      responses:
        '200':
          description: Source created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Source'
        '400':
          description: Invalid source configuration
        '401':
          description: Unauthorized
  /m/{groupId}/system/outputs:
    get:
      operationId: listStreamDestinations
      summary: List Stream destinations in a worker group
      description: >-
        Retrieves all data output destinations configured within a
        specific worker group context.
      tags:
        - Destinations
      parameters:
        - $ref: '#/components/parameters/groupId'
      responses:
        '200':
          description: Successfully retrieved destinations
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Destination'
                  count:
                    type: integer
                    description: Total number of destinations
        '401':
          description: Unauthorized
        '404':
          description: Worker group not found
    post:
      operationId: createStreamDestination
      summary: Create a Stream destination in a worker group
      description: >-
        Creates a new data output destination within a worker group with
        the specified type and configuration.
      tags:
        - Destinations
      parameters:
        - $ref: '#/components/parameters/groupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Destination'
      responses:
        '200':
          description: Destination created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Destination'
        '400':
          description: Invalid destination configuration
        '401':
          description: Unauthorized
  /system/functions:
    get:
      operationId: listStreamFunctions
      summary: List available Stream functions
      description: >-
        Retrieves all available processing functions that can be used in
        Stream pipelines including eval, regex extract, rename, mask,
        aggregate, publish metrics, and others.
      tags:
        - Functions
      responses:
        '200':
          description: Successfully retrieved functions
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Function'
                  count:
                    type: integer
                    description: Total number of functions
        '401':
          description: Unauthorized
  /master/groups:
    get:
      operationId: listWorkerGroups
      summary: List all Stream worker groups
      description: >-
        Retrieves all worker groups configured for Stream deployments
        including their node counts and configuration versions.
      tags:
        - Worker Groups
      responses:
        '200':
          description: Successfully retrieved worker groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/WorkerGroup'
                  count:
                    type: integer
                    description: Total number of worker groups
        '401':
          description: Unauthorized
    post:
      operationId: createWorkerGroup
      summary: Create a worker group
      description: >-
        Creates a new Stream worker group for organizing and deploying
        configurations to a set of worker nodes.
      tags:
        - Worker Groups
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkerGroup'
      responses:
        '200':
          description: Worker group created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkerGroup'
        '400':
          description: Invalid group configuration
        '401':
          description: Unauthorized
  /master/groups/{id}/deploy:
    post:
      operationId: deployWorkerGroup
      summary: Deploy configuration to a worker group
      description: >-
        Deploys the current configuration to all worker nodes in the
        specified group, making configuration changes effective.
      tags:
        - Worker Groups
      parameters:
        - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Deployment initiated successfully
        '401':
          description: Unauthorized
        '404':
          description: Worker group not found
  /system/collectors:
    get:
      operationId: listStreamCollectors
      summary: List all Stream collectors
      description: >-
        Retrieves all configured data collection tasks for batch
        ingestion from REST APIs, databases, scripts, and cloud storage.
      tags:
        - Collectors
      responses:
        '200':
          description: Successfully retrieved collectors
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Collector'
                  count:
                    type: integer
                    description: Total number of collectors
        '401':
          description: Unauthorized
  /packs:
    get:
      operationId: listStreamPacks
      summary: List all installed Stream packs
      description: >-
        Retrieves all installed configuration packs containing bundled
        pipelines, routes, and other Stream resources.
      tags:
        - Packs
      responses:
        '200':
          description: Successfully retrieved packs
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Pack'
                  count:
                    type: integer
                    description: Total number of packs
        '401':
          description: Unauthorized
    post:
      operationId: installStreamPack
      summary: Install a Stream pack
      description: >-
        Installs a configuration pack from a source URL or uploads a
        pack archive containing bundled Stream resources.
      tags:
        - Packs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Pack'
      responses:
        '200':
          description: Pack installed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pack'
        '400':
          description: Invalid pack configuration
        '401':
          description: Unauthorized
  /system/lookups:
    get:
      operationId: listStreamLookups
      summary: List all Stream lookups
      description: >-
        Retrieves all configured lookup files and tables used for
        enriching events during Stream pipeline processing.
      tags:
        - Lookups
      responses:
        '200':
          description: Successfully retrieved lookups
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Lookup'
                  count:
                    type: integer
                    description: Total number of lookups
        '401':
          description: Unauthorized
  /notifications:
    get:
      operationId: listStreamNotifications
      summary: List Stream notification rules
      description: >-
        Retrieves all configured notification rules for monitoring
        Stream data flow rates and triggering alerts via webhook
        or PagerDuty targets.
      tags:
        - Notifications
      responses:
        '200':
          description: Successfully retrieved notification rules
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Notification'
                  count:
                    type: integer
                    description: Total number of notification rules
        '401':
          description: Unauthorized
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Bearer token obtained via OAuth 2.0 client credentials grant
        (Cribl Cloud) or the /auth/login endpoint (on-premises).
  parameters:
    groupId:
      name: groupId
      in: path
      required: true
      description: The worker group or fleet identifier
      schema:
        type: string
    resourceId:
      name: id
      in: path
      required: true
      description: The unique identifier of the resource
      schema:
        type: string
  schemas:
    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
            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
    PipelineFunction:
      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
    Route:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the route
        name:
          type: string
          description: Display name for the route
        filter:
          type: string
          description: JavaScript filter expression for matching events
        pipeline:
          type: string
          description: The pipeline ID for processing matched events
        output:
          type: string
          description: The destination ID for processed events
        final:
          type: boolean
          description: Whether matched events stop further evaluation
        disabled:
          type: boolean
          description: Whether this route is disabled
        description:
          type: string
          description: A human-readable description
    Source:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the source
        type:
          type: string
          description: >-
            The source type such as syslog, http, kafka, splunk_tcp,
            tcp_json, file_monitor, or others
        disabled:
          type: boolean
          description: Whether the source is disabled
        host:
          type: string
          description: The host or address to listen on
        port:
          type: integer
          description: The port number to listen on
        pipeline:
          type: string
          description: The pipeline to process events from this source
        description:
          type: string
          description: A human-readable description
        streamtags:
          type: array
          items:
            type: string
          description: Tags applied to events from this source
    Destination:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the destination
        type:
          type: string
          description: >-
            The destination type such as splunk, s3, elasticsearch,
            webhook, syslog, kafka, or others
        disabled:
          type: boolean
          description: Whether the destination is disabled
        host:
          type: string
          description: The target host address
        port:
          type: integer
          description: The target port number
        description:
          type: string
          description: A human-readable description
        streamtags:
          type: array
          items:
            type: string
          description: Tags for filtering events
    Function:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the function type
        category:
          type: string
          description: The function category
        description:
          type: string
          description: A human-readable description
    WorkerGroup:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the worker group
        name:
          type: string
          description: Display name for the worker group
        description:
          type: string
          description: A human-readable description
        workerCount:
          type: integer
          description: Number of connected worker nodes
        configVersion:
          type: string
          description: The current deployed configuration version
        tags:
          type: object
          description: Key-value tags for organizing groups
    Collector:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the collector
        type:
          type: string
          description: The collector type such as rest, script, or database
        schedule:
          type: object
          description: The collection schedule configuration
          properties:
            cronSchedule:
              type: string
              description: Cron expression for scheduled collection
            enabled:
              type: boolean
              description: Whether the schedule is enabled
        conf:
          type: object
          description: Collector-specific configuration
        description:
          type: string
          description: A human-readable description
    Pack:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the pack
        source:
          type: string
          description: The source URL or registry path
        version:
          type: string
          description: The installed version
        author:
          type: string
          description: The pack author
        description:
          type: string
          description: A human-readable description
        displayName:
          type: string
          description: The display name
    Lookup:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the lookup
        type:
          type: string
          description: The lookup type such as file or database
        fileInfo:
          type: object
          description: File-based lookup metadata
          properties:
            filename:
              type: string
              description: The lookup filename
            size:
              type: integer
              description: The file size in bytes
        description:
          type: string
          description: A human-readable description
    Notification:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the notification rule
        type:
          type: string
          description: The notification type
        targets:
          type: array
          description: List of notification targets
          items:
            type: object
            properties:
              type:
                type: string
                description: Target type such as webhook or pagerduty
              url:
                type: string
                description: The target webhook URL
        description:
          type: string
          description: A human-readable description