Uptimeify Docs
Status pages

List Status Page Subscribers

Returns the email and RSS subscribers of a status page, plus exact counts by status. Requires admin or editor role.

GET /api/status-pages/:id/subscribers

Path Parameter

ParameterDescription
idStatus page ID or publicId (UUID)

Example (cURL)

curl "$BASE_URL/api/status-pages/db58058e-4b58-4d97-a314-3bb8e279a182/subscribers" \
  -H "Authorization: Bearer $TOKEN"

Response

{
  "total": 12,
  "confirmed": 9,
  "pending": 2,
  "unsubscribed": 1,
  "subscribers": [
    {
      "id": 42,
      "email": "reader@example.com",
      "status": "confirmed",
      "locale": "en",
      "createdAt": "2026-08-01T12:00:00.000Z",
      "confirmedAt": "2026-08-01T12:05:00.000Z"
    }
  ]
}

status is one of pending, confirmed, or unsubscribed. confirmedAt is null until the subscriber confirms their address. total, confirmed, pending, and unsubscribed are exact counts computed independently of the subscribers array; subscribers itself is capped at 5000 rows, newest first, use Export Status Page Subscribers to retrieve every row on a larger page.

Common errors

  • 401 Unauthorized when you are not authenticated
  • 400 User must belong to an organization (data.code: userMustBelongToOrg) when no organization can be derived from the session or token
  • 403 Forbidden when your role is not admin or editor, or your customer scope does not include this status page
  • 400 Invalid Status page identifier when id is not a valid numeric ID or UUID (no data.code)
  • 404 Status page not found when id is well-formed but no status page has that ID (no data.code)
  • 404 Status page not found (data.code: statusPageNotFound) when id resolves to a real status page, but it belongs to a different organization, or is outside your customer scope

The last two rows share the same message but differ in data.code: a malformed or entirely unknown id never carries a data.code; only an id that resolves to a row you may not see does.

On this page