Cribl Edge API

The Cribl Edge API provides programmatic access to Cribl Edge, which extends Stream capabilities to the network edge by deploying lightweight agents on endpoints. The API allows developers to manage edge fleets, configure data collection from endpoints, and control data processing closer to the source.

OpenAPI Specification

cribl-edge-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cribl Edge API
  description: >-
    The Cribl Edge API provides programmatic access to Cribl Edge, which
    extends Stream capabilities to the network edge by deploying lightweight
    agents on endpoints. The API allows developers to manage edge fleets,
    configure data collection from endpoints, and control data processing
    closer to the source. This reduces bandwidth consumption and latency
    by filtering and transforming data at the point of origin before
    forwarding it to centralized destinations. Edge API endpoints are
    accessed through the Cribl Cloud control plane using fleet context
    paths.
  version: '1.0'
  contact:
    name: Cribl Support
    url: https://cribl.io/support/
  termsOfService: https://cribl.io/terms-of-service/
externalDocs:
  description: Cribl Edge Documentation
  url: https://docs.cribl.io/edge/
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: Edge Destinations
    description: >-
      Manage data output destinations for edge nodes including
      forwarding to Stream workers, cloud storage, and analytics
      platforms.
  - name: Edge Fleets
    description: >-
      Manage edge fleets that organize groups of edge nodes deployed
      on endpoints for local data collection and processing.
  - name: Edge Nodes
    description: >-
      Monitor and manage individual edge nodes deployed on endpoints
      including their status, version, and resource utilization.
  - name: Edge Pipelines
    description: >-
      Manage processing pipelines running on edge nodes for local
      data transformation and filtering before forwarding.
  - name: Edge Routes
    description: >-
      Manage routes on edge nodes for directing collected data to
      appropriate pipelines and destinations.
  - name: Edge Sources
    description: >-
      Manage data input sources on edge nodes including file monitors,
      Windows Event Log, system metrics, AppScope, and other local
      collection methods.
security:
  - bearerAuth: []
paths:
  /master/groups:
    get:
      operationId: listEdgeFleets
      summary: List all edge fleets
      description: >-
        Retrieves all edge fleets configured in the deployment. Edge
        fleets organize edge nodes and allow deploying shared
        configurations to groups of endpoint agents.
      tags:
        - Edge Fleets
      parameters:
        - name: product
          in: query
          description: Filter by product type to show only edge fleets
          schema:
            type: string
            enum:
              - edge
      responses:
        '200':
          description: Successfully retrieved edge fleets
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/EdgeFleet'
                  count:
                    type: integer
                    description: Total number of edge fleets
        '401':
          description: Unauthorized
    post:
      operationId: createEdgeFleet
      summary: Create a new edge fleet
      description: >-
        Creates a new edge fleet for organizing and managing a group
        of edge nodes deployed on endpoint systems.
      tags:
        - Edge Fleets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeFleet'
      responses:
        '200':
          description: Edge fleet created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeFleet'
        '400':
          description: Invalid fleet configuration
        '401':
          description: Unauthorized
  /master/groups/{id}:
    get:
      operationId: getEdgeFleet
      summary: Get an edge fleet by ID
      description: >-
        Retrieves the configuration and status of a specific edge fleet
        including its node count and deployment state.
      tags:
        - Edge Fleets
      parameters:
        - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Successfully retrieved edge fleet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeFleet'
        '401':
          description: Unauthorized
        '404':
          description: Edge fleet not found
    patch:
      operationId: updateEdgeFleet
      summary: Update an edge fleet
      description: >-
        Updates the configuration of an existing edge fleet including
        its name, description, and deployment settings.
      tags:
        - Edge Fleets
      parameters:
        - $ref: '#/components/parameters/resourceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeFleet'
      responses:
        '200':
          description: Edge fleet updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeFleet'
        '400':
          description: Invalid fleet configuration
        '401':
          description: Unauthorized
        '404':
          description: Edge fleet not found
    delete:
      operationId: deleteEdgeFleet
      summary: Delete an edge fleet
      description: >-
        Deletes an edge fleet by its unique ID. Connected edge nodes
        will be disconnected.
      tags:
        - Edge Fleets
      parameters:
        - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Edge fleet deleted successfully
        '401':
          description: Unauthorized
        '404':
          description: Edge fleet not found
  /master/groups/{id}/deploy:
    post:
      operationId: deployEdgeFleet
      summary: Deploy configuration to an edge fleet
      description: >-
        Deploys the current configuration to all edge nodes in the
        specified fleet, pushing updated sources, pipelines, and
        routes to endpoints.
      tags:
        - Edge Fleets
      parameters:
        - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Deployment initiated successfully
        '401':
          description: Unauthorized
        '404':
          description: Edge fleet not found
  /master/workers:
    get:
      operationId: listEdgeNodes
      summary: List all edge nodes
      description: >-
        Retrieves all connected edge nodes across all fleets including
        their status, OS, version, and resource utilization metrics.
      tags:
        - Edge Nodes
      responses:
        '200':
          description: Successfully retrieved edge nodes
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/EdgeNode'
                  count:
                    type: integer
                    description: Total number of edge nodes
        '401':
          description: Unauthorized
  /master/workers/{id}:
    get:
      operationId: getEdgeNode
      summary: Get an edge node by ID
      description: >-
        Retrieves the status and details of a specific edge node
        including its OS, version, fleet membership, and resource
        utilization.
      tags:
        - Edge Nodes
      parameters:
        - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Successfully retrieved edge node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeNode'
        '401':
          description: Unauthorized
        '404':
          description: Edge node not found
  /master/workers/{id}/restart:
    post:
      operationId: restartEdgeNode
      summary: Restart an edge node
      description: >-
        Initiates a restart of a specific edge node agent on the
        endpoint system.
      tags:
        - Edge Nodes
      parameters:
        - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Restart initiated successfully
        '401':
          description: Unauthorized
        '404':
          description: Edge node not found
  /m/{fleetId}/system/sources:
    get:
      operationId: listEdgeSources
      summary: List edge sources in a fleet
      description: >-
        Retrieves all data input sources configured for an edge fleet
        including file monitors, Windows Event Log, system metrics,
        AppScope, and other local collection sources.
      tags:
        - Edge Sources
      parameters:
        - $ref: '#/components/parameters/fleetId'
      responses:
        '200':
          description: Successfully retrieved edge sources
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/EdgeSource'
                  count:
                    type: integer
                    description: Total number of sources
        '401':
          description: Unauthorized
        '404':
          description: Fleet not found
    post:
      operationId: createEdgeSource
      summary: Create an edge source in a fleet
      description: >-
        Creates a new data input source for an edge fleet to collect
        data from endpoints.
      tags:
        - Edge Sources
      parameters:
        - $ref: '#/components/parameters/fleetId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeSource'
      responses:
        '200':
          description: Edge source created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeSource'
        '400':
          description: Invalid source configuration
        '401':
          description: Unauthorized
  /m/{fleetId}/system/outputs:
    get:
      operationId: listEdgeDestinations
      summary: List edge destinations in a fleet
      description: >-
        Retrieves all data output destinations configured for an edge
        fleet for forwarding collected and processed data.
      tags:
        - Edge Destinations
      parameters:
        - $ref: '#/components/parameters/fleetId'
      responses:
        '200':
          description: Successfully retrieved edge destinations
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/EdgeDestination'
                  count:
                    type: integer
                    description: Total number of destinations
        '401':
          description: Unauthorized
        '404':
          description: Fleet not found
    post:
      operationId: createEdgeDestination
      summary: Create an edge destination in a fleet
      description: >-
        Creates a new data output destination for an edge fleet to
        forward processed data to centralized systems.
      tags:
        - Edge Destinations
      parameters:
        - $ref: '#/components/parameters/fleetId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeDestination'
      responses:
        '200':
          description: Edge destination created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeDestination'
        '400':
          description: Invalid destination configuration
        '401':
          description: Unauthorized
  /m/{fleetId}/pipelines:
    get:
      operationId: listEdgePipelines
      summary: List edge pipelines in a fleet
      description: >-
        Retrieves all processing pipelines configured for an edge fleet
        for local data transformation on endpoints.
      tags:
        - Edge Pipelines
      parameters:
        - $ref: '#/components/parameters/fleetId'
      responses:
        '200':
          description: Successfully retrieved edge pipelines
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/EdgePipeline'
                  count:
                    type: integer
                    description: Total number of pipelines
        '401':
          description: Unauthorized
        '404':
          description: Fleet not found
    post:
      operationId: createEdgePipeline
      summary: Create an edge pipeline in a fleet
      description: >-
        Creates a new processing pipeline for an edge fleet to
        transform data locally on endpoints before forwarding.
      tags:
        - Edge Pipelines
      parameters:
        - $ref: '#/components/parameters/fleetId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgePipeline'
      responses:
        '200':
          description: Edge pipeline created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgePipeline'
        '400':
          description: Invalid pipeline configuration
        '401':
          description: Unauthorized
  /m/{fleetId}/routes:
    get:
      operationId: listEdgeRoutes
      summary: List edge routes in a fleet
      description: >-
        Retrieves all routes configured for an edge fleet that direct
        collected data to pipelines and destinations on edge nodes.
      tags:
        - Edge Routes
      parameters:
        - $ref: '#/components/parameters/fleetId'
      responses:
        '200':
          description: Successfully retrieved edge routes
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/EdgeRoute'
                  count:
                    type: integer
                    description: Total number of routes
        '401':
          description: Unauthorized
        '404':
          description: Fleet not found
    post:
      operationId: createEdgeRoute
      summary: Create an edge route in a fleet
      description: >-
        Creates a new route for an edge fleet to filter and direct
        collected data on endpoints.
      tags:
        - Edge Routes
      parameters:
        - $ref: '#/components/parameters/fleetId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeRoute'
      responses:
        '200':
          description: Edge route created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeRoute'
        '400':
          description: Invalid route configuration
        '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:
    resourceId:
      name: id
      in: path
      required: true
      description: The unique identifier of the resource
      schema:
        type: string
    fleetId:
      name: fleetId
      in: path
      required: true
      description: The edge fleet identifier
      schema:
        type: string
  schemas:
    EdgeFleet:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the edge fleet
        name:
          type: string
          description: Display name for the edge fleet
        description:
          type: string
          description: A human-readable description
        isFleet:
          type: boolean
          description: Indicates this is an edge fleet
        workerCount:
          type: integer
          description: Number of connected edge nodes
        configVersion:
          type: string
          description: The current deployed configuration version
        tags:
          type: object
          description: Key-value tags for organizing fleets
    EdgeNode:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the edge node
        hostname:
          type: string
          description: The endpoint hostname
        group:
          type: string
          description: The fleet the node belongs to
        version:
          type: string
          description: The Cribl Edge agent version
        status:
          type: string
          description: The current node status
          enum:
            - online
            - offline
            - degraded
        os:
          type: string
          description: The operating system of the endpoint
        cpuUsage:
          type: number
          description: Current CPU utilization percentage
          format: float
        memUsage:
          type: number
          description: Current memory utilization percentage
          format: float
        ip:
          type: string
          description: The IP address of the endpoint
    EdgeSource:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the edge source
        type:
          type: string
          description: >-
            The source type such as file_monitor, windows_event_log,
            system_metrics, appscope, syslog, or journald
        disabled:
          type: boolean
          description: Whether the source is disabled
        description:
          type: string
          description: A human-readable description
        pipeline:
          type: string
          description: The pipeline to process events
        streamtags:
          type: array
          items:
            type: string
          description: Tags applied to events from this source
    EdgeDestination:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the edge destination
        type:
          type: string
          description: >-
            The destination type such as cribl_http, splunk, s3,
            syslog, or filesystem
        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
    EdgePipeline:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the edge pipeline
        conf:
          type: object
          description: Pipeline configuration object
          properties:
            functions:
              type: array
              description: Ordered list of processing functions
              items:
                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
    EdgeRoute:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the edge 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