On-call integrations
Opsgenie-compatible alert API
Move an alert source off Opsgenie by changing its URL and key. The request body stays the same.
Start with a test incident API key. Test incidents never call an email, SMS, voice or chat provider.
Point the source at Transmit
- Create an incident API key with
incidents:ingestandincidents:write. Send it asAuthorization: GenieKey, as Opsgenie clients already do, or as a Bearer key. - Copy the URL for the escalation policy from its on-call configuration page. The configuration and policy in the path decide who is paged; Opsgenie responders, teams and visibility fields in the body are ignored.
- Replace the Opsgenie API URL in the source. In Grafana's Opsgenie contact point this is Alert API URL. In Alertmanager's
opsgenie_configs, setapi_urlto the same URL without the finalv2/alerts, keeping the trailing slash.
curl -X POST https://api.transmit.dev/v1/integrations/opsgenie/00000000-0000-4000-8000-000000000001/00000000-0000-4000-8000-000000000002/v2/alerts \
-H "Authorization: GenieKey $TRANSMIT_INCIDENT_KEY" \
-H "Content-Type: application/json" \
-d '{"message":"Database unavailable","alias":"database-primary","priority":"P1"}'What is supported
- Create:
messagebecomes the title,descriptionthe body.priorityP1 is critical, P2 high, P3 medium, P4 and P5 low; the default is P3. - Deduplicate: repeats with the same
aliasjoin the active incident. Without an alias, identical messages share one incident. - Close and acknowledge:
POSTtov2/alerts/ALIAS/close?identifierType=aliasor/acknowledge. Closing resolves the incident and cancels pending escalation. OnlyidentifierType=aliasis supported.
Responses use Opsgenie's shape and status 202, and add incident_id on create. Alert notes, tags, attachments, heartbeats and the read APIs are not implemented. Tools that only let you choose an Opsgenie region, without a custom URL, cannot be repointed this way; use their webhook option instead.