Cribl Groups API

Manage Worker Groups and Edge Fleets, which organize and deploy configurations to sets of worker nodes or edge agents.

Documentation

Specifications

Other Resources

OpenAPI Specification

cribl-groups-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cribl As Code API Credentials Groups 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: Groups
  description: Manage Worker Groups and Edge Fleets, which organize and deploy configurations to sets of worker nodes or edge agents.
paths:
  /master/groups:
    get:
      operationId: listGroups
      summary: List all worker groups and fleets
      description: Retrieves a list of all worker groups and edge fleets configured in the Cribl instance, including their deployment status and node counts.
      tags:
      - Groups
      responses:
        '200':
          description: Successfully retrieved groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Group'
                  count:
                    type: integer
                    description: Total number of groups
        '401':
          description: Unauthorized
    post:
      operationId: createGroup
      summary: Create a new worker group or fleet
      description: Creates a new worker group or edge fleet with the specified configuration. Groups organize worker nodes and allow shared configuration deployment.
      tags:
      - Groups
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Group'
      responses:
        '200':
          description: Group created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '400':
          description: Invalid group configuration
        '401':
          description: Unauthorized
  /master/groups/{id}:
    get:
      operationId: getGroup
      summary: Get a group by ID
      description: Retrieves the configuration and status of a specific worker group or edge fleet including its nodes and deployment state.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Successfully retrieved group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '401':
          description: Unauthorized
        '404':
          description: Group not found
    patch:
      operationId: updateGroup
      summary: Update a group
      description: Updates the configuration of an existing worker group or edge fleet.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/resourceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Group'
      responses:
        '200':
          description: Group updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '400':
          description: Invalid group configuration
        '401':
          description: Unauthorized
        '404':
          description: Group not found
    delete:
      operationId: deleteGroup
      summary: Delete a group
      description: Deletes a worker group or edge fleet by its unique ID.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Group deleted successfully
        '401':
          description: Unauthorized
        '404':
          description: Group not found
  /master/groups/{id}/deploy:
    post:
      operationId: deployGroup
      summary: Deploy configuration to a group
      description: Deploys the current configuration to all worker nodes or edge agents in the specified group or fleet.
      tags:
      - Groups
      parameters:
      - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Deployment initiated successfully
        '401':
          description: Unauthorized
        '404':
          description: Group not found
components:
  schemas:
    Group:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the group
        name:
          type: string
          description: Display name for the group
        description:
          type: string
          description: A human-readable description
        isFleet:
          type: boolean
          description: Whether this group is an edge fleet
        workerCount:
          type: integer
          description: Number of connected worker or edge nodes
        configVersion:
          type: string
          description: The current deployed configuration version
        tags:
          type: object
          description: Key-value tags for organizing groups
  parameters:
    resourceId:
      name: id
      in: path
      required: true
      description: The unique identifier of the resource
      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/