---
title: "Test Playground Report Notification"
method: POST
path: "/api/v1/alerts/notifications/test/playground-report"
tags: ["ALERTS_V1"]
---

# Test Playground Report Notification

`POST /api/v1/alerts/notifications/test/playground-report`

Send a playground report to one destination as a test.

Distinct from ``/notifications/test``, which is metric-only (it requires
entity_type + metric_config). Regenerates the session and delivers through
the same helpers a scheduled run uses, so a passing test means the real
delivery works. Records no run; blocks for the length of the LLM run.

## Request body

- PlaygroundReportTestRequest — Deliver a playground report to ONE destination as a test. The report counterpart of ``NotificationTestRequest`` (which is metric-only: it requires entity_type + metric_config). Regenerates the session and delivers through the same helpers a scheduled run uses; records no run.
  - `session_id` string, required
  - `content_scope` string — first_query | last_answer | full_chat
  - `report_name` string, nullable
  - `notifiers` NotifierConfig[], required — Destinations to test. Sent as a LIST so email + Slack are covered by ONE generation — a request per destination meant two concurrent regenerations of the same session, which raced. Only 'email' and 'slack' are delivered for playground reports; 'slack' takes a numeric Notification id as a string in 'channel'.
    - `type` string, required — 'email', 'slack', or 'webhook'
    - `recipients` string[], nullable — Email addresses; used when type is 'email'
    - `channel` string, nullable — Slack notification ID; used when type is 'slack'
    - `webhook_url` string, nullable — HTTP(S) URL for POST delivery; used when type is 'webhook'

## Response `200`

Successful Response

- PlaygroundReportTestResponse — Result of a test send, one entry per notifier. Per-destination rather than a single flag so a partial failure names which destination failed — "email failed, Slack worked" is the common case.
  - `ok` boolean, required — True only if every destination succeeded
  - `results` PlaygroundReportTestResult[], required
    - `target` string, required — 'email' or 'slack'
    - `ok` boolean, required
    - `error` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/myaltimate/apis/fastapi.md) · [All operations](https://skmtc.net/myaltimate/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/myaltimate/fastapi/revisions/68cdcada31e3/schema)
