Cribl Destinations API

Manage data output destinations where processed events are sent, including Splunk, S3, Elasticsearch, and webhook endpoints.

Documentation

Specifications

Other Resources

OpenAPI Specification

cribl-destinations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cribl As Code API Credentials Destinations 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: Destinations
  description: Manage data output destinations where processed events are sent, including Splunk, S3, Elasticsearch, and webhook endpoints.
paths:
  /system/outputs:
    get:
      operationId: listDestinations
      summary: List all destinations
      description: Retrieves a list of all configured data output destinations including their type, status, and configuration.
      tags:
      - Destinations
      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
    post:
      operationId: createDestination
      summary: Create a new destination
      description: Creates a new data output destination with the specified type and configuration. The destination type determines which configuration properties are required.
      tags:
      - Destinations
      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/outputs/{id}:
    get:
      operationId: getDestination
      summary: Get a destination by ID
      description: Retrieves the configuration and status of a specific data output destination identified by its unique ID.
      tags:
      - Destinations
      parameters:
      - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Successfully retrieved destination
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Destination'
        '401':
          description: Unauthorized
        '404':
          description: Destination not found
    patch:
      operationId: updateDestination
      summary: Update a destination
      description: Updates the configuration of an existing data output destination. Only provided fields are modified.
      tags:
      - Destinations
      parameters:
      - $ref: '#/components/parameters/resourceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Destination'
      responses:
        '200':
          description: Destination updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Destination'
        '400':
          description: Invalid destination configuration
        '401':
          description: Unauthorized
        '404':
          description: Destination not found
    delete:
      operationId: deleteDestination
      summary: Delete a destination
      description: Deletes a data output destination by its unique ID.
      tags:
      - Destinations
      parameters:
      - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Destination deleted successfully
        '401':
          description: Unauthorized
        '404':
          description: Destination not found
  /system/outputs/{id}/statuses:
    get:
      operationId: getDestinationStatus
      summary: Get destination status
      description: Retrieves the current operational status of a specific destination including throughput metrics and error counts.
      tags:
      - Destinations
      parameters:
      - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: Successfully retrieved destination status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DestinationStatus'
        '401':
          description: Unauthorized
        '404':
          description: Destination not found
  /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_2'
                  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_2'
      responses:
        '200':
          description: Destination created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Destination_2'
        '400':
          description: Invalid destination configuration
        '401':
          description: Unauthorized
components:
  schemas:
    DestinationStatus:
      type: object
      properties:
        id:
          type: string
          description: The destination identifier
        status:
          type: string
          description: The current operational status
          enum:
          - active
          - inactive
          - error
        numEvents:
          type: integer
          description: Number of events processed
        numBytes:
          type: integer
          description: Number of bytes processed
    Destination_2:
      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
    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 of the destination
        environment:
          type: string
          description: The environment context
        streamtags:
          type: array
          items:
            type: string
          description: Tags for filtering events to this destination
  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/