Honeycomb Burn Alerts API

This feature is available as part of the [Honeycomb Pro and Enterprise plans](https://www.honeycomb.io/pricing/). Burn Alerts notify you when issues impact your SLO budget. Learn more about [Burn Alerts here](https://docs.honeycomb.io/notify/alert/slos/monitor/). This API allows you to list, create, update, and delete burn alerts. ## Authorization The API key must have the **Manage SLOs** permission. Learn more about [API keys here](https://docs.honeycomb.io/configure/environments/manage-api-keys/).

Operations 5

POST /1/burn_alerts/{datasetSlug} Create a Burn Alert #
GET /1/burn_alerts/{datasetSlug} List All Burn Alerts for an SLO #
GET /1/burn_alerts/{datasetSlug}/{burnAlertId} Get a Burn Alert #
PUT /1/burn_alerts/{datasetSlug}/{burnAlertId} Update a Burn Alert #
DELETE /1/burn_alerts/{datasetSlug}/{burnAlertId} Delete a Burn Alert #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/honeycomb-io-burn-alerts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

honeycomb-io-burn-alerts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Honeycomb Auth Burn Alerts API
  version: 1.0.0
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    email: support@honeycomb.io
  description: 'The API allows programmatic management of many resources within Honeycomb.


    Please report any discrepancies with actual API behavior in <a href="https://docs.honeycomb.io/troubleshoot/community/">Pollinators Slack</a> or to <a href="https://support.honeycomb.io/">Honeycomb Support</a>.

    '
servers:
- url: https://api.honeycomb.io
- url: https://api.eu1.honeycomb.io
tags:
- name: Burn Alerts
  description: 'This feature is available as part of the [Honeycomb Pro and Enterprise plans](https://www.honeycomb.io/pricing/).


    Burn Alerts notify you when issues impact your SLO budget. Learn more about [Burn Alerts here](https://docs.honeycomb.io/notify/alert/slos/monitor/).


    This API allows you to list, create, update, and delete burn alerts.


    ## Authorization


    The API key must have the **Manage SLOs** permission. Learn more about [API keys here](https://docs.honeycomb.io/configure/environments/manage-api-keys/).

    '
paths:
  /1/burn_alerts/{datasetSlug}:
    parameters:
    - $ref: '#/components/parameters/datasetSlugOrAll'
    post:
      security:
      - configuration_key: []
      summary: Create a Burn Alert
      description: 'Create a Burn Alert against a specified SLO.

        '
      tags:
      - Burn Alerts
      operationId: createBurnAlert
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBurnAlertRequest'
        required: true
      responses:
        '201':
          description: Created
          headers:
            Ratelimit:
              $ref: '#/components/headers/RateLimit'
            RateLimitPolicy:
              $ref: '#/components/headers/RateLimitPolicy'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BurnAlertDetailResponse'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationFailed'
        '429':
          $ref: '#/components/responses/RateLimited'
        default:
          $ref: '#/components/responses/GenericError'
    get:
      security:
      - configuration_key: []
      summary: List All Burn Alerts for an SLO
      description: '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.

        '
      tags:
      - Burn Alerts
      operationId: listBurnAlertsBySlo
      parameters:
      - in: query
        name: slo_id
        schema:
          type: string
        description: For use with the list endpoint to retrieve all burn alerts for a specified SLO.
        required: true
      responses:
        '200':
          description: Success
          headers:
            Ratelimit:
              $ref: '#/components/headers/RateLimit'
            RateLimitPolicy:
              $ref: '#/components/headers/RateLimitPolicy'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BurnAlertListResponse'
                example:
                - id: fS7vfB81Wcy
                  alert_type: exhaustion_time
                  description: Use this runbook (link) if this alert fires.
                  triggered: true
                  exhaustion_minutes: 120
                  slo:
                    id: 2LBq9LckbcA
                  created_at: '2022-09-22T17:32:11Z'
                  updated_at: '2022-10-22T17:32:11Z'
                - id: gT7wgC82Xcz
                  alert_type: budget_rate
                  description: Use this runbook (link) if this alert fires.
                  triggered: true
                  budget_rate_window_minutes: 60
                  budget_rate_decrease_threshold_per_million: 1000
                  slo:
                    id: 2LBq9LckbcA
                  created_at: '2022-09-22T17:32:11Z'
                  updated_at: '2022-10-22T17:32:11Z'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationFailed'
        '429':
          $ref: '#/components/responses/RateLimited'
        default:
          $ref: '#/components/responses/GenericError'
  /1/burn_alerts/{datasetSlug}/{burnAlertId}:
    parameters:
    - $ref: '#/components/parameters/datasetSlugOrAll'
    - name: burnAlertId
      description: The unique identifier (ID) of a Burn Alert.
      in: path
      required: true
      schema:
        type: string
    get:
      security:
      - configuration_key: []
      summary: Get a Burn Alert
      description: 'Get a single Burn Alert by ID.

        '
      tags:
      - Burn Alerts
      operationId: getBurnAlert
      responses:
        '200':
          description: Success
          headers:
            Ratelimit:
              $ref: '#/components/headers/RateLimit'
            RateLimitPolicy:
              $ref: '#/components/headers/RateLimitPolicy'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BurnAlertDetailResponse'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationFailed'
        '429':
          $ref: '#/components/responses/RateLimited'
        default:
          $ref: '#/components/responses/GenericError'
    put:
      security:
      - configuration_key: []
      summary: Update a Burn Alert
      description: 'Update a Burn Alert by specifying its ID and full details.

        '
      tags:
      - Burn Alerts
      operationId: updateBurnAlert
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBurnAlertRequest'
      responses:
        '200':
          description: Success
          headers:
            Ratelimit:
              $ref: '#/components/headers/RateLimit'
            RateLimitPolicy:
              $ref: '#/components/headers/RateLimitPolicy'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BurnAlertDetailResponse'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationFailed'
        '429':
          $ref: '#/components/responses/RateLimited'
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      security:
      - configuration_key: []
      summary: Delete a Burn Alert
      description: Delete a Burn Alert by specifying its ID.
      tags:
      - Burn Alerts
      operationId: deleteBurnAlert
      responses:
        '204':
          description: Success - no content
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        default:
          $ref: '#/components/responses/GenericError'
components:
  schemas:
    Error:
      x-tags:
      - Errors
      type: object
      description: A legacy error, containing only a textual description.
      properties:
        error:
          type: string
          readOnly: true
    ExhaustionTimeBurnAlertListResponse:
      allOf:
      - $ref: '#/components/schemas/ExhaustionTimeBurnAlert'
      - type: object
        properties:
          slo:
            type: object
            description: Details about the SLO associated with the burn alert.
            properties:
              id:
                type: string
                description: Unique identifier (ID) of a SLO.
            example:
              id: 2LBq9LckbcA
    NotificationRecipientDetails:
      type: object
      properties:
        pagerduty_severity:
          description: 'When using a Recipient of `type = "pagerduty"`, the severity of the alert can be specified.

            '
          type: string
          default: critical
          enum:
          - critical
          - error
          - warning
          - info
        variables:
          description: 'When using a Recipient of `type = "webhook"`, the alert-level variables can be specified.

            '
          type: array
          items:
            type: object
            required:
            - name
            properties:
              name:
                type: string
                pattern: ^[a-z](?:[a-zA-Z0-9]+$)?$
                maxLength: 64
                example: severity
              value:
                type: string
                maxLength: 256
                example: warning
    BurnAlertDetailResponse:
      type: object
      required:
      - alert_type
      properties:
        alert_type:
          type: string
      oneOf:
      - $ref: '#/components/schemas/ExhaustionTimeBurnAlertDetailResponse'
      - $ref: '#/components/schemas/BudgetRateBurnAlertDetailResponse'
      discriminator:
        propertyName: alert_type
        mapping:
          exhaustion_time: '#/components/schemas/ExhaustionTimeBurnAlertDetailResponse'
          budget_rate: '#/components/schemas/BudgetRateBurnAlertDetailResponse'
    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
    BurnAlertListResponse:
      type: object
      required:
      - alert_type
      properties:
        alert_type:
          type: string
      oneOf:
      - $ref: '#/components/schemas/ExhaustionTimeBurnAlertListResponse'
      - $ref: '#/components/schemas/BudgetRateBurnAlertListResponse'
      discriminator:
        propertyName: alert_type
        mapping:
          exhaustion_time: '#/components/schemas/ExhaustionTimeBurnAlertListResponse'
          budget_rate: '#/components/schemas/BudgetRateBurnAlertListResponse'
    NotificationRecipient:
      type: object
      properties:
        id:
          type: string
        type:
          deprecated: true
          description: 'One of the allowed Recipient types.

            Deprecated: Use the Recipients API first, then pass the Recipient ID.

            '
          allOf:
          - $ref: '#/components/schemas/RecipientType'
        target:
          type: string
          deprecated: true
          description: 'The target of the notification. For example, the specific Slack channel or email address.

            For Recipients of `type = "webhook"` or `type = "msteams_workflow"`,

            this will be the Name in the UI and `webhook_name` in the Recipients API.

            Deprecated: Use the Recipients API first, then pass the Recipient ID.

            '
        details:
          $ref: '#/components/schemas/NotificationRecipientDetails'
    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.
    CreateBurnAlertRequest:
      type: object
      required:
      - alert_type
      properties:
        alert_type:
          type: string
      oneOf:
      - $ref: '#/components/schemas/CreateExhaustionTimeBurnAlertRequest'
      - $ref: '#/components/schemas/CreateBudgetRateBurnAlertRequest'
      discriminator:
        propertyName: alert_type
        mapping:
          exhaustion_time: '#/components/schemas/CreateExhaustionTimeBurnAlertRequest'
          budget_rate: '#/components/schemas/CreateBudgetRateBurnAlertRequest'
    BudgetRateBurnAlertListResponse:
      title: Budget Rate
      allOf:
      - $ref: '#/components/schemas/BudgetRateBurnAlert'
      - type: object
        properties:
          slo:
            type: object
            description: Details about the SLO associated with the burn alert.
            properties:
              id:
                type: string
                description: Unique identifier (ID) of a SLO.
            example:
              id: 2LBq9LckbcA
    UpdateExhaustionTimeBurnAlertRequest:
      allOf:
      - $ref: '#/components/schemas/ExhaustionTimeBurnAlert'
      - type: object
        required:
        - recipients
        properties:
          recipients:
            type: array
            minItems: 1
            description: 'A list of [Recipients](/api/recipients/) to notify when an alert fires. Using `type`+`target` is deprecated. First, create the Recipient via the Recipients API, and then specify the ID.

              '
            items:
              $ref: '#/components/schemas/NotificationRecipient'
            example:
            - id: abcd123
              type: email
              target: alerts@example.com
    BudgetRateBurnAlertDetailResponse:
      allOf:
      - $ref: '#/components/schemas/BudgetRateBurnAlertListResponse'
      - type: object
        properties:
          recipients:
            type: array
            minItems: 1
            description: 'A list of [Recipients](/api/recipients/) to notify when an alert fires. Using `type`+`target` is deprecated. First, create the Recipient via the Recipients API, and then specify the ID.

              '
            items:
              $ref: '#/components/schemas/NotificationRecipient'
            example:
            - id: abcd123
              type: email
              target: alerts@example.com
    UpdateBudgetRateBurnAlertRequest:
      title: Budget Rate
      allOf:
      - $ref: '#/components/schemas/BudgetRateBurnAlert'
      - type: object
        required:
        - recipients
        properties:
          recipients:
            type: array
            minItems: 1
            description: 'A list of [Recipients](/api/recipients/) to notify when an alert fires. Using `type`+`target` is deprecated. First, create the Recipient via the Recipients API, and then specify the ID.

              '
            items:
              $ref: '#/components/schemas/NotificationRecipient'
            example:
            - id: abcd123
              type: email
              target: alerts@example.com
    BurnAlertSharedParams:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier (ID) of a Burn alert.
          readOnly: true
          example: fS7vfB81Wcy
        description:
          type: string
          description: A description of the Burn Alert.
          maxLength: 1023
          example: Use this runbook if this alert fires.
        triggered:
          type: boolean
          description: 'Indicates if the Burn Alert has been triggered. This field is read-only and is set to `true` when the alert is triggered.

            '
          readOnly: true
          example: false
        created_at:
          type: string
          format: date-time
          description: The ISO8601-formatted time when the Burn Alert was created.
          readOnly: true
          example: '2022-09-22T17:32:11Z'
        updated_at:
          type: string
          format: date-time
          description: The ISO8601-formatted time when the Burn Alert was updated.
          readOnly: true
          example: '2022-10-31T15:08:11Z'
        auto_investigate:
          x-internal: true
          type: boolean
          description: 'When true, Honeycomb will automatically start an investigation when this Burn Alert fires.

            '
          default: false
          example: false
    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
    CreateExhaustionTimeBurnAlertRequest:
      allOf:
      - $ref: '#/components/schemas/ExhaustionTimeBurnAlert'
      - type: object
        required:
        - slo
        - recipients
        properties:
          slo:
            type: object
            description: Details about the SLO associated with the burn alert.
            required:
            - id
            properties:
              id:
                type: string
                description: Unique identifier (ID) of a SLO.
            example:
              id: 2LBq9LckbcA
          recipients:
            type: array
            minItems: 1
            description: 'A list of [Recipients](/api/recipients/) to notify when an alert fires. Using `type`+`target` is deprecated. First, create the Recipient via the Recipients API, and then specify the ID.

              '
            items:
              $ref: '#/components/schemas/NotificationRecipient'
            example:
            - id: abcd123
              type: email
              target: alerts@example.com
    UpdateBurnAlertRequest:
      type: object
      required:
      - alert_type
      properties:
        alert_type:
          type: string
      oneOf:
      - $ref: '#/components/schemas/UpdateExhaustionTimeBurnAlertRequest'
      - $ref: '#/components/schemas/UpdateBudgetRateBurnAlertRequest'
      discriminator:
        propertyName: alert_type
        mapping:
          exhaustion_time: '#/components/schemas/UpdateExhaustionTimeBurnAlertRequest'
          budget_rate: '#/components/schemas/UpdateBudgetRateBurnAlertRequest'
    RecipientType:
      type: string
      description: One of the supported Recipient Types
      enum:
      - pagerduty
      - email
      - slack
      - webhook
      - msteams
      - msteams_workflow
    ExhaustionTimeBurnAlert:
      title: Exhaustion Time
      allOf:
      - $ref: '#/components/schemas/BurnAlertSharedParams'
      - type: object
        required:
        - exhaustion_minutes
        properties:
          alert_type:
            type: string
            description: 'One of the supported alert types:

              1. `exhaustion_time`: Notifies when you are about to run out of SLO budget within a specified number of hours.

              1. `budget_rate`: Notifies when budget drops by at least a specified percentage within a defined time window.

              '
            default: exhaustion_time
            enum:
            - exhaustion_time
            - budget_rate
            example: exhaustion_time
          exhaustion_minutes:
            type: integer
            minimum: 0
            description: 'Required when `alert_type` is `exhaustion_time`.


              Must not be specified when `alert_type` is `budget_rate`.


              Amount of time (in minutes) left until your projected SLO budget is exhausted.

              The alert will fire when this exhaustion threshold is reached.

              '
            example: 120
    CreateBudgetRateBurnAlertRequest:
      allOf:
      - $ref: '#/components/schemas/BudgetRateBurnAlert'
      - type: object
        required:
        - slo
        - recipients
        properties:
          slo:
            type: object
            description: Details about the SLO associated with the burn alert.
            required:
            - id
            properties:
              id:
                type: string
                description: Unique identifier (ID) of a SLO.
            example:
              id: 2LBq9LckbcA
          recipients:
            type: array
            minItems: 1
            description: 'A list of [Recipients](/api/recipients/) to notify when an alert fires. Using `type`+`target` is deprecated. First, create the Recipient via the Recipients API, and then specify the ID.

              '
            items:
              $ref: '#/components/schemas/NotificationRecipient'
            example:
            - id: abcd123
              type: email
              target: alerts@example.com
    BudgetRateBurnAlert:
      title: Budget Rate
      allOf:
      - $ref: '#/components/schemas/BurnAlertSharedParams'
      - type: object
        required:
        - alert_type
        - budget_rate_window_minutes
        - budget_rate_decrease_threshold_per_million
        properties:
          alert_type:
            type: string
            description: 'One of the supported alert types:

              1. `exhaustion_time`: Notifies when you are about to run out of SLO budget within a specified number of hours.

              1. `budget_rate`: Notifies when budget drops by at least a specified percentage within a defined time window.

              '
            default: exhaustion_time
            enum:
            - exhaustion_time
            - budget_rate
            example: budget_rate
          budget_rate_window_minutes:
            type: integer
            minimum: 60
            description: 'Required when `alert_type` is `budget_rate`.


              Must not be specified when `alert_type` is `exhaustion_time`.


              Time period (in minutes) over which a budget rate will be calculated.


              Must be no greater than the associated SLO''s time period.

              '
            example: 120
          budget_rate_decrease_threshold_per_million:
            type: integer
            minimum: 1
            maximum: 1000000
            description: 'Required when `alert_type` is `budget_rate`.


              Must not be specified when `alert_type` is `exhaustion_time`.


              The percent the budget has decreased over the budget rate window, represented as a value out of one million.

              The alert will fire when this budget decrease threshold is reached.


              See the table below for some example conversions from desired budget decrease percent to the representation as a value out of one million

              | Desired percent | Value per million |

              |-----------------|-------------------|

              | 0.001%          | 1                 |

              | 1%              | 10,000            |

              | 5%              | 50,000            |

              | 99.99%          | 999,900           |

              '
            example: 1000
    ExhaustionTimeBurnAlertDetailResponse:
      title: Exhaustion Time
      allOf:
      - $ref: '#/components/schemas/ExhaustionTimeBurnAlertListResponse'
      - type: object
        properties:
          recipients:
            type: array
            minItems: 1
            description: 'A list of [Recipients](/api/recipients/) to notify when an alert fires. Using `type`+`target` is deprecated. First, create the Recipient via the Recipients API, and then specify the ID.

              '
            items:
              $ref: '#/components/schemas/NotificationRecipient'
            example:
            - id: abcd123
              type: email
              target: alerts@example.com
  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
    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
    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
  parameters:
    datasetSlugOrAll:
      name: datasetSlug
      description: 'The dataset slug or use `__all__` for endpoints that support environment-wide operations.

        '
      in: path
      required: true
      schema:
        type: string
  responses:
    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'
    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'
    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.
    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'
    GenericError:
      description: Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
externalDocs:
  url: https://docs.honeycomb.io