Skip to main content
POST
/
alerts
/
Create Alert
curl --request POST \
  --url https://api.warrn.io/alerts/ \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "High error rate on checkout-service",
  "description": "Error rate exceeded 5% threshold for the past 3 minutes.",
  "severity": "high",
  "team_id": "f1e2d3c4-b5a6-7890-1234-567890abcdef",
  "service_id": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
  "tags": [
    "checkout",
    "production",
    "error-rate"
  ],
  "metadata": {
    "error_rate": "7.2%",
    "threshold": "5%"
  }
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "description": "<string>",
  "source": "integration",
  "service_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "service_name": "<string>",
  "team_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "team_name": "<string>",
  "tags": [
    "<string>"
  ],
  "metadata": {},
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "acknowledged_at": "2023-11-07T05:31:56Z",
  "resolved_at": "2023-11-07T05:31:56Z",
  "alert_alias": "<string>",
  "occurrence_count": 123
}
Create an alert and route it through Warrn’s triage pipeline. Every alert must belong to a team_id - that’s how Warrn decides who gets paged. service_id is optional but recommended; setting it scopes the alert to one service so it picks up service-level integrations and the per-service AI Triage setting.

Deduplication with alert_alias

Pass an optional alert_alias to make the alert idempotent. Repeated creates with the same alias, while the prior alert is still open or acknowledged, increment its occurrence_count and update its last_occurred_at instead of creating a new alert. Once the alert is resolved, the next call with the same alias creates a fresh alert. The same alias is also accepted by the resolve endpoint, so you can manage an alert’s lifecycle without ever storing its Warrn UUID:
curl -X POST "https://api.warrn.io/alerts/prod_system_web-01_cpu_usage_Infra/resolve/?identifierType=alias" \
  -H "Authorization: Bearer warrn_xxx"

Authorizations

Authorization
string
header
required

Bearer token using your Warrn API key.

Body

application/json
name
string
required

Short summary of the alert.

Maximum string length: 255
description
string
required

Detailed description of the issue.

severity
enum<string>
required
Available options:
low,
medium,
high,
critical
team_id
string<uuid>
required

Team this alert is routed to. Required.

service_id
string<uuid>

Service this alert belongs to. Optional.

tags
string[]
metadata
object

Arbitrary key-value pairs (runbook URLs, affected hosts, metric values).

alert_alias
string | null

Dedup key. While an alert with this alias is open or acknowledged, repeat creates with the same alias increment its occurrence_count instead of creating a new alert. Once resolved, the next create with the same alias makes a new alert. Also accepted as the path identifier on /alerts/{identifier}/resolve/?identifierType=alias.

Response

Alert created

id
string<uuid>
name
string
description
string
severity
enum<string>
Available options:
low,
medium,
high,
critical
status
enum<string>
Available options:
open,
acknowledged,
resolved
source
string
Example:

"integration"

service_id
string<uuid> | null
service_name
string | null
team_id
string<uuid> | null
team_name
string | null
tags
string[]
metadata
object
created_at
string<date-time>
updated_at
string<date-time>
acknowledged_at
string<date-time> | null
resolved_at
string<date-time> | null
alert_alias
string | null
occurrence_count
integer