honeycomb Columns API

Manage columns (fields) in the events you send to Honeycomb datasets.

OpenAPI Specification

honeycomb-columns-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Honeycomb Auth Columns 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: Columns
  description: Manage columns (fields) in the events you send to Honeycomb datasets.
paths:
  /1/columns/{datasetSlug}:
    get:
      operationId: listColumns
      summary: List all columns
      description: Returns a list of all columns in the specified dataset.
      tags:
      - Columns
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      responses:
        '200':
          description: A list of columns
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Column'
        '401':
          description: Unauthorized
        '404':
          description: Dataset not found
    post:
      operationId: createColumn
      summary: Create a column
      description: Creates a new column in the specified dataset.
      tags:
      - Columns
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ColumnCreateRequest'
      responses:
        '201':
          description: Column created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Column'
        '401':
          description: Unauthorized
        '404':
          description: Dataset not found
  /1/columns/{datasetSlug}/{columnId}:
    get:
      operationId: getColumn
      summary: Get a column
      description: Returns a single column by its ID.
      tags:
      - Columns
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      - $ref: '#/components/parameters/columnId'
      responses:
        '200':
          description: Column details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Column'
        '401':
          description: Unauthorized
        '404':
          description: Column not found
    put:
      operationId: updateColumn
      summary: Update a column
      description: Updates the properties of a column in the specified dataset.
      tags:
      - Columns
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      - $ref: '#/components/parameters/columnId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ColumnUpdateRequest'
      responses:
        '200':
          description: Column updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Column'
        '401':
          description: Unauthorized
        '404':
          description: Column not found
    delete:
      operationId: deleteColumn
      summary: Delete a column
      description: Deletes a column from the specified dataset.
      tags:
      - Columns
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      - $ref: '#/components/parameters/columnId'
      responses:
        '204':
          description: Column deleted
        '401':
          description: Unauthorized
        '404':
          description: Column not found
components:
  schemas:
    ColumnCreateRequest:
      type: object
      required:
      - key_name
      properties:
        key_name:
          type: string
          description: The name for the new column.
        type:
          type: string
          description: The data type for the column.
          enum:
          - string
          - float
          - integer
          - boolean
        description:
          type: string
          description: An optional description for the column.
        hidden:
          type: boolean
          description: If true, hides the column from autocomplete and raw data field lists.
    ColumnUpdateRequest:
      type: object
      properties:
        description:
          type: string
          description: An updated description for the column.
        type:
          type: string
          description: An updated data type for the column.
          enum:
          - string
          - float
          - integer
          - boolean
        hidden:
          type: boolean
          description: If true, hides the column from autocomplete and raw data field lists.
    Column:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the column.
        key_name:
          type: string
          description: The name of the column.
        type:
          type: string
          description: The data type of the column.
          enum:
          - string
          - float
          - integer
          - boolean
        description:
          type: string
          description: A description of the column.
        hidden:
          type: boolean
          description: If true, the column is excluded from autocomplete and raw data field lists.
        created_at:
          type: string
          format: date-time
          description: ISO8601 formatted time the column was created.
        updated_at:
          type: string
          format: date-time
          description: ISO8601 formatted time the column was last updated.
        last_written:
          type: string
          format: date-time
          description: ISO8601 formatted time the column last received event data.
  parameters:
    datasetSlug:
      name: datasetSlug
      in: path
      required: true
      description: The slug identifier for the dataset. Dataset names are case insensitive.
      schema:
        type: string
    columnId:
      name: columnId
      in: path
      required: true
      description: The unique identifier for the column.
      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