External alerts
Already using Datadog, Grafana, Prometheus Alertmanager or similar? Push those alerts straight into Pulse so an incident opens (and resolves) automatically on your status page.
Endpoint
Send an authenticated POST to your organization's ingest endpoint:
POST /<org>/api/ingest/incident
Authenticate with an API key.
Request body
{
"title": "High error rate on Checkout API",
"status": "firing",
"severity": "major",
"source": "Alertmanager"
}
| Field | Values | Description |
|---|---|---|
title |
string | Incident title. Used to correlate firing/resolved for the same alert. |
status |
firing | resolved |
resolved, ok and up all close the incident. |
severity |
minor | major | critical |
Maps to incident impact. Defaults to major. |
source |
string | Optional label for where the alert came from. |
Behaviour
- Firing opens a new incident — or, if one with the same title is already open, dedupes (no duplicate).
- Resolved closes the matching open incident and adds a resolution note.
Example
curl -X POST "https://pulse.servilo.in/acme/api/ingest/incident" \
-H "Authorization: Bearer $PULSE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"High error rate on Checkout API","status":"firing","severity":"major","source":"Alertmanager"}'
Tip
Use a stable title for each alert so firing and resolved correlate correctly. Alertmanager's
{{ .CommonLabels.alertname }} works well as the title.