Skip to main content
Signals are the raw alert events that flow into Scrubbe from monitoring tools, APM platforms, and custom integrations. The Signals API lets you ingest signals programmatically — one at a time or in bulk — query their current state, and drive lifecycle transitions: acknowledge, resolve, or suppress. Scrubbe’s intelligence layer continuously correlates open signals to surface incidents and reduce alert noise, so the quality of your signal data directly affects the accuracy of incident detection.
All endpoints require Authorization: Bearer <token>. For external monitoring systems sending signals via server-to-server calls, you may also use X-API-Key: <key> instead of a Bearer token.
Base path: https://your-api-domain.com/api/v1/signals

List signals

Returns a paginated list of signals ordered by received time descending. Filter by severity, status, or source to narrow results for dashboards and alert queues. GET https://your-api-domain.com/api/v1/signals
number
default:"1"
Page number.
number
default:"20"
Items per page (max 100).
string
Filter by status: OPEN, ACKNOWLEDGED, RESOLVED, or SUPPRESSED.
string
Filter by severity: LOW, MEDIUM, or HIGH.
string
Filter by signal source (e.g. "prometheus", "datadog").
object[]
Array of signal objects.
number
Current page number.
number
Total matching signal count.

Get signal stats

Returns aggregate counts and trend data for signals in the workspace — total received, status breakdown, and top alerting sources. GET https://your-api-domain.com/api/v1/signals/stats
cURL
number
Total signal count.
number
Signals currently in OPEN state.
number
Signals in ACKNOWLEDGED state.
number
Signals in RESOLVED state.
number
Signals in SUPPRESSED state.
object[]
Top alerting sources by volume.

Get a signal

Fetch a single signal by its ID, including its current status and all attached metadata. GET https://your-api-domain.com/api/v1/signals/:id
string
required
The signal ID.

Ingest a signal

Ingest a single alert signal into Scrubbe. Scrubbe immediately evaluates it against open signals and active correlation rules. POST https://your-api-domain.com/api/v1/signals
string
required
Short description of the alert condition (e.g. "High error rate on /api/checkout").
string
required
The originating system (e.g. "prometheus", "datadog", "custom").
string
Signal type or category, as defined by the source system.
string
required
Severity level: LOW, MEDIUM, or HIGH.
string
Identifier of the affected service in Scrubbe.
number
The metric value that triggered the alert (e.g. 0.23 for a 23% error rate).
object
Arbitrary key-value metadata from the source system (labels, tags, dimensions).
string
ISO 8601 timestamp when the alert fired in the source system. Defaults to the time of ingestion.
string
required
Unique signal identifier.
string
required
Initial status — always OPEN.
string
required
ISO 8601 ingestion timestamp.

Bulk ingest signals

Ingest multiple signals in a single request. Use this for batch ingestion from polling integrations or replay scenarios. Each signal is validated independently; partial failures are reported per item. POST https://your-api-domain.com/api/v1/signals/bulk
object[]
required
Array of signal objects. Each follows the same schema as POST /.
Bulk ingestion is limited to 100 signals per request.
number
Count of signals successfully ingested.
number
Count of signals that failed validation.
object[]
Per-item results in input array order.

Acknowledge a signal

Mark a signal as acknowledged to indicate an engineer is aware of it and investigating. Transitions the signal from OPEN to ACKNOWLEDGED. PATCH https://your-api-domain.com/api/v1/signals/:id/acknowledge
string
required
The signal ID.
string
Optional note to record alongside the acknowledgement, such as a ticket reference or on-call engineer name.

Resolve a signal

Mark a signal as resolved. If the signal was linked to an incident, the incident is not automatically resolved — resolve it separately via the Incidents API. PATCH https://your-api-domain.com/api/v1/signals/:id/resolve
string
required
The signal ID.
string
Optional resolution note describing how the condition was cleared.
cURL

Suppress a signal

Suppress a signal so it no longer contributes to incident correlation or on-call notifications. Useful during known maintenance windows or for muting known-flapping alerts. PATCH https://your-api-domain.com/api/v1/signals/:id/suppress
string
required
The signal ID.
string
Optional reason for suppression (e.g. "maintenance window", "known flap").
Use suppression rather than deletion to preserve signal history for noise analysis and alert tuning.
cURL

Signal field reference