Honeycomb Datasets API

The Honeycomb Datasets API provides management capabilities for datasets, which represent collections of related events from the same source. It allows developers to list, create, and update datasets programmatically. The related Columns API enables management of fields within datasets, including listing, creating, updating, and deleting columns that define the structure of event data stored in Honeycomb.

OpenAPI Specification

honeycomb-datasets-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Honeycomb Auth Datasets API
  description: The Honeycomb API is a REST API that provides programmatic access to the Honeycomb observability platform. It enables developers to manage datasets and columns, configure SLOs and burn alerts, set up triggers and recipients, manage boards and markers, administer environments, API keys, and access auth, query annotations, calculated fields, marker settings, reporting, dataset definitions, and service maps.
  version: '1.0'
  contact:
    name: Honeycomb Support
    url: https://support.honeycomb.io
  termsOfService: https://www.honeycomb.io/terms-of-service
servers:
- url: https://api.honeycomb.io
  description: Honeycomb Production API
security:
- ApiKeyAuth: []
tags:
- name: Datasets
  description: Manage datasets, which represent collections of related events from the same source.
paths:
  /1/datasets:
    get:
      operationId: listDatasets
      summary: List all datasets
      description: Returns a list of all datasets in the environment associated with the API key.
      tags:
      - Datasets
      responses:
        '200':
          description: A list of datasets
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Dataset'
        '401':
          description: Unauthorized
    post:
      operationId: createDataset
      summary: Create a dataset
      description: Creates a dataset in the environment associated with the API key. If a dataset already exists with that name or slug, the existing dataset is returned.
      tags:
      - Datasets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetCreateRequest'
      responses:
        '201':
          description: Dataset created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
        '200':
          description: Existing dataset returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
        '401':
          description: Unauthorized
  /1/datasets/{datasetSlug}:
    get:
      operationId: getDataset
      summary: Get a dataset
      description: Returns a single dataset by its slug.
      tags:
      - Datasets
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      responses:
        '200':
          description: Dataset details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
        '401':
          description: Unauthorized
        '404':
          description: Dataset not found
    put:
      operationId: updateDataset
      summary: Update a dataset
      description: Updates a dataset's properties.
      tags:
      - Datasets
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetUpdateRequest'
      responses:
        '200':
          description: Dataset updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
        '401':
          description: Unauthorized
        '404':
          description: Dataset not found
components:
  schemas:
    DatasetCreateRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: The name of the dataset to create.
        description:
          type: string
          description: An optional description for the dataset.
    Dataset:
      type: object
      properties:
        name:
          type: string
          description: The name of the dataset.
        slug:
          type: string
          description: The URL-safe slug identifier for the dataset.
        description:
          type: string
          description: A description of the dataset.
        created_at:
          type: string
          format: date-time
          description: ISO8601 formatted timestamp of when the dataset was created.
        last_written_at:
          type: string
          format: date-time
          description: ISO8601 formatted timestamp of the last event written to the dataset.
        regular_columns_count:
          type: integer
          description: The number of regular columns in the dataset.
    DatasetUpdateRequest:
      type: object
      properties:
        description:
          type: string
          description: An updated description for the dataset.
        expand_json_depth:
          type: integer
          description: The depth to which nested JSON payloads should be unpacked into individual columns.
  parameters:
    datasetSlug:
      name: datasetSlug
      in: path
      required: true
      description: The slug identifier for the dataset. Dataset names are case insensitive.
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Honeycomb-Team
      description: Honeycomb Configuration API key. Must have appropriate permissions for the endpoint being called.
externalDocs:
  description: Honeycomb API Documentation
  url: https://api-docs.honeycomb.io/api