honeycomb Columns API
Manage columns (fields) in the events you send to Honeycomb datasets.
Manage columns (fields) in the events you send to Honeycomb datasets.
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-columns-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 Columns API
version: '1.0'
description: 'Operations tagged Columns 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: 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
security:
- ApiKeyAuth: []
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
security:
- ApiKeyAuth: []
parameters:
- $ref: '#/components/parameters/datasetSlugOrAll'
servers:
- url: https://api.honeycomb.io
description: Honeycomb Production API
/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
security:
- ApiKeyAuth: []
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
security:
- ApiKeyAuth: []
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
security:
- ApiKeyAuth: []
parameters:
- $ref: '#/components/parameters/datasetSlug_2'
- name: columnId
description: Unique identifier (ID) of a column.
in: path
required: true
schema:
type: string
servers:
- url: https://api.honeycomb.io
description: Honeycomb Production API
components:
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
datasetSlug_2:
name: datasetSlug
description: 'The dataset slug.
'
in: path
required: true
schema:
type: string
datasetSlugOrAll:
name: datasetSlug
description: 'The dataset slug or use `__all__` for endpoints that support environment-wide operations.
'
in: path
required: true
schema:
type: string
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.
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.
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.
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.
Error:
x-tags:
- Errors
type: object
description: A legacy error, containing only a textual description.
properties:
error:
type: string
readOnly: true
Column_2:
allOf:
- $ref: '#/components/schemas/CreateColumn'
properties:
key_name:
readOnly: true
ColumnList:
type: array
items:
$ref: '#/components/schemas/Column_2'
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
ValidationError:
x-tags:
- Errors
allOf:
- $ref: '#/components/schemas/DetailedError'
- type: object
properties:
status:
type: number
readOnly: true
default: 422
type:
type: string
readOnly: true
default: https://api.honeycomb.io/problems/validation-failed
title:
type: string
readOnly: true
default: The provided input is invalid.
type_detail:
type: array
items:
type: object
properties:
field:
type: string
readOnly: true
code:
type: string
readOnly: true
enum:
- invalid
- missing
- incorrect_type
- already_exists
description:
type: string
readOnly: true
CreateColumn:
type: object
required:
- key_name
properties:
key_name:
type: string
description: Name of the Column.
example: my_column
minLength: 1
maxLength: 255
type:
type: string
default: string
enum:
- string
- float
- integer
- boolean
- histogram
description: Type of data that the Column will contain. Histogram is in beta and only works in your Metrics dataset.
example: integer
description:
type: string
description: Column description.
maxLength: 255
example: An integer column
hidden:
type: boolean
default: false
description: If `true`, the column is excluded from autocomplete and raw data field lists.
id:
type: string
readOnly: true
description: Unique identifier (ID), returned in response bodies.
last_written:
type: string
readOnly: true
description: ISO8601 formatted time the column was last written to (received event data).
created_at:
type: string
readOnly: true
description: ISO8601 formatted time the column was created.
updated_at:
type: string
readOnly: true
description: ISO8601 formatted time the column was updated.
responses:
NotFound:
description: Not Found
headers:
Ratelimit:
$ref: '#/components/headers/RateLimit'
RateLimitPolicy:
$ref: '#/components/headers/RateLimitPolicy'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: dataset not found
application/problem+json:
schema:
$ref: '#/components/schemas/DetailedError'
example:
status: 404
type: https://api.honeycomb.io/problems/not-found
title: The requested resource cannot be found.
error: Dataset not found
detail: Dataset not found
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONAPIError'
Conflict:
description: Conflict
headers:
Ratelimit:
$ref: '#/components/headers/RateLimit'
RateLimitPolicy:
$ref: '#/components/headers/RateLimitPolicy'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: dataset not found
application/problem+json:
schema:
$ref: '#/components/schemas/DetailedError'
example:
status: 409
type: https://api.honeycomb.io/problems/conflict
title: Request could not be completed due to a conflict with the current state of the target resource.
error: A resource by that name already exists.
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONAPIError'
UnprocessableEntity:
description: Invalid request
headers:
Ratelimit:
$ref: '#/components/headers/RateLimit'
RateLimitPolicy:
$ref: '#/components/headers/RateLimitPolicy'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ValidationError'
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.
Forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
deny-management-apis:
description: Team cannot access management APIs.
value:
error: Your team has been denied access to Management APIs, please contact support to be unblocked.
application/problem+json:
schema:
$ref: '#/components/schemas/DetailedError'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONAPIError'
BadRequest:
description: The provided request body was invalid.
headers:
Ratelimit:
$ref: '#/components/headers/RateLimit'
RateLimitPolicy:
$ref: '#/components/headers/RateLimitPolicy'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/DetailedError'
examples:
DetailedError:
value:
status: 400
type: https://api.honeycomb.io/problems/unparseable
title: The request body could not be parsed.
error: invalid gzip data
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
GenericError:
value:
error: invalid Query data
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONAPIError'
examples:
JSONAPIError:
value:
errors:
- id: 06dcdd6508ca822f0e7e2bb4121c1f52
code: invalid
title: request body could not be parsed
detail: invalid gzip data
ValidationFailed:
description: Validation Failed
headers:
Ratelimit:
$ref: '#/components/headers/RateLimit'
RateLimitPolicy:
$ref: '#/components/headers/RateLimitPolicy'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ValidationError'
example:
status: 422
type: https://api.honeycomb.io/problems/validation-failed
error: The provided input is invalid.
title: The provided input is invalid
type_detail:
- field: type
code: invalid
description: 'type: must be a valid value'
application/json:
schema:
$ref: '#/components/schemas/Error'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONAPIError'
headers:
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
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
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
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