PingParrot works with any tool that can make an HTTP request — Nagios, Zabbix, Uptime Robot, New Relic, Datadog, custom shell scripts, CI pipelines, or code you write yourself. One POST request and your team is being paged.
Works with any tool that supports webhooks or HTTP
One endpoint. Five fields. That's it.
POST https://pingparrot.app/api/external/pages
X-Api-Key: YOUR_API_KEY
Content-Type: application/json
{
"subject": "Disk usage above 90% on db-prod-01",
"message": "Disk /dev/sda1 at 92%. Immediate attention required.",
"priority": "critical",
"target": "oncall",
"schedule_id": 1
}
low · normal · high · criticaloncall · group · user{
"success": true,
"page_id": 42,
"message": "Page created."
}
201 on success. 422 with validation errors. 401 for invalid API key. All errors include a descriptive message field.
define command {
command_name notify-pingparrot
command_line /usr/bin/curl -s -X POST https://pingparrot.app/api/external/pages \
-H "X-Api-Key: $USER1$" \
-H "Content-Type: application/json" \
-d '{"subject":"$NOTIFICATIONTYPE$: $HOSTNAME$ $SERVICEDESC$","message":"$SERVICEOUTPUT$","priority":"critical","target":"oncall","schedule_id":1}'
}
#!/bin/bash
API_KEY="your_api_key_here"
DISK=$(df -h / | awk 'NR==2{print $5}' | tr -d '%')
if [ "$DISK" -gt 85 ]; then
curl -s -X POST https://pingparrot.app/api/external/pages \
-H "X-Api-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"subject\": \"Disk usage at ${DISK}% on $(hostname)\",
\"message\": \"Root filesystem is ${DISK}% full. Investigate immediately.\",
\"priority\": \"high\",
\"target\": \"oncall\",
\"schedule_id\": 1
}"
fi
import requests
def page_oncall(subject, message, priority="high", schedule_id=1):
resp = requests.post(
"https://pingparrot.app/api/external/pages",
headers={"X-Api-Key": "YOUR_API_KEY"},
json={
"subject": subject,
"message": message,
"priority": priority,
"target": "oncall",
"schedule_id": schedule_id,
},
timeout=10,
)
resp.raise_for_status()
return resp.json()
Free for up to 3 pagers. First call can be under a minute away.