honeycomb Auth API
Validate authentication for a key, determine what authorizations have been granted to a key, and determine the Team and Environment it belongs to.
Validate authentication for a key, determine what authorizations have been granted to a key, and determine the Team and Environment it belongs to.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/honeycomb:honeycomb-auth-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Honeycomb Auth API
version: '1.0'
description: 'Operations tagged Auth across 2 of this provider''s published API definitions: honeycomb-api-openapi.yml, honeycomb-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.honeycomb.io
description: Honeycomb Production API
- url: https://api.eu1.honeycomb.io
tags:
- name: Auth
description: Validate authentication for a key, determine what authorizations have been granted to a key, and determine the Team and Environment it belongs to.
paths:
/1/auth:
get:
operationId: getAuth
summary: Authenticate API key
description: Validates authentication for a key and returns the team and environment that the key belongs to.
tags:
- Auth
responses:
'200':
description: Successful authentication
content:
application/json:
schema:
$ref: '#/components/schemas/AuthInfo'
'401':
description: Unauthorized - invalid API key
security:
- ApiKeyAuth: []
servers:
- url: https://api.honeycomb.io
description: Honeycomb Production API
/1/auth/permissions:
get:
operationId: listAuthorizations
summary: List authorizations
description: Determines what authorizations have been granted to the API key.
tags:
- Auth
responses:
'200':
description: List of authorizations for the key
content:
application/json:
schema:
$ref: '#/components/schemas/AuthPermissions'
'401':
description: Unauthorized - invalid API key
security:
- ApiKeyAuth: []
servers:
- url: https://api.honeycomb.io
description: Honeycomb Production API
/2/auth:
get:
security:
- bearerAuth: []
summary: List Authorizations V2
description: Returns metadata about the Management API Key used to call the API.
tags:
- Auth
operationId: getV2Auth
responses:
'200':
description: Success
headers:
Ratelimit:
$ref: '#/components/headers/RateLimit'
RateLimitPolicy:
$ref: '#/components/headers/RateLimitPolicy'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/AuthV2Response'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
servers:
- url: https://api.honeycomb.io
- url: https://api.eu1.honeycomb.io
components:
schemas:
AuthPermissions:
type: object
properties:
api_key_access:
type: object
description: The permissions and access levels granted to the API key.
additionalProperties:
type: boolean
AuthInfo:
type: object
properties:
team:
type: object
description: The team associated with the API key.
properties:
slug:
type: string
description: The slug identifier for the team.
name:
type: string
description: The display name of the team.
environment:
type: object
description: The environment associated with the API key, if applicable.
properties:
slug:
type: string
description: The slug identifier for the environment.
name:
type: string
description: The display name of the environment.
DetailedError:
x-tags:
- Errors
description: An RFC7807 'Problem Detail' formatted error message.
type: object
required:
- error
- status
- type
- title
properties:
error:
type: string
readOnly: true
default: something went wrong!
status:
type: number
readOnly: true
description: The HTTP status code of the error.
type:
type: string
readOnly: true
description: Type is a URI used to uniquely identify the type of error.
title:
type: string
readOnly: true
description: Title is a human-readable summary that explains the `type` of the problem.
detail:
type: string
readOnly: true
description: The general, human-readable error message.
instance:
type: string
readOnly: true
description: The unique identifier (ID) for this specific error.
Auth:
type: object
required:
- id
- type
- api_key_access
- environment
- team
properties:
id:
type: string
description: Unique identifier (ID) of the API Key.
type:
type: string
enum:
- configuration
- ingest
description: The type of API Key.
api_key_access:
type: object
properties:
events:
type: boolean
default: false
markers:
type: boolean
default: false
triggers:
type: boolean
default: false
boards:
type: boolean
default: false
queries:
type: boolean
default: false
columns:
type: boolean
default: false
createDatasets:
type: boolean
default: false
slos:
type: boolean
default: false
recipients:
type: boolean
default: false
privateBoards:
type: boolean
default: false
environment:
type: object
properties:
name:
type: string
description: The name of the Environment. Will be empty for Classic environments.
slug:
type: string
description: The slug of the Environment. Will be empty for Classic environments.
team:
type: object
properties:
name:
type: string
slug:
type: string
TeamRelationship:
type: object
required:
- team
properties:
team:
type: object
required:
- data
properties:
data:
type: object
required:
- id
- type
properties:
id:
type: string
description: The ID of the Team this object is associated with
example: hxctm_12345678901234567890123456
type:
type: string
enum:
- teams
IncludedResource:
type: object
properties:
id:
type: string
readOnly: true
description: The unique identifier of the resource
example: hcxen_01hznmeqrcq8rz533xrvtc6mk0
type:
type: string
readOnly: true
example: environments
attributes:
type: object
readOnly: true
example:
name: Production
slug: production
JSONAPIError:
x-tags:
- Errors
type: object
description: A JSONAPI-formatted error message.
properties:
errors:
type: array
items:
type: object
readOnly: true
required:
- id
- code
properties:
id:
type: string
readOnly: true
status:
type: string
readOnly: true
code:
type: string
readOnly: true
title:
type: string
readOnly: true
detail:
type: string
readOnly: true
source:
type: object
readOnly: true
properties:
pointer:
type: string
readOnly: true
header:
type: string
readOnly: true
parameter:
type: string
readOnly: true
Error:
x-tags:
- Errors
type: object
description: A legacy error, containing only a textual description.
properties:
error:
type: string
readOnly: true
AuthV2Response:
type: object
required:
- data
properties:
included:
type: array
items:
$ref: '#/components/schemas/IncludedResource'
example:
- id: hcxtm_12345678901234567890123456
type: teams
attributes:
name: My Team
slug: my-team
data:
type: object
required:
- id
- type
- attributes
properties:
id:
type: string
readOnly: true
description: The unique identifier of the API Key making the request
example: hcxik_12345678901234567890123456
type:
type: string
readOnly: true
enum:
- api-keys
relationships:
type: object
readOnly: true
allOf:
- $ref: '#/components/schemas/TeamRelationship'
attributes:
type: object
readOnly: true
properties:
name:
type: string
description: A human-readable name for the API Key
example: mgmt write key
key_type:
type: string
description: The type of API Key
enum:
- management
disabled:
type: boolean
description: Whether the API Key is disabled
default: false
scopes:
type: array
description: The scopes assigned to this API Key
example:
- api-keys:write
timestamps:
type: object
properties:
created:
type: string
format: date-time
description: The ISO8601-formatted time when the API Key was created.
readOnly: true
example: '2022-09-22T17:32:11Z'
updated:
type: string
format: date-time
description: The ISO8601-formatted time when the API Key was updated.
readOnly: true
example: '2022-10-31T15:08:11Z'
headers:
RateLimitPolicy:
description: "The (draft07) recommended header from the IETF on rate limiting.\nThe value of the header is formatted \"X;w=Y\".\nWhere:\n - X is the maximum number of requests allowed in a window\n - Y is the size of the window in seconds\n"
schema:
type: string
example: 100;w=60
RetryAfter:
description: 'The RFC7231 header used to indicate when a client should retry requests.
'
schema:
type: string
example: Fri, 22 Mar 2024 18:37:53 GMT
RateLimit:
description: "The (draft07) recommended header from the IETF on rate limiting.\nThe value of the header is formatted \"limit=X, remaining=Y, reset=Z\".\nWhere:\n - X is the maximum number of requests allowed in the window\n - Y is the number of requests remaining in the window\n - Z is the number of seconds until the limit resets\n"
schema:
type: string
example: limit=100, remaining=50, reset=60
responses:
GenericError:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: unknown API key - check your credentials
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONAPIError'
RateLimited:
description: Rate Limit Exceeded
headers:
Retry-After:
$ref: '#/components/headers/RetryAfter'
Ratelimit:
$ref: '#/components/headers/RateLimit'
RateLimitPolicy:
$ref: '#/components/headers/RateLimitPolicy'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: Rate Limited
application/problem+json:
schema:
$ref: '#/components/schemas/DetailedError'
example:
status: 429
type: https://api.honeycomb.io/problems/rate-limited
title: You have exceeded your rate limit.
error: You have exceeded your rate limit.
detail: Please try again after 2025-02-01T15:23:12Z.
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONAPIError'
example:
errors:
- id: 06dcdd6508ca822f0e7e2bb4121c1f52
code: rate-limited/may-retry
title: request rate limit exceeded
detail: Please try again after 2025-02-01T15:23:12Z.
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-Honeycomb-Team
description: Honeycomb Configuration API key. Must have appropriate permissions for the endpoint being called.
configuration_key:
type: apiKey
name: X-Honeycomb-Team
in: header
description: 'Authenticate using a Honeycomb Configuration Key.
Pass the **Token** in the `X-Honeycomb-Team` header:
```http
X-Honeycomb-Team: 1234567890123456789012
```
If you created your key using the API, use `data.attributes.secret`; this is the same value as the **Token** in the UI.
To learn how to create a Configuration Key, visit [Manage Environment API Keys](/configure/environments/manage-api-keys). To learn more about authenticating requests, visit [API Authentication](/api/authentication).
'
ingest_key:
type: apiKey
name: X-Honeycomb-Team
in: header
description: 'Authenticate using a Honeycomb Ingest Key.
Pass the Ingest Key in the `X-Honeycomb-Team` header:
```http
X-Honeycomb-Team: hc[x]ik_1234567890123456789012345612345678901234567890123456789012
```
The key value is the key ID and key secret concatenated with no separator:
- If you created your key through the UI, Honeycomb provides the complete value as the **Ingest Key**.
- If you created your key using the API, construct the key value by concatenating `data.id` and `data.attributes.secret` with no separator.
To learn how to create an Ingest Key, visit [Manage Environment API Keys](/configure/environments/manage-api-keys). To learn more about authenticating requests, visit [API Authentication](/api/authentication).
'
firehose_access_key:
type: apiKey
name: X-Amz-Firehose-Access-Key
in: header
description: 'We recommend using a Honeycomb Ingest Key to authenticate, though a Configuration Key will work.
To learn more about authenticating requests, visit [API Authentication](/api/authentication).
'
bearerAuth:
type: http
scheme: bearer
description: 'Authenticate using a Honeycomb Management Key.
Pass the Management Key as a Bearer token in the `Authorization` header:
```http
Authorization: Bearer hcxmk_12345678901234567890123456:12345678901234567890123456789012
```
Construct the key value by joining the **Key ID** and **Secret** with a colon (`:`).
To learn how to create a Management Key, visit [Manage Team API Keys](/configure/teams/manage-api-keys). To learn more about authenticating requests, visit [API Authentication](/api/authentication).
'
bearerFormat: HONEYCOMB_KEY_ID:HONEYCOMB_KEY_SECRET
x-refined-from:
- honeycomb-api-openapi.yml
- honeycomb-openapi.yml