Cribl Nodes API

Monitor and manage individual worker nodes and edge nodes within groups and fleets.

Documentation

Specifications

Other Resources

OpenAPI Specification

cribl-nodes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cribl As Code API Credentials Nodes 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: Nodes
  description: Monitor and manage individual worker nodes and edge nodes within groups and fleets.
paths:
  /master/workers:
    get:
      operationId: listNodes
      summary: List all worker and edge nodes
      description: Retrieves a list of all connected worker nodes and edge nodes including their status, version, and resource utilization.
      tags:
      - Nodes
      responses:
        '200':
          description: Successfully retrieved nodes
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Node'
                  count:
                    type: integer
                    description: Total number of nodes
        '401':
          description: Unauthorized
  /master/workers/{id}:
    get:
      operationId: getNode
      summary: Get a node by ID
      description: Retrieves the status and details of a specific worker or edge node identified by its node ID.
      tags:
      - Nodes
      parameters:
      - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Successfully retrieved node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Node'
        '401':
          description: Unauthorized
        '404':
          description: Node not found
  /master/workers/{id}/restart:
    post:
      operationId: restartNode
      summary: Restart a node
      description: Initiates a restart of the specified worker or edge node.
      tags:
      - Nodes
      parameters:
      - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Restart initiated successfully
        '401':
          description: Unauthorized
        '404':
          description: Node not found
  /master/workers/count:
    get:
      operationId: getNodeCount
      summary: Get node count
      description: Returns the total count of connected worker and edge nodes.
      tags:
      - Nodes
      responses:
        '200':
          description: Successfully retrieved node count
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: Total number of connected nodes
        '401':
          description: Unauthorized
components:
  schemas:
    Node:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the worker or edge node
        hostname:
          type: string
          description: The node hostname
        group:
          type: string
          description: The group or fleet the node belongs to
        version:
          type: string
          description: The Cribl software version on the node
        status:
          type: string
          description: The current node status
          enum:
          - online
          - offline
          - degraded
        os:
          type: string
          description: The operating system of the node
        cpuUsage:
          type: number
          description: Current CPU utilization percentage
          format: float
        memUsage:
          type: number
          description: Current memory utilization percentage
          format: float
  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/