Honeycomb Markers API

The Honeycomb Markers API enables developers to create and manage markers that indicate points in time on graphs where notable events occurred, such as deploys, configuration changes, or outages. Marker Settings allow grouping similar markers together with consistent visual styling. The API supports listing, creating, updating, and deleting both markers and marker settings, making it straightforward to integrate deployment pipelines and incident workflows with Honeycomb visualizations.

Business capability
Observability Management BC-4220.20

Operations 4

GET /1/markers/{datasetSlug} List all markers #
POST /1/markers/{datasetSlug} Create a marker #
PUT /1/markers/{datasetSlug}/{markerId} Update a marker #
DELETE /1/markers/{datasetSlug}/{markerId} Delete a marker #

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:markers-api"
All apis
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.

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-markers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Honeycomb Markers API
  version: '1.0'
  description: 'Operations tagged Markers 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: Markers
  description: Manage markers that indicate points in time on graphs where notable events occurred such as deploys or outages.
paths:
  /1/markers/{datasetSlug}:
    get:
      operationId: listMarkers
      summary: List all markers
      description: Returns a list of all markers for the specified dataset.
      tags:
      - Markers
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      responses:
        '200':
          description: A list of markers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Marker'
        '401':
          description: Unauthorized
      security:
      - ApiKeyAuth: []
    post:
      operationId: createMarker
      summary: Create a marker
      description: Creates a new marker on the specified dataset to indicate a point in time where a notable event occurred.
      tags:
      - Markers
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarkerCreateRequest'
      responses:
        '201':
          description: Marker created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Marker'
        '401':
          description: Unauthorized
      security:
      - ApiKeyAuth: []
    parameters:
    - $ref: '#/components/parameters/datasetSlugOrAll'
    servers:
    - url: https://api.honeycomb.io
      description: Honeycomb Production API
  /1/markers/{datasetSlug}/{markerId}:
    put:
      operationId: updateMarker
      summary: Update a marker
      description: Updates a marker's properties.
      tags:
      - Markers
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      - $ref: '#/components/parameters/markerId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarkerUpdateRequest'
      responses:
        '200':
          description: Marker updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Marker'
        '401':
          description: Unauthorized
        '404':
          description: Marker not found
      security:
      - ApiKeyAuth: []
    delete:
      operationId: deleteMarker
      summary: Delete a marker
      description: Deletes a marker from the specified dataset.
      tags:
      - Markers
      parameters:
      - $ref: '#/components/parameters/datasetSlug'
      - $ref: '#/components/parameters/markerId'
      responses:
        '204':
          description: Marker deleted
        '401':
          description: Unauthorized
        '404':
          description: Marker not found
      security:
      - ApiKeyAuth: []
    parameters:
    - $ref: '#/components/parameters/datasetSlugOrAll'
    - name: markerId
      description: The unique identifier (ID) of a Marker.
      in: path
      required: true
      schema:
        type: string
    servers:
    - url: https://api.honeycomb.io
      description: Honeycomb Production API
components:
  schemas:
    MarkerCreateRequest:
      type: object
      properties:
        start_time:
          type: integer
          description: Unix timestamp in seconds for the marker start. Defaults to current time if not provided.
        end_time:
          type: integer
          description: Unix timestamp in seconds for the marker end.
        message:
          type: string
          description: A message describing the marker event.
        type:
          type: string
          description: The type of the marker, used to group related markers.
        url:
          type: string
          format: uri
          description: A URL associated with the marker event.
    MarkerUpdateRequest:
      type: object
      properties:
        start_time:
          type: integer
          description: Updated Unix timestamp in seconds for the marker start.
        end_time:
          type: integer
          description: Updated Unix timestamp in seconds for the marker end.
        message:
          type: string
          description: An updated message describing the marker event.
        type:
          type: string
          description: An updated type for the marker.
        url:
          type: string
          format: uri
          description: An updated URL associated with the marker event.
    Marker:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the marker.
        start_time:
          type: integer
          description: Unix timestamp in seconds for when the marker starts.
        end_time:
          type: integer
          description: Unix timestamp in seconds for when the marker ends. If omitted, the marker represents a single point in time.
        message:
          type: string
          description: A message describing the marker event.
        type:
          type: string
          description: The type of the marker, used to group related markers.
        url:
          type: string
          format: uri
          description: A URL associated with the marker event.
        created_at:
          type: string
          format: date-time
          description: ISO8601 formatted time the marker was created.
        updated_at:
          type: string
          format: date-time
          description: ISO8601 formatted time the marker was last updated.
    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.
    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
    Marker_2:
      type: object
      properties:
        start_time:
          type: integer
          description: Indicates the time the Marker should be placed. If missing, defaults to the time the request arrives. Expressed in Unix Time.
          example: 1471040808
        end_time:
          type: integer
          description: Specifies end time, and allows a Marker to be recorded as representing a time range, such as a 5 minute deploy. Expressed in Unix Time.
          example: 1668453920
        message:
          type: string
          description: A message to describe this specific Marker.
          example: 'backend deploy #123'
        type:
          type: string
          description: Groups similar Markers. For example, `deploys`. All Markers of the same type appear with the same color on the graph. Refer to the [Marker Settings](/api/marker-settings/) API for altering the color of each type.
          example: deploy
        url:
          type: string
          description: A target for the marker. Clicking the marker text will take you to this URL.
          example: http://link-to-build.here
        id:
          type: string
          description: A 6 character hexadecimal string assigned on Marker creation.
          readOnly: true
        created_at:
          type: string
          description: The ISO8601-formatted time when the Marker was created.
          readOnly: true
        updated_at:
          type: string
          description: The ISO8601-formatted time when the Marker was updated.
          readOnly: true
        color:
          type: string
          description: Color can be assigned to Markers using the Marker Settings endpoint. This field will be populated when List All Markers is called.
          readOnly: true
    Error:
      x-tags:
      - Errors
      type: object
      description: A legacy error, containing only a textual description.
      properties:
        error:
          type: string
          readOnly: true
  parameters:
    datasetSlug:
      name: datasetSlug
      in: path
      required: true
      description: The slug identifier for the dataset. Dataset names are case insensitive.
      schema:
        type: string
    markerId:
      name: markerId
      in: path
      required: true
      description: The unique identifier for the marker.
      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
  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'
    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'
    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