API
API keys with scopes, bound to your organization. Regenerated from the product's OpenAPI contract on every build, so this page cannot drift from the code.
API keys are live. You create them in the app under Integrations, API keys (owner and admin only), and send them as a bearer token:
Authorization: Bearer pst_...
A key belongs to one organization. It carries scopes, monitors, incidents,
status-pages and webhooks, each as :read or :write, plus org:read; a write scope
implies read on the same resource. You can narrow a key further to selected projects, or to
individual monitors. Revocation and expiry take effect on the next request, not at the end
of some cache window.
Keys cannot manage keys. The management endpoints require a browser session by construction, so a leaked key can read what its scopes allow and can never mint itself a successor.
What accepts a key today
Key authentication is active on seven read endpoints:
| endpoint | what it returns |
|---|---|
| monitors in a project | the list with state, type, interval, regions |
| a single monitor | detail as the cockpit shows it |
| monitor checks | the raw check results behind that monitor |
| monitor time series | response times over a window |
| monitor incidents | incidents attached to that monitor |
| incidents in an organization | the list |
| a single incident | detail with its timeline |
Every other endpoint below still requires a session, and write scopes are selectable but not yet honoured anywhere. The curated public reference, versioned 1.0.0-beta.1, follows with the next release; until then this page renders the full surface the apps speak to, so you can see the shape of what is coming.
Feature areas that are not released, such as multi-step checks, are excluded until they ship.
Auth and session
- POST
/auth/login - POST
/auth/logoutEnds the current session server-side. Sessions are revocable one by one and all at once.
- POST
/auth/magicMagic-link sign-in: takes an email address and sends a one-time sign-in link. Deliberately answers neutrally whether or not the address exists.
- POST
/auth/magic/verify - POST
/auth/register - GET
/me - GET
/me/activity - GET
/me/cockpit-bootstrap - GET
/me/cockpit-stats - GET
/me/devices - POST
/me/devices - DELETE
/me/devices/{id} - GET
/me/downtimes - GET
/me/invitations - POST
/me/invitations/{inv_id}/accept - POST
/me/locale - GET
/me/logins - POST
/me/logins/revoke-others - DELETE
/me/logins/{id} - GET
/me/notification-preferences - PUT
/me/notification-preferences - GET
/me/notifications - POST
/me/notifications/read - GET
/me/notifications/unread - GET
/me/open-incidents - GET
/me/org-summaries - GET
/me/organizations - GET
/me/phone - PUT
/me/phone - POST
/me/phone/verify - POST
/me/phone/verify/request - GET
/me/raw-down-days - GET
/me/region-capabilities - GET
/me/region-summaries - GET
/me/resolve-host - GET
/me/timeline - GET
/organizations/{org_id}/members - PATCH
/organizations/{org_id}/members/{user_id} - DELETE
/organizations/{org_id}/members/{user_id}
Organizations and members
- POST
/invitations/accept - POST
/invitations/inspect - POST
/organizations - PATCH
/organizations/{org_id} - DELETE
/organizations/{org_id} - GET
/organizations/{org_id}/activity - POST
/organizations/{org_id}/convert - GET
/organizations/{org_id}/downtimes - GET
/organizations/{org_id}/entitlements - GET
/organizations/{org_id}/invitations - POST
/organizations/{org_id}/invitations - DELETE
/organizations/{org_id}/invitations/{inv_id} - GET
/organizations/{org_id}/project-summaries - GET
/organizations/{org_id}/raw-down-days - GET
/organizations/{org_id}/timeline
Projects
- GET
/organizations/{org_id}/projects - POST
/organizations/{org_id}/projects - POST
/organizations/{org_id}/projects/reorder - PATCH
/projects/{project_id} - DELETE
/projects/{project_id} - GET
/projects/{project_id}/activity - GET
/projects/{project_id}/downtimes - GET
/projects/{project_id}/monitors - POST
/projects/{project_id}/monitors - POST
/projects/{project_id}/monitors/reorder - POST
/projects/{project_id}/move - GET
/projects/{project_id}/raw-down-days - GET
/projects/{project_id}/timeline
Monitors and checks
- PATCH
/alert-profiles/{id} - DELETE
/alert-profiles/{id} - GET
/monitors/{monitor_id} - PATCH
/monitors/{monitor_id} - DELETE
/monitors/{monitor_id} - GET
/monitors/{monitor_id}/alarm-state - GET
/monitors/{monitor_id}/checks - POST
/monitors/{monitor_id}/clone - GET
/monitors/{monitor_id}/incidents - POST
/monitors/{monitor_id}/move - POST
/monitors/{monitor_id}/run - GET
/monitors/{monitor_id}/series - GET
/organizations/{org_id}/alert-profiles - POST
/organizations/{org_id}/alert-profiles - POST
/organizations/{org_id}/monitors/{monitor_id}/discard-day
Incidents and post-mortems
- GET
/organizations/{org_id}/incidents - POST
/organizations/{org_id}/incidents - GET
/organizations/{org_id}/incidents/feed - GET
/organizations/{org_id}/incidents/{incident_id} - POST
/organizations/{org_id}/incidents/{incident_id}/ack - GET
/organizations/{org_id}/incidents/{incident_id}/action-items - POST
/organizations/{org_id}/incidents/{incident_id}/action-items - PUT
/organizations/{org_id}/incidents/{incident_id}/action-items/{item_id} - DELETE
/organizations/{org_id}/incidents/{incident_id}/action-items/{item_id} - POST
/organizations/{org_id}/incidents/{incident_id}/assign - POST
/organizations/{org_id}/incidents/{incident_id}/delete - POST
/organizations/{org_id}/incidents/{incident_id}/discard-downtime - GET
/organizations/{org_id}/incidents/{incident_id}/discard-preview - GET
/organizations/{org_id}/incidents/{incident_id}/events - POST
/organizations/{org_id}/incidents/{incident_id}/note - GET
/organizations/{org_id}/incidents/{incident_id}/on-call - POST
/organizations/{org_id}/incidents/{incident_id}/on-call/ack - GET
/organizations/{org_id}/incidents/{incident_id}/pages - POST
/organizations/{org_id}/incidents/{incident_id}/pages - DELETE
/organizations/{org_id}/incidents/{incident_id}/pages/{page_id} - GET
/organizations/{org_id}/incidents/{incident_id}/postmortem - PUT
/organizations/{org_id}/incidents/{incident_id}/postmortem - POST
/organizations/{org_id}/incidents/{incident_id}/postmortem/publish - POST
/organizations/{org_id}/incidents/{incident_id}/resolve - POST
/organizations/{org_id}/incidents/{incident_id}/restore - POST
/organizations/{org_id}/incidents/{incident_id}/restore-downtime - POST
/organizations/{org_id}/incidents/{incident_id}/severity - POST
/organizations/{org_id}/incidents/{incident_id}/snooze - POST
/organizations/{org_id}/incidents/{incident_id}/summary
On-call and paging
- GET
/organizations/{org_id}/on-call/duty - GET
/organizations/{org_id}/on-call/members - PUT
/organizations/{org_id}/on-call/members - GET
/organizations/{org_id}/on-call/settings - PUT
/organizations/{org_id}/on-call/settings - GET
/organizations/{org_id}/paging-usage
Status pages
- GET
/badge.svg - GET
/organizations/{org_id}/status-pages - POST
/organizations/{org_id}/status-pages - GET
/organizations/{org_id}/status-pages/archived - GET
/public/status-pages/resolve - GET
/public/status-pages/{slug} - GET
/public/status-pages/{slug}/badge.svg - GET
/public/status-pages/{slug}/feed.rss - POST
/public/status-pages/{slug}/login - GET
/public/status-pages/{slug}/logo - GET
/public/status-pages/{slug}/logo/dark - POST
/public/status-pages/{slug}/subscribe - POST
/public/status-pages/{slug}/unlock - GET
/status-pages/{id} - PATCH
/status-pages/{id} - DELETE
/status-pages/{id} - GET
/status-pages/{id}/domains - POST
/status-pages/{id}/domains - POST
/status-pages/{id}/domains/reorder - DELETE
/status-pages/{id}/domains/{domain_id} - POST
/status-pages/{id}/domains/{domain_id}/verify - DELETE
/status-pages/{id}/logo - DELETE
/status-pages/{id}/logo/dark - POST
/status-pages/{id}/monitors - PUT
/status-pages/{id}/shared-password - DELETE
/status-pages/{id}/shared-password - GET
/status-pages/{id}/subscribers - DELETE
/status-pages/{id}/subscribers/{subscriber_id} - POST
/status-pages/{id}/unarchive - GET
/status-pages/{id}/versions - POST
/status-pages/{id}/versions - POST
/status-pages/{id}/versions/{version_id}/restore - GET
/status-pages/{id}/viewers - POST
/status-pages/{id}/viewers - DELETE
/status-pages/{id}/viewers/{viewer_id}
Maintenance and curation
- POST
/organizations/{org_id}/exclusions/{exclusion_id}/restore - GET
/organizations/{org_id}/maintenance-windows - POST
/organizations/{org_id}/maintenance-windows - PATCH
/organizations/{org_id}/maintenance-windows/{id} - DELETE
/organizations/{org_id}/maintenance-windows/{id} - POST
/organizations/{org_id}/maintenance-windows/{id}/cancel
Host agents
- POST
/organizations/{org_id}/agent-enroll-tokens - GET
/organizations/{org_id}/agents - PATCH
/organizations/{org_id}/agents/{agent_id} - DELETE
/organizations/{org_id}/agents/{agent_id}
Webhooks
- GET
/organizations/{org_id}/webhooks - POST
/organizations/{org_id}/webhooks - PATCH
/organizations/{org_id}/webhooks/{target_id} - DELETE
/organizations/{org_id}/webhooks/{target_id} - POST
/organizations/{org_id}/webhooks/{target_id}/rotate-secret - POST
/organizations/{org_id}/webhooks/{target_id}/test