Test Subscription
POST/v1/subscriptions/:subscription_id/test
Queue the subscription's render+email export immediately (on-demand).
Decouples delivery testing from the cron schedule.
202, not 200, and dispatched rather than sent. The render runs
in a browser on the playwright lambda and cannot be answered inside this
request — this lambda has no browser at all, which is the whole reason the
feature never delivered anything in the five months it was clickable. A
{"sent": true} here would be a claim this process is in no position to
make; the truthful answer is "accepted, and here is the row to watch".
dispatched: false means the request never reached the renderer (no
subscription, no user to impersonate, or a row whose format/channel the
export lane cannot deliver — logged as
task.dashboard_export.undeliverable; only rows predating the 2026-09-20
write-time refusal can still be in that state) — all logged under their own
event names. It is NOT the answer when the
deployment cannot render at all: that raises
ScreenshotCaptureUnavailableError out of the shared export path and is
translated to 409 here, because a client cannot distinguish a capability
gap from a transient failure inside a 2xx.
sent is kept, always false, so a pinned client reading that key
still parses — but it is now a statement about this response, not about
the delivery, and callers should read dispatched.
Request
Responses
- 202
- 404
- 422
Successful Response
Not found
Validation Error