OpsGenie

ZapaPUSH accepts OpsGenie's Alert API for creating, acknowledging and closing alerts. A tool built for OpsGenie switches by changing the base URL and the key. OpsGenie is being retired by Atlassian, so now is a good time.

Switch a tool over

OpsGenie ZapaPUSH
Base URL https://api.opsgenie.com (or api.eu.opsgenie.com) https://api.zapapush.com
Header Authorization: GenieKey <OpsGenie key> Authorization: GenieKey <ZapaPUSH key>

The paths stay the same (/v2/alerts, and so on). https://api.zapapush.com/integrations/opsgenie/v2/alerts works too.

curl -H 'Content-Type: application/json' -H 'Authorization: GenieKey YOUR_KEY' \
  https://api.zapapush.com/v2/alerts -d '{
  "message": "Disk full on db-1",
  "alias": "db-1-disk",
  "description": "/var is 95% used",
  "priority": "P1",
  "tags": ["db", "prod"],
  "details": {"used": "95%"}
}'

Supported calls

Call In ZapaPUSH
POST /v2/alerts Creates the alert and buzzes your phone. The same alias again updates it; if it's acked, silently.
POST /v2/alerts/<alias>/acknowledge?identifierType=alias Acks it, silently.
POST /v2/alerts/<alias>/close?identifierType=alias Closes it, silently.
  • The title is [priority] message when you set a priority, for example [P1] Disk full on db-1.
  • The description is your description, then entity, source and tags, each details field and the note.
  • Without an alias, the message is the alias, so the same message updates the same alert.
  • identifierType=id (OpsGenie's default) or tiny with a number closes or acks that ZapaPUSH alert. Any other identifier is treated as an alias.

Responses match OpsGenie's: 202 with {"result": "Request will be processed", "took": 0.01, "requestId": "..."}. Errors are {"message": "...", "took": 0, "requestId": "..."} with 422 for a bad request or 401 for an unknown key.

Move everything over

In OpsGenie, open Settings → Integrations (or each team's integrations) and note what sends alerts: the API integration (most tools), email integrations, heartbeats, and built-in ones (Prometheus, Grafana, CloudWatch, Azure and so on). Then switch each one:

OpsGenie integration In ZapaPUSH
API integration (any tool) Base URL https://api.zapapush.com, header Authorization: GenieKey <your ZapaPUSH key>, as above.
Email integration Your email to alert address.
Heartbeats ZapaPUSH heartbeats: ping /heartbeat/<name>?every=10m instead of /v2/heartbeats/<name>/ping.
Prometheus / Alertmanager The native Alertmanager receiver (opsgenie_configs → webhook_configs).
Grafana The Grafana webhook contact point.
AWS CloudWatch, Azure, Google Cloud Their webhooks: Cloud.
Maintenance policies, alert snooze Maintenance windows and snooze.

Run both side by side for a few days before removing OpsGenie.

What's different

OpsGenie In ZapaPUSH
Teams A group, with its own key. One group on Personal, unlimited on Business.
On-call schedules, escalation policies Business plan: on-call shifts in each group, then push, phone call and the next person.
Phone calls Business plan, as an escalation step (Phone calls).
SMS Not yet.
Routing rules, alert policies Not yet. Every alert goes to the key's group.
responders, visibleTo, actions Ignored.
Notes, list/get alerts, request status, other endpoints Not yet: those calls answer 404.

Switch offer

Teams moving from OpsGenie get 50% off the first year of a yearly Business plan (paid in advance, no refunds) with the code SWITCH50.

Limits

Each call counts as one post towards the 60-per-minute limit.