Anomaly Detection

Update a Signal

Changed on

Update a Signal by ID. All fields in the body are optional; only the fields you supply are applied.

  • enabled: Toggles the Signal on or off. Re-enabling a Signal that has already trained puts it back into normal; otherwise it returns to onboarding.
  • sensitivity: Sets how far a measurement must deviate from the trained normal band before the Signal fires. Not applicable to presence Signals, and cannot be set on a Signal that has not yet trained.
  • recipients: Replaces the Signal's Recipient set. An empty array clears all Recipients. Modifying Recipients requires the Manage Recipients permission in addition to Manage Signals.
put/1/signals/{signalId}

Request

  • Base URL
    https://api.honeycomb.io
  • URL
    https://api.honeycomb.io/1/signals/{signalId}
  • Auth
    API key in header X-Honeycomb-Team

Request body

enabledboolean

Turn the Signal on (true) or off (false).

sensitivity'low' | 'medium' | 'high'

How far a measurement must deviate from the trained normal band before the Signal fires.

Higher sensitivity narrows the normal band and catches smaller deviations. sensitivity is always null for presence Signals.

Example request

{
  "enabled": true,
  "sensitivity": "medium",
  "recipients": [
    {
      "id": "hcar_01jak3ymk8s5cpc2xz3q7d8v9r",
      "details": {
        "pagerduty_severity": "critical"
      }
    }
  ]
}

Response

Success

idstring required

Unique identifier (ID) of the Signal.

service_namestring required

The name of the service the Signal monitors.

dataset_slugstring required

The slug of the dataset the Signal's service reports to.

environment_slugstring required

The slug of the environment the Signal belongs to.

measured_signal'error_rate' | 'presence' required

The kind of measurement the Signal is trained on.

  • error_rate: The fraction of erroring requests for the service.
  • presence: Whether the service is producing spans.
enabledboolean required

Whether the Signal is currently enabled. Disabled Signals do not fire.

status'onboarding' | 'normal' | 'anomalous' | 'off' | 'ineligible' required

The lifecycle status of the Signal.

ineligible is returned when the underlying service does not meet the conditions required for training.

sensitivity'low' | 'medium' | 'high' required

How far a measurement must deviate from the trained normal band before the Signal fires.

Higher sensitivity narrows the normal band and catches smaller deviations. sensitivity is always null for presence Signals.

auto_investigateboolean required

When true, Honeycomb will automatically start an investigation when this Signal fires.

currently_anomalousboolean required

Whether the Signal is currently in an anomalous state.

last_anomaly_started_atinteger nullable required

The start time of the most recent anomaly, in seconds since UNIX epoch. null when the Signal has never been anomalous.

last_anomaly_ended_atinteger nullable required

The end time of the most recent anomaly, in seconds since UNIX epoch. null when no anomaly has ended yet, or the Signal is currently anomalous.

created_atstring date-time required

The ISO8601-formatted time when the Signal was created.

updated_atstring date-time required

The ISO8601-formatted time when the Signal was last updated.

Example response

{
  "id": "hcasp_01j9x1yq0k2t8m9n3v4b5r6c7d",
  "service_name": "checkout-api",
  "dataset_slug": "checkout-api",
  "environment_slug": "production",
  "measured_signal": "error_rate",
  "enabled": true,
  "status": "normal",
  "sensitivity": "medium",
  "last_anomaly_started_at": 1741089600,
  "last_anomaly_ended_at": 1741093200,
  "created_at": "2025-02-14T17:32:11Z",
  "updated_at": "2025-03-01T10:04:22Z",
  "recipients": [
    {
      "id": "hcar_01jak3ymk8s5cpc2xz3q7d8v9r",
      "type": "pagerduty",
      "details": {
        "pagerduty_severity": "critical",
        "muted": false
      }
    }
  ]
}

Changes