Create an alert with the Opsgenie Alert API
POST/v1/integrations/opsgenie/{configurationId}/{escalationPolicyId}/v2/alertsrequires incidents:ingest
Opsgenie-compatible create-alert endpoint. Point any tool that can send to a custom Opsgenie API URL here, and authenticate with either Authorization: GenieKey <transmit key> or a Bearer key. message becomes the title; alias groups repeats into one active incident (identical messages share one when alias is absent); priority P1–P5 maps to critical, high, medium, low and low (default P3). Other Opsgenie fields are accepted and ignored: routing comes from the path and the key. No Idempotency-Key is needed; a retried request joins the active incident. Body limit 64 KiB. See /docs/incident-opsgenie.
Requestcurl -X POST https://api.transmit.dev/v1/integrations/opsgenie/{configurationId}/{escalationPolicyId}/v2/alerts \
-H "Authorization: Bearer tr_v2_…" \
-H "Content-Type: application/json" \
-d '{
"message": "Database unavailable",
"alias": "database-primary",
"description": "Primary is refusing connections.",
"priority": "P1"
}'Parameters
| Name | In | Notes |
|---|---|---|
configurationId required | path | Routing resource UUID in the API key's workspace. |
escalationPolicyId required | path | Routing resource UUID in the API key's workspace. |
Body
| Field | Type | Notes |
|---|---|---|
message required | string | 1–1000 characters |
alias | string | 1–512 characters |
description | string | at most 15000 characters |
priority | "P1" | "P2" | "P3" | "P4" | "P5" |
Responses
| Status | Meaning |
|---|---|
202 | Alert committed |
401 | The API key is missing, malformed, expired or revoked |
403 | The API key lacks the incidents:ingest scope |
404 | Routing resources are outside this workspace |
413 | Body exceeds 64 KiB |
415 | Use application/json |
422 | Invalid alert |
Every response body is described in the OpenAPI spec, which this page is generated from.