Signal fields
When you ingest a signal, you provide the following fields:Ingesting a single signal
Bulk ingestion
When you need to forward a batch of signals from a monitoring system or replay historical events, use the bulk endpoint. Send an array of signal objects under thesignals key:
Signal lifecycle
A signal moves through four states from ingestion to closure:1
OPEN (active)
A newly ingested signal enters an active state. It is visible in the signal list and is available for correlation by Ezra. SLA and alerting rules evaluate active signals.
2
ACKNOWLEDGED
A team member has reviewed the signal and is aware of it. Acknowledging a signal suppresses repeat notifications but keeps the signal in scope for Ezra’s correlation.
3
RESOLVED
The condition that produced the signal has cleared. Resolving a signal records a
resolvedAt timestamp.You cannot resolve a signal that has already been resolved.
4
SUPPRESSED
The signal is known and expected — no further action or correlation is needed. Suppressed signals are excluded from Ezra’s active pipeline.
Filtering signals
GET /api/v1/signals accepts query parameters to narrow results:
Signal stats
GET /api/v1/signals/stats returns a summary of signal activity for your organization:
How signals become incidents
When Ezra receives a signal, it runs a four-stage reasoning pipeline: it assesses the situation, hypothesizes a root cause by correlating related signals and recent deployments, estimates blast radius, and selects a remediation option. If a matching playbook exists and guardrails allow, Scrubbe can promote the signal to an incident ticket automatically. If no playbook matches, the signal is promoted to anOPEN incident for your on-call team to handle.
The correlated signal IDs appear on the resulting incident ticket in the correlatedSignalIds field, giving you a full trace from raw event to incident.