Send a synchronous test alert to a recipient (issue

Dispatches a [TEST] alert (email), a signed event: "monitor.test" POST (webhook), an unsigned 🧪 TEST Block Kit message (slack, issue #359), or a PagerDuty Events API v2 trigger-then-resolve pair (pagerduty, issue #363) directly — bypasses the webhook_deliveries outbox entirely, since there is no real monitor behind a test send. Rate-limited to 1 per recipient per minute. A pending or disabled recipient returns 409. For type=slack, a non-2xx response — 3xx included — is reported as status="failed" with response_code and error set to Slack's own response body (e.g. "no_service"); only a transport failure returns the top-level 502. For type=pagerduty, the trigger (severity info) is followed by an immediate resolve under the identical dedup_key, ONLY if the trigger's response was 2xx; a successful pair reports status="accepted" (never "delivered", since PagerDuty's Events API is asynchronous and two 2xx responses do not prove the test incident actually closed) with message carrying that caveat. Any failure — a non-2xx trigger, a transport error on either request, or a non-2xx resolve — reports status="failed"; every failure except a cleanly-rejected trigger also carries a warning in error that a test incident may remain open in PagerDuty. No PagerDuty response body is ever read or returned; error/message always come from fixed outcome text.

post/api/v1/recipients/{recipientID}/test

Request

  • Base URL: https://api.uptimemonitoring.com
  • URL: https://api.uptimemonitoring.com/api/v1/recipients/{recipientID}/test
  • Auth: HTTP bearer

Response

Test attempted (check status for the outcome)

recipient_idinteger
type'webhook' | 'email' | 'slack' | 'pagerduty'
status'delivered' | 'accepted' | 'failed'

accepted is PagerDuty-only: PagerDuty's Events API v2 is asynchronous, so a 2xx response to the test trigger and its immediate resolve does not prove the test incident actually closed — see message.

response_codeinteger

Webhook: the destination's HTTP status. Email: 202 on success, SendGrid's status on failure, or 0 for a transport error. Slack: Slack's HTTP status, 3xx included (a redirect is never followed and is reported as its own 3xx code) — only a transport failure omits this field (502). PagerDuty: the trigger's HTTP status on success or on a trigger rejection; the resolve's HTTP status when the trigger succeeded but the resolve failed; omitted for a transport error on either request. Omitted when no response was obtained at all (502).

errorstring

Present only when status is "failed" or the request 502s. For type=pagerduty, this is always fixed outcome text (e.g. "PagerDuty rejected the event (HTTP 400)") — never a response body, which could echo the routing key — and, for every failure except a cleanly-rejected trigger, is followed by a warning that a test incident may remain open in PagerDuty.

messagestring

Present only for type=pagerduty on a successful status="accepted" test send: notes that PagerDuty processes events asynchronously and a test incident can remain open, to be resolved in PagerDuty if so. Omitted for every other type and outcome.

Changes

No recorded changes to this operation across all 1 revision of this API.