---
title: "Send a test notification to one channel, now."
method: POST
path: "/surveillance/policy/test"
tags: ["surveillance"]
---

# Send a test notification to one channel, now.

`POST /surveillance/policy/test`

## Request

- Base URL: `https://api.ismalicious.com`
- URL: `https://api.ismalicious.com/surveillance/policy/test`
- Auth: one of:
  - API key in header `X-API-KEY`
  - HTTP bearer
  - HTTP basic

10 per hour per organisation. Only the alert rules' own recipients and
destinations are reachable. 200 with what was sent, skipped and failed.

## Request body

- PolicyTestRequest
  - `channel` 'Email' | 'Chat' | 'Webhook', required: `SurveillanceNotification.channel`.
  - `destination` string, nullable: An email address or an IntegrationDestination id; `None` = the whole channel.

## Response `200`

Sent to at least one destination: `{sent, skipped, failed}`; a failure's `reason` is a fixed phrase per channel, never the provider's text

## Other responses

- `400`: Invalid request; nothing to send to on that channel (`invalid_destination`: no recipient, no Slack or Teams destination, or no webhook endpoint configured); or every destination skipped (`not_sent`)
- `401`: Unauthorized
- `429`: 10 tests per hour per organisation
- `502`: Every delivery failed (`delivery_failed`)
- `503`: The limiter is unavailable

## Changes

- **2026-10-23** `7c8ce9039cf7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ismalicious/apis/ismalicious-threat-intelligence-api/changes/surveillance/policy/test/post.md)

---

[API](https://skmtc.dev/ismalicious/apis/ismalicious-threat-intelligence-api.md) - [All operations](https://skmtc.dev/ismalicious/apis/ismalicious-threat-intelligence-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ismalicious/apis/ismalicious-threat-intelligence-api/revisions/b6f45e6169a7?raw)
