Uptimeify Docs
Status pages

Delete Status Page Subscriber

Permanently deletes a subscriber and its stored consent evidence. Requires admin or editor role.

DELETE /api/status-pages/:id/subscribers/:subscriberId

This is a hard delete, not the public one-click unsubscribe. The public unsubscribe link keeps the subscriber row with status: "unsubscribed" as proof that sending must stop; this endpoint exists to answer erasure requests (GDPR Art. 17), so it removes the row entirely, email address, consent timestamp, IP address, and user agent included.

Path Parameters

ParameterDescription
idStatus page ID or publicId (UUID)
subscriberIdSubscriber ID (positive integer)

Example (cURL)

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

Response

{ "ok": true }

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
  • 400 Invalid subscriber id (data.code: invalidSubscriberId) when subscriberId does not parse as a positive integer
  • 404 Subscriber not found (data.code: subscriberNotFound) when subscriberId does not exist, or belongs to a different status page than id

id is resolved and scope-checked before subscriberId is parsed, so a bad id is always the error you see first.

On this page