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.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 fromOPEN 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").cURL