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