# Honeycomb Docs: API Reference

## API Reference

- [UI Changelog](https://docs.honeycomb.io/ui-changelog.md)
- [API Changelog](https://docs.honeycomb.io/api-changelog.md)

### Getting Started

- [Honeycomb API Reference](https://docs.honeycomb.io/api/introduction.md): Build integrations and automate workflows with the Honeycomb API. Programmatically manage datasets, queries, triggers, SLOs, environments, API keys, and more.
- [Authentication](https://docs.honeycomb.io/api/authentication.md): Authenticate Honeycomb API requests with API keys. Find out which key type each endpoint requires.
- [Permissions](https://docs.honeycomb.io/api/permissions.md): Reference for required API key types and permission scopes for each Honeycomb API endpoint group
- [Rate Limits](https://docs.honeycomb.io/api/rate-limit.md): Find out how Honeycomb API rate limits work, which response headers tell you your current usage, and how to handle 429 rate-limited errors.
- [Pagination](https://docs.honeycomb.io/api/pagination.md): Navigate paginated Honeycomb API responses using cursor-based pagination.
- [Errors](https://docs.honeycomb.io/api/errors.md): Handle Honeycomb API errors using standard HTTP status codes and structured error responses.

### Reference

- [Reference: Query Specification](https://docs.honeycomb.io/reference/query-specification.md): Define Honeycomb queries in JSON to use with the Query API, Boards API, Triggers API, and query template links. Reference for supported syntax and structure.

#### Calculated Field Expression

- [Reference: Calculated Field Expression](https://docs.honeycomb.io/reference/calculated-field-expression.md): Reference for calculated field syntax, operators, and functions, with example formulas to use as inspiration when building your own calculated fields.
- [Calculated Field Syntax](https://docs.honeycomb.io/reference/calculated-field-expression/syntax.md): Syntax rules, operators, and supported value types for calculated field formulas in Honeycomb Datasets and Environments.
- [Math Functions in Calculated Fields](https://docs.honeycomb.io/reference/calculated-field-expression/math.md): Math functions available for calculated field formulas in Honeycomb, including SUM, AVG, CEIL, FLOOR, and arithmetic operators.
- [Comparison Functions in Calculated Fields](https://docs.honeycomb.io/reference/calculated-field-expression/comparison.md): Comparison functions available for calculated field formulas in Honeycomb, including LT, GT, LTE, GTE, EQ, and NEQ for values and strings.
- [Logical Functions in Calculated Fields](https://docs.honeycomb.io/reference/calculated-field-expression/logical.md): Logical and boolean functions available for calculated field formulas in Honeycomb, including AND, OR, NOT, and EXISTS.
- [Conditional Functions in Calculated Fields](https://docs.honeycomb.io/reference/calculated-field-expression/conditional.md): Conditional functions available for calculated field formulas in Honeycomb, including IF, ELSE, and related boolean expression operators.
- [String Functions in Calculated Fields](https://docs.honeycomb.io/reference/calculated-field-expression/string.md): String functions available for calculated field formulas in Honeycomb, including CONCAT, LOWERCASE, LENGTH, MATCH, and CONTAINS.
- [Time Functions in Calculated Fields](https://docs.honeycomb.io/reference/calculated-field-expression/time.md): Time functions available for calculated field formulas in Honeycomb, including UNIX_TIMESTAMP, DATE_STRING, and duration helpers.
- [Type Conversion in Calculated Fields](https://docs.honeycomb.io/reference/calculated-field-expression/cast.md): Type conversion functions available for calculated field formulas in Honeycomb, including INT, FLOAT, STR, and BOOL casts.
- [Calculated Field Example Formulas](https://docs.honeycomb.io/reference/calculated-field-expression/example-formulas.md): Example calculated field formulas covering common use cases in Honeycomb, to use as a starting point when building your own.

### API Endpoints

#### Auth

- [List Authorizations](https://docs.honeycomb.io/api/auth/list-authorizations.md): Returns metadata about the API Key used to call the API. Note: a Honeycomb Classic API key will return an empty string for both of the `environment` values.
- [List Authorizations V2](https://docs.honeycomb.io/api/auth/list-authorizations-v2.md): Returns metadata about the Management API Key used to call the API.

#### Boards

- [List All Boards](https://docs.honeycomb.io/api/boards/list-all-boards.md): Retrieves a list of all non-secret Boards within an environment. **Note**: For Honeycomb Classic users, all boards within Classic will be returned.
- [Create a Board](https://docs.honeycomb.io/api/boards/create-a-board.md): Create a Board comprised of one or more Panels (Query, SLO, or Text). **Note**: Each board is limited to a maximum of 5 preset filters.
- [Get a Board](https://docs.honeycomb.io/api/boards/get-a-board.md): Get a single Board by ID.
- [Update a Board](https://docs.honeycomb.io/api/boards/update-a-board.md): Update a Board by specifying its ID and full details. **Note**: Queries can be added to, removed from, and re-ordered by updating the board itself. It is not possible to reference individual queries via the API. **Note**: Each board is limited to a maximum of 5 preset filters. Attempting to update a…
- [Delete a Board](https://docs.honeycomb.io/api/boards/delete-a-board.md): Delete a public Board by specifying its ID.
- [List Board Views](https://docs.honeycomb.io/api/boards/list-board-views.md): Retrieve a list of all views for a board. **Note**: Each board is limited to a maximum of 50 views.
- [Create a Board View](https://docs.honeycomb.io/api/boards/create-a-board-view.md): Create a new view for a board with the specified filters. **Note**: Each board is limited to a maximum of 50 views. Attempting to create more than 50 views will result in an error.
- [Get a Board View](https://docs.honeycomb.io/api/boards/get-a-board-view.md): Retrieve a single Board View by ID.
- [Update a Board View](https://docs.honeycomb.io/api/boards/update-a-board-view.md): Update a Board View by specifying its ID and full details.
- [Delete a Board View](https://docs.honeycomb.io/api/boards/delete-a-board-view.md): Delete a Board View by specifying its ID.

#### Service Maps

- [Create a Map Dependency Request](https://docs.honeycomb.io/api/service-maps/create-a-map-dependency-request.md): Create a Map Dependency Request.
- [Get Map Dependencies](https://docs.honeycomb.io/api/service-maps/get-map-dependencies.md): Get the dependencies for a previously created Map Dependencies Request. Note: This endpoint returns a single page of results and uses pagination. Even if you specified a large limit in the initial POST request, you will receive up to the page size limit per request and must use the pagination links…

#### Burn Alerts

- [List All Burn Alerts for an SLO](https://docs.honeycomb.io/api/burn-alerts/list-all-burn-alerts-for-an-slo.md): Get all burn alerts associated with the SLO specified in the `slo_id` query param. It is not currently possible to retrieve all burn alerts for a dataset, environment, or team.
- [Create a Burn Alert](https://docs.honeycomb.io/api/burn-alerts/create-a-burn-alert.md): Create a Burn Alert against a specified SLO.
- [Get a Burn Alert](https://docs.honeycomb.io/api/burn-alerts/get-a-burn-alert.md): Get a single Burn Alert by ID.
- [Update a Burn Alert](https://docs.honeycomb.io/api/burn-alerts/update-a-burn-alert.md): Update a Burn Alert by specifying its ID and full details.
- [Delete a Burn Alert](https://docs.honeycomb.io/api/burn-alerts/delete-a-burn-alert.md): Delete a Burn Alert by specifying its ID.

#### Datasets

- [List All Datasets](https://docs.honeycomb.io/api/datasets/list-all-datasets.md): Lists all Datasets for an environment. **Note**: For Honeycomb Classic users, all datasets in Classic are returned.
- [Create a Dataset](https://docs.honeycomb.io/api/datasets/create-a-dataset.md): Create a Dataset in the environment associated with your API key. If a Dataset already exists by that name (or slug), then the existing dataset will be returned.
- [Get a Dataset](https://docs.honeycomb.io/api/datasets/get-a-dataset.md): Get a single Dataset by slug.
- [Update a Dataset](https://docs.honeycomb.io/api/datasets/update-a-dataset.md): Update a Dataset's settings.
- [Delete a Dataset](https://docs.honeycomb.io/api/datasets/delete-a-dataset.md): Deletes the Dataset. This is an irreversible operation. It may take several minutes for the deletion process to complete.

#### Events

- [Create Events](https://docs.honeycomb.io/api/events/create-events.md): Supports batch creation of events.
- [Create an Event](https://docs.honeycomb.io/api/events/create-an-event.md): Using this endpoint for anything more than testing is highly discouraged.

#### Dataset Definitions

- [Get all Dataset Definitions](https://docs.honeycomb.io/api/dataset-definitions/get-all-dataset-definitions.md): Get all definitions for a Dataset. The response returns an object with a Dataset Definition for each set Dataset Definition type.
- [Set or Update Dataset Definitions](https://docs.honeycomb.io/api/dataset-definitions/set-or-update-dataset-definitions.md): Set or update one or more definitions for a Dataset. **Note**: While the PATCH payload can include the `column_type`, Honeycomb does not use this field when updating Dataset Definitions.

#### Kinesis Events

- [Create Kinesis Events](https://docs.honeycomb.io/api/kinesis-events/create-kinesis-events.md): This endpoint processes events and metrics coming from AWS through Kinesis Firehose.

#### Markers

- [List All Markers](https://docs.honeycomb.io/api/markers/list-all-markers.md): Lists all Markers for a dataset.
- [Create a Marker](https://docs.honeycomb.io/api/markers/create-a-marker.md): Create a Marker in the specified dataset. To create an environment marker, use the `__all__` keyword and an API key associated with the desired environment.
- [Update a Marker](https://docs.honeycomb.io/api/markers/update-a-marker.md): Update a Marker in the specified dataset. To update an environment marker, use the `__all__` keyword and an API key associated with the desired environment.
- [Delete a Marker](https://docs.honeycomb.io/api/markers/delete-a-marker.md)

#### Marker Settings

- [Get a Marker Setting](https://docs.honeycomb.io/api/marker-settings/get-a-marker-setting.md)
- [Create a Marker Setting](https://docs.honeycomb.io/api/marker-settings/create-a-marker-setting.md)
- [Update a Marker Setting](https://docs.honeycomb.io/api/marker-settings/update-a-marker-setting.md): A marker setting's `type` may not be changed after creation.
- [Delete a Marker Setting](https://docs.honeycomb.io/api/marker-settings/delete-a-marker-setting.md)

#### Queries

- [Create a Query](https://docs.honeycomb.io/api/queries/create-a-query.md): Create a query from a specification. DOES NOT run the query to retrieve results.
- [Get a Query](https://docs.honeycomb.io/api/queries/get-a-query.md): Retrieve a query by its ID.

#### Query Annotations

- [List Query Annotations](https://docs.honeycomb.io/api/query-annotations/list-query-annotations.md): List all Query Annotations in the specified dataset.
- [Create a Query Annotation](https://docs.honeycomb.io/api/query-annotations/create-a-query-annotation.md): Create a Query Annotation for the specified query ID.
- [Get a Query Annotation](https://docs.honeycomb.io/api/query-annotations/get-a-query-annotation.md): Get a Query Annotation by its ID.
- [Update a Query Annotation](https://docs.honeycomb.io/api/query-annotations/update-a-query-annotation.md): Update a Query Annotation by specifying its ID. The Query ID associated with the Query Annotation cannot be updated. Partial updates are not supported.
- [Delete a Query Annotation](https://docs.honeycomb.io/api/query-annotations/delete-a-query-annotation.md): Delete a Query Annotation by specifying its ID.

#### Query Data

- [Create a Query Result](https://docs.honeycomb.io/api/query-data/create-a-query-result.md): Kick off processing of a Query to then get back the Query Results. Once the Query Result has been created, the query will be run asynchronously, allowing the result data to be fetched from the GET query result endpoint. A maximum duration of 7 days of data can be queried. Any queries with a `start_t…
- [Get Query Result](https://docs.honeycomb.io/api/query-data/get-query-result.md): Get the Query Result details for a specific Query Result ID. This endpoint is used to fetch the results of a query that had previously been created. It is recommended to follow the Location header included in the Create Query Result output, but the URL can also be constructed manually with the &lt;q…

#### Recipients

- [List all Recipients](https://docs.honeycomb.io/api/recipients/list-all-recipients.md): Retrieve all recipients for a team.
- [Create a Recipient](https://docs.honeycomb.io/api/recipients/create-a-recipient.md): Unlike many resources, Recipients are not linked to a specific Environment or Dataset. The Recipient will be created for the Team associated with your API key. The `details` fields will vary depending on the `type` of Recipient. Use the drop-down to view the specific fields for each `type` value. Be…
- [Get a single Recipient](https://docs.honeycomb.io/api/recipients/get-a-single-recipient.md): Retrieve a Recipient by recipient ID.
- [Update a Recipient](https://docs.honeycomb.io/api/recipients/update-a-recipient.md): Update a Recipient by specifying the recipient ID and full recipient details. (Partial PUT is not supported.) Updates to the Recipient Type is not supported. For example, changing an existing Recipient from PagerDuty to Email is not allowed. **Important**: Modifying an existing recipient will change…
- [Delete a Recipient](https://docs.honeycomb.io/api/recipients/delete-a-recipient.md): Delete a recipient by specifying the recipient ID. A Recipient can only be deleted if it is NOT in use by any Triggers or Burn Alerts associated to the team.

#### SLOs

- [Get all SLOs](https://docs.honeycomb.io/api/slos/get-all-slos.md): Get all SLOs for a dataset or environment (using  `__all__`). This action returns any SLOs, including those applied with multiple datasets.
- [Create an SLO](https://docs.honeycomb.io/api/slos/create-an-slo.md): Create an SLO on the provided dataset.
- [Get an SLO](https://docs.honeycomb.io/api/slos/get-an-slo.md): Get an SLO by ID.
- [Update an SLO](https://docs.honeycomb.io/api/slos/update-an-slo.md): Update an SLO by specifying its ID and full SLO details.
- [Delete an SLO](https://docs.honeycomb.io/api/slos/delete-an-slo.md): Delete an SLO by specifying its ID.
- [Get SLO Realtime Counts](https://docs.honeycomb.io/api/slos/get-slo-realtime-counts.md): Get per-minute success and failure event counts for an SLO, updated approximately once per minute from a rolling 24-hour window.
- [Get SLO Hourly Counts History](https://docs.honeycomb.io/api/slos/get-slo-hourly-counts-history.md): Get hourly-bucketed total and error event counts for an SLO from the persistent historical store. Use this endpoint to retrieve completed historical hours; pair with the [Get SLO Realtime Counts endpoint](https://api-docs.honeycomb.io/api/slos/getslorealtimecounts/) for the current in-progress hour.

#### Reporting

- [Get SLO History](https://docs.honeycomb.io/api/reporting/get-slo-history.md): Get a weekly breakdown of historical data for a list of SLOs for a given time range.

#### Anomaly Detection

- [List All Signals](https://docs.honeycomb.io/api/anomaly-detection/list-all-signals.md): List Signals in the environment associated with your API key. Signals are returned in cursor-paginated pages and can be filtered by service, dataset, kind, status, and whether they are currently anomalous.
- [Get a Signal](https://docs.honeycomb.io/api/anomaly-detection/get-a-signal.md): Fetch a Signal by ID, including the Recipients assigned to it.
- [Update a Signal](https://docs.honeycomb.io/api/anomaly-detection/update-a-signal.md): Update a Signal by ID. All fields in the body are optional; only the fields you supply are applied.
- [List Historical Anomalies](https://docs.honeycomb.io/api/anomaly-detection/list-historical-anomalies.md): List anomalies that a Signal has resolved within a bounded time window. Anomalies are returned in cursor-paginated pages, most recent first. `start_time` and `end_time` are required and must span no more than 30 days.

#### Triggers

- [List All Triggers](https://docs.honeycomb.io/api/triggers/list-all-triggers.md): List all triggers on the provided dataset or environment.
- [Create a Trigger](https://docs.honeycomb.io/api/triggers/create-a-trigger.md): Create a trigger on the provided dataset or environment.
- [Get a Trigger](https://docs.honeycomb.io/api/triggers/get-a-trigger.md): Fetch details for a single Trigger by Trigger ID.
- [Update a Trigger](https://docs.honeycomb.io/api/triggers/update-a-trigger.md): Update a trigger by specifying the trigger ID and the same fields used when creating a new trigger.
- [Delete a Trigger](https://docs.honeycomb.io/api/triggers/delete-a-trigger.md): Delete a trigger by specifying the trigger ID. The body of the DELETE request should be empty.
- [Get Triggers Associated with a Recipient](https://docs.honeycomb.io/api/triggers/get-triggers-associated-with-a-recipient.md): List all triggers that will alert a given Recipient. **Important:** This request will return all Triggers associated with the specific Recipient across your entire Honeycomb team rather than being scoped to a dataset or environment.

#### Calculated Fields

- [List all Calculated Fields](https://docs.honeycomb.io/api/calculated-fields/list-all-calculated-fields.md): Get all the Calculated Fields (also called Derived Columns) in a dataset or environment. With the `?alias=X` query parameter, can return a single Calculated Field by its `alias`.
- [Create a Calculated Field](https://docs.honeycomb.io/api/calculated-fields/create-a-calculated-field.md): Create a Calculated Field (also called a Derived Column). Calculated Fields allow you to run queries based on the value of an expression that is calculated from the fields in an event.
- [Get a Calculated Field](https://docs.honeycomb.io/api/calculated-fields/get-a-calculated-field.md)
- [Update a Calculated Field](https://docs.honeycomb.io/api/calculated-fields/update-a-calculated-field.md): Update a Calculated Field (also called a Derived Column).
- [Delete a Calculated Field](https://docs.honeycomb.io/api/calculated-fields/delete-a-calculated-field.md): Delete a Calculated Field (also called a Derived Column). **Note**: A Calculated Field used by a SLO, Trigger, or Board cannot be deleted without removing or modifying the SLO, Trigger, or Board first.

#### Columns

- [List all Columns](https://docs.honeycomb.io/api/columns/list-all-columns.md): Get all the Columns in a dataset or environment. Use `__all__`  as the dataset slug to retrieve all Columns across all datasets in the environment (not available for classic environments).
- [Create a Column](https://docs.honeycomb.io/api/columns/create-a-column.md): Create a column by providing corresponding details for that type.
- [Get a Column](https://docs.honeycomb.io/api/columns/get-a-column.md)
- [Update a Column](https://docs.honeycomb.io/api/columns/update-a-column.md): Update a column
- [Delete a Column](https://docs.honeycomb.io/api/columns/delete-a-column.md): Delete a column. **Note**: Deleted columns are no longer queryable, but data in existing permalinks (query results and trace views) will remain stored and available at those links.

#### Key Management

- [List all API Keys](https://docs.honeycomb.io/api/key-management/list-all-api-keys.md): List all API Keys for a Team.
- [Create an API Key](https://docs.honeycomb.io/api/key-management/create-an-api-key.md): This creates an API Key, which will return the API Key components in the response. The Key ID will be found at `data.id` and the Key Secret will be found at `data.attributes.secret`. For security reasons the Key Secret will only be available during creation so make sure to save it.
- [Get an API Key](https://docs.honeycomb.io/api/key-management/get-an-api-key.md): Fetches an environment API Key, either a key of type `ingest` or type `configuration` based on the ID given.
- [Delete an API Key](https://docs.honeycomb.io/api/key-management/delete-an-api-key.md): This deletes and immediately deactivates the API Key. This is an irreversible operation.
- [Update an API Key](https://docs.honeycomb.io/api/key-management/update-an-api-key.md): Updates an API Key. The expected attributes depend on the key type: - **Ingest Keys** (prefix `hcxik_`): Support `name` and `enabled` attributes - **Configuration Keys** (prefix `hcxlk_`): Support `name`, `enabled`, and `permissions` attributes

#### Environments

- [List all Environments](https://docs.honeycomb.io/api/environments/list-all-environments.md)
- [Create an Environment](https://docs.honeycomb.io/api/environments/create-an-environment.md)
- [Get an Environment](https://docs.honeycomb.io/api/environments/get-an-environment.md)
- [Delete an Environment](https://docs.honeycomb.io/api/environments/delete-an-environment.md): This deletes and immediately deactivates the Environment. This is an irreversible operation.
- [Update an Environment](https://docs.honeycomb.io/api/environments/update-an-environment.md)

## OpenAPI Specs

- [openapi-public](/api/openapi-public.yaml)
