Honeycomb Events API

The Honeycomb Events API is the lowest-level interface for sending event data to Honeycomb. It supports both single event creation and batch event submission, allowing developers to send structured telemetry data directly to Honeycomb datasets. While Honeycomb recommends using OpenTelemetry or Beeline SDKs for most instrumentation use cases, the Events API provides direct control for custom integrations and specialized data pipelines.

OpenAPI Specification

honeycomb-events-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Honeycomb Auth Events 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: Events
  description: Send individual and batch events to Honeycomb datasets.
paths:
  /1/events/{datasetSlug}:
    post:
      operationId: createEvent
      summary: Create an event
      description: Sends a single event to the specified dataset. Using this endpoint for anything more than testing is highly discouraged. Sending events in batches via the batch endpoint is much more efficient and should be preferred.
      tags:
      - Events
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: The event data as a JSON object with custom fields.
              additionalProperties: true
      responses:
        '200':
          description: Event accepted for processing
        '400':
          description: Bad request - malformed event data
        '401':
          description: Unauthorized - invalid API key
  /1/batch/{datasetSlug}:
    post:
      operationId: createEvents
      summary: Create events (batch)
      description: Sends a batch of events to the specified dataset. This is the recommended way to send events to Honeycomb. The request body is limited to 1MB of raw (potentially compressed) data. Dataset names are case insensitive.
      tags:
      - Events
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              description: An array of event objects to send as a batch.
              items:
                $ref: '#/components/schemas/BatchEvent'
      responses:
        '200':
          description: Batch results returned
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BatchEventResponse'
        '400':
          description: Bad request - malformed batch data
        '401':
          description: Unauthorized - invalid API key
components:
  parameters:
    datasetSlug:
      name: datasetSlug
      in: path
      required: true
      description: The slug identifier for the dataset. Dataset names are case insensitive and may contain URL-encoded spaces or special characters but not URL-encoded slashes.
      schema:
        type: string
  schemas:
    BatchEventResponse:
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code for this individual event. 202 indicates successful queuing for processing.
        error:
          type: string
          description: An error message if the event failed processing. Possible values include 'Request body should not be empty', 'Event has too many columns', and 'Request body is malformed and cannot be read'.
    BatchEvent:
      type: object
      properties:
        time:
          type: string
          format: date-time
          description: The event's timestamp in ISO8601 or RFC3339 format. Defaults to server time if not provided.
        samplerate:
          type: integer
          description: An integer representing the sampling denominator. For example, a value of 10 means one in ten events was kept.
          minimum: 1
        data:
          type: object
          description: The event's custom fields as a JSON object.
          additionalProperties: true
      required:
      - data
  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