honeycomb Key Management API

Manage API keys for a team, including listing, creating, updating, and deleting keys.

OpenAPI Specification

honeycomb-key-management-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Honeycomb Auth Key Management 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: Key Management
  description: Manage API keys for a team, including listing, creating, updating, and deleting keys.
paths:
  /1/api_keys:
    get:
      operationId: listApiKeys
      summary: List all API keys
      description: Returns a list of all API keys for the team.
      tags:
      - Key Management
      responses:
        '200':
          description: A list of API keys
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiKey'
        '401':
          description: Unauthorized
    post:
      operationId: createApiKey
      summary: Create an API key
      description: Creates a new API key for the team with specified permissions and environment scope.
      tags:
      - Key Management
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiKeyCreateRequest'
      responses:
        '201':
          description: API key created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKey'
        '401':
          description: Unauthorized
  /1/api_keys/{keyId}:
    get:
      operationId: getApiKey
      summary: Get an API key
      description: Returns a single API key by its ID.
      tags:
      - Key Management
      parameters:
      - $ref: '#/components/parameters/keyId'
      responses:
        '200':
          description: API key details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKey'
        '401':
          description: Unauthorized
        '404':
          description: API key not found
    put:
      operationId: updateApiKey
      summary: Update an API key
      description: Updates an API key's name, permissions, or configuration.
      tags:
      - Key Management
      parameters:
      - $ref: '#/components/parameters/keyId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiKeyUpdateRequest'
      responses:
        '200':
          description: API key updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKey'
        '401':
          description: Unauthorized
        '404':
          description: API key not found
    delete:
      operationId: deleteApiKey
      summary: Delete an API key
      description: Deletes an API key.
      tags:
      - Key Management
      parameters:
      - $ref: '#/components/parameters/keyId'
      responses:
        '204':
          description: API key deleted
        '401':
          description: Unauthorized
        '404':
          description: API key not found
components:
  parameters:
    keyId:
      name: keyId
      in: path
      required: true
      description: The unique identifier for the API key.
      schema:
        type: string
  schemas:
    ApiKey:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the API key.
        name:
          type: string
          description: The display name of the API key.
        type:
          type: string
          description: The type of API key.
          enum:
          - configuration
          - ingest
        disabled:
          type: boolean
          description: Whether the API key is disabled.
        permissions:
          type: object
          description: The permissions granted to this API key.
          additionalProperties:
            type: boolean
        environment_id:
          type: string
          description: The environment this key is scoped to, if applicable.
        secret:
          type: string
          description: The API key secret, only returned upon creation.
        created_at:
          type: string
          format: date-time
          description: ISO8601 formatted time the API key was created.
    ApiKeyCreateRequest:
      type: object
      required:
      - name
      - type
      properties:
        name:
          type: string
          description: The display name for the API key.
        type:
          type: string
          description: The type of API key to create.
          enum:
          - configuration
          - ingest
        permissions:
          type: object
          description: The permissions to grant to this API key.
          additionalProperties:
            type: boolean
        environment_id:
          type: string
          description: The environment to scope this key to.
    ApiKeyUpdateRequest:
      type: object
      properties:
        name:
          type: string
          description: An updated display name for the API key.
        disabled:
          type: boolean
          description: Whether to disable the API key.
        permissions:
          type: object
          description: Updated permissions for the API key.
          additionalProperties:
            type: boolean
  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