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.