Skip to main content

Getting started with the Phoenix Alerts API

Base URL, authentication, and the error format shared by every Management API request.

D
Written by Dave Rochwerger

Part of the Phoenix Alerts Management API reference.

Phoenix Alerts has one API for two jobs: sending alerts in from your monitoring tools, and managing your account (services, teams, users, schedules, escalation policies). This article covers what every request has in common. The other articles in this help center cover each resource.

Base URL

https://api.phoenixalerts.com/v1

Every endpoint is under /v1.

Authentication

Every request needs an Authorization: Bearer header. There are two kinds of API key:

Key type

Prefix

What it can do

Management key

pm_

Full account management: services, teams, users, schedules, escalation policies, and other API keys. Cannot send alerts in — that is what ingestion keys are for.

Ingestion key

pi_

Send alerts in, and acknowledge or resolve alerts via PATCH. Nothing else.

Send the key like this:

Authorization: Bearer pm_<your key>

Each key type works only where it belongs. An ingestion key is rejected on every management endpoint, and a management key is rejected on the alert-ingestion endpoint (the error code is MANAGEMENT_KEY_ON_INGESTION_PATH). This is deliberate: ingestion keys live inside monitoring tools where leaks are more likely, and the worst a leaked one can do is send alerts — while a management key never needs to be pasted into a monitoring tool at all. See Sending alerts for the ingestion key's own header.

Your first management key comes from the Phoenix Alerts app inside Jira — the account owner creates it there, on the API keys screen. Once you have that key, see API keys to create more.

Errors

Every error response has the same shape:

{
"error": {
"type": "validation_error",
"code": "INVALID_PAYLOAD",
"message": "The request body failed validation.",
"request_id": "11111111-1111-4111-8111-111111111111",
"fields": [{"path": "email", "message": "Invalid email address."}]
}
}
  • fields — only present on validation errors (400 and 422); lists which field failed and why.

  • request_id — also returned on the x-request-id response header. Include it if you contact support about a specific request.

What's next

Did this answer your question?