Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.warrn.io/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Warrn implements the OpsGenie Alert API v2. If you’re migrating from OpsGenie, update two things:
  1. Base URL: https://api.opsgenie.comhttps://api.warrn.io
  2. Auth header: Authorization: GenieKey xxxAuthorization: Bearer warrn_xxx
Everything else — request format, field names, query parameters — stays the same.

Supported Endpoints

EndpointMethodPath
Create alertPOST/v2/alerts
Close alertPOST/v2/alerts/{identifier}/close
Acknowledge alertPOST/v2/alerts/{identifier}/acknowledge
Get alertGET/v2/alerts/{identifier}
List alertsGET/v2/alerts
Delete alertDELETE/v2/alerts/{identifier}
Add tagsPOST/v2/alerts/{identifier}/tags
Add notePOST/v2/alerts/{identifier}/notes

Field Mapping

When you send OpsGenie-formatted requests, Warrn maps fields automatically:
OpsGenie FieldWarrn FieldNotes
messagenameTruncated to 255 chars
descriptiondescription
priority (P1-P5)severityP1→critical, P2→high, P3→medium, P4/P5→low
aliasalert_aliasUsed for deduplication and lookup
tagstags
detailsmetadata
entityservice (resolved by name)Warrn looks up the service by name match
respondersteam (resolved by name)First team-type responder is matched
sourcestored in metadata
userstored in metadata
notestored in metadata

Identifier Types

All endpoints that operate on a single alert accept an identifierType query parameter:
ValueBehavior
id (default)Look up by Warrn alert UUID
aliasLook up by alert_alias field
tinyLook up by first 8 characters of the UUID

What’s Not Supported

These OpsGenie features are not implemented:
  • Alert count (grouping duplicate alerts into a count is handled via deduplication instead)
  • Snooze / unsnooze
  • Assign / unassign owner
  • Custom actions
  • Escalate to next
  • Saved searches
  • Schedules and rotations (Warrn has its own on-call system)
  • Heartbeats via this endpoint (Warrn has a separate heartbeat system)

Migration Example

Before (OpsGenie):
curl -X POST "https://api.opsgenie.com/v2/alerts" \
  -H "Content-Type: application/json" \
  -H "Authorization: GenieKey eb243592-faa2-4ba2-a551q-1afdf565c889" \
  -d '{
    "message": "Disk usage above 90%",
    "alias": "disk-usage-web-01",
    "priority": "P2"
  }'
After (Warrn):
curl -X POST "https://api.warrn.io/v2/alerts" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer warrn_k8sM2vL9xQ7nP4wR..." \
  -d '{
    "message": "Disk usage above 90%",
    "alias": "disk-usage-web-01",
    "priority": "P2"
  }'
Same payload, different URL and auth header.