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:
- Base URL:
https://api.opsgenie.com → https://api.warrn.io
- Auth header:
Authorization: GenieKey xxx → Authorization: Bearer warrn_xxx
Everything else — request format, field names, query parameters — stays the same.
Supported Endpoints
| Endpoint | Method | Path |
|---|
| Create alert | POST | /v2/alerts |
| Close alert | POST | /v2/alerts/{identifier}/close |
| Acknowledge alert | POST | /v2/alerts/{identifier}/acknowledge |
| Get alert | GET | /v2/alerts/{identifier} |
| List alerts | GET | /v2/alerts |
| Delete alert | DELETE | /v2/alerts/{identifier} |
| Add tags | POST | /v2/alerts/{identifier}/tags |
| Add note | POST | /v2/alerts/{identifier}/notes |
Field Mapping
When you send OpsGenie-formatted requests, Warrn maps fields automatically:
| OpsGenie Field | Warrn Field | Notes |
|---|
message | name | Truncated to 255 chars |
description | description | |
priority (P1-P5) | severity | P1→critical, P2→high, P3→medium, P4/P5→low |
alias | alert_alias | Used for deduplication and lookup |
tags | tags | |
details | metadata | |
entity | service (resolved by name) | Warrn looks up the service by name match |
responders | team (resolved by name) | First team-type responder is matched |
source | stored in metadata | |
user | stored in metadata | |
note | stored in metadata | |
Identifier Types
All endpoints that operate on a single alert accept an identifierType query parameter:
| Value | Behavior |
|---|
id (default) | Look up by Warrn alert UUID |
alias | Look up by alert_alias field |
tiny | Look 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.