Developer docs
REST API
Key-authenticated endpoints for integrations that cannot do OAuth — Zapier, Make, CI jobs and alert routers. Incidents, the on-call directory and who is on call now.
The REST API covers what integrations most often need without a sign-in flow: raising incidents, keeping the on-call directory in sync, and asking who is on call. For managing teams, rotations and overrides from code, use the MCP server — it exposes the full write surface with per-user identity.
API keys
- An org admin creates keys in the dashboard: API Keys in the main menu → Generate API key. Names are unique per workspace.
- Send the key in the
X-APIKEYheader. Endpoints that accept a key also accept a dashboard session token inAuthorization; the key wins if both are present. - A key acts as the person who created it, so anything that needs an org admin needs a key created by one.
- Treat a key like a password. Revoke it from the same page the moment it might have leaked.
Check a key:
curl -H "X-APIKEY: $PAGERLY_KEY" https://api.pagerly.io/o/test/apikey
# → { "message": "API validated successfully", "organisation": "<workspace>" }
Endpoints
Base URL https://api.pagerly.io.
| Method | Path | Purpose |
|---|---|---|
POST |
/o/incident |
Create or update an incident. trigger and integration are recorded as Manual. |
GET |
/o/currentusers |
Who is on call right now, every team. |
GET |
/o/zapier/allteams |
[{ id, name }] for every team. |
GET |
/o/oncalluser?email= |
One directory entry. |
POST |
/o/oncalluser |
Create or replace a directory entry: name, email, phoneNumber, countryCode, role, optional originalEmail to rename. Omitted fields are cleared. Org admin. |
POST |
/o/oncalluser/phone |
Merge-update phone and country code. |
POST |
/o/oncalluser/role |
Change a person’s role. Org admin. |
POST |
/o/oncalluser/testcall |
Place a test call to a number. |
DELETE |
/o/oncalluser?email= |
Remove from the directory. Org admin. |
POST |
/o/zapier/subscribe, /o/zapier/unsubscribe |
Zapier REST hooks for on-call changes. |
POST |
/o/make/subscribe, /o/make/unsubscribe/{id} |
Make (Integromat) equivalents. |
Example — raise an incident from a deploy pipeline:
curl -X POST https://api.pagerly.io/o/incident \
-H "X-APIKEY: $PAGERLY_KEY" \
-H "Content-Type: application/json" \
-d '{ "title": "Checkout error rate above 5%", "severity": "P2", "description": "Started after deploy 4f2a1c" }'
Inbound alerts
Monitoring tools don’t use this API. Each alert source — Datadog, Grafana, CloudWatch, Prometheus, and the rest — gets its own webhook URL from Integrations in the dashboard, with a payload template per tool.
What is not here yet
- Teams, rotations, schedules and overrides are not on the key-authenticated surface. They are available today through the MCP server.
- Terraform provider — on the roadmap. If configuration-as-code is a requirement for you, tell us; it moves the date.
Updated 11 September 2026
Put your on-call where your team already is.
Install in two minutes. Import your existing schedule. Page someone tonight.
