Incidents

Receive Grafana alerting webhooks

POST/v1/integrations/grafana/{configurationId}/{escalationPolicyId}/{sourceId}requires incidents:ingest

Accepts Grafana's webhook contact point payload with at most 20 alerts and no truncation, and applies the same per-fingerprint episode ordering as the Alertmanager integration. Requires both incidents:ingest and incidents:write. Keep sourceId stable for each Grafana instance. Body limit 256 KiB. See /docs/incident-grafana.

Requestcurl -X POST https://api.transmit.dev/v1/integrations/grafana/{configurationId}/{escalationPolicyId}/{sourceId} \
  -H "Authorization: Bearer tr_v2_…" \
  -H "Content-Type: application/json" \
  -d '{
       "version": "1",
       "truncatedAlerts": 0,
       "alerts": [
         {
           "status": "firing",
           "fingerprint": "0011223344556677",
           "startsAt": "2026-10-21T00:00:00Z",
           "endsAt": "0001-01-01T00:00:00Z",
           "labels": {
             "alertname": "DatabaseDown",
             "severity": "critical"
           },
           "annotations": {
             "summary": "Database unavailable"
           }
         }
       ]
     }'

Parameters

NameInNotes
configurationId requiredpathRouting resource UUID in the API key's workspace.
escalationPolicyId requiredpathRouting resource UUID in the API key's workspace.
sourceId requiredpathStable UUID identifying one Grafana instance.

Body

FieldTypeNotes
versionstringat most 16 characters
truncatedAlertsinteger0–9007199254740991. defaults to 0
alerts requiredobject[]at most 20

Responses

StatusMeaning
200Committed batch with source-ordering results
401The API key is missing, malformed, expired or revoked
403The API key lacks the incidents:ingest scope
404Routing resources are outside this workspace
413Body exceeds 256 KiB
415Use application/json
422Invalid, truncated or excessive batch, or invalid episode times

Every response body is described in the OpenAPI spec, which this page is generated from.