---
title: "Acknowledge an escalation alert"
method: POST
path: "/api/v1/notifications/{notification}/acknowledge"
tags: ["Escalation"]
---

# Acknowledge an escalation alert

`POST /api/v1/notifications/{notification}/acknowledge`

## Request

- Base URL: `https://wardenpoint.com` (the document declares no server; this is the origin it was published from)
- URL: `https://wardenpoint.com/api/v1/notifications/{notification}/acknowledge`
- Auth: API key in header `X-API-Key`

Confirms that a human has taken the alert and STOPS its escalation chain: no further step runs, nobody else is woken. This is the outcome the product exists for, and the only way to end an escalation other than letting it run out.

**This endpoint requires an API key** with the `notifications.send` ability — acknowledging decides the fate of a notification, so it sits with sending rather than with reading. It is not public: the UUID is an identifier, not a credential, and anything that could read one out of a log would otherwise be able to silence a live incident.

It is also NOT the endpoint behind the acknowledge button in an email or a Telegram message. Those links point at `GET /ack/{uuid}?t=…&sig=…` on the web surface, which authenticates the HMAC signature baked into the link and expires 24 hours after the alert was sent. That path needs no key precisely because the signature is the credential. Nothing has to be configured for it — it is attached to outgoing alerts automatically.

Use this endpoint when the acknowledgement comes from your own system: a chat bot, an incident tool, or an operator console that already holds an API key. Send it once; a second call answers 409 and changes nothing.

## Path parameters

- `notification` string, uuid, required

## Request body

- object
  - `source` string: Free-form label recorded with the acknowledgement, so the audit trail says where it came from. Defaults to `api`, and is truncated at 64 characters. Read it back as `acknowledged_via` on `GET /api/v1/notifications/{notification}` — alongside `acknowledged_at`, which is when this call landed.

## Response `200`

Acknowledged; the escalation chain is stopped. Body carries `success: true` and a human-readable `message`.

## Other responses

- `401`: API key missing, invalid, revoked or expired.
- `403`: API key lacks the notifications.send ability.
- `404`: No notification with this UUID belongs to the key's company. A UUID from another company answers the same way on purpose.
- `409`: Already acknowledged. The chain was stopped by the earlier acknowledgement; nothing changed now.

---

[API](https://skmtc.dev/wardenpoint/apis/wardenpoint-api.md) · [All operations](https://skmtc.dev/wardenpoint/apis/wardenpoint-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wardenpoint/apis/wardenpoint-api/revisions/259ee445728e?raw)
