Skip to Content
API & MCPPOSTPreview a subscription

REST API

Preview a subscription

Dry run of a subscription body over the recorded events of the last `window_days`.

POST/v1/subscriptions/preview
MCP tool preview_subscriptionscope webhooks:readNo record cost

Parameters

namestringrequired
triggeranyrequired
endpoint_idstringoptional
not needed for a preview
sinksany[]optional
where matches go: a webhook endpoint and/or a people list (at least one sink, or endpoint_id) (up to 4 items)
clientstringoptional
scopeanyoptional
predicateobjectoptional
actionsany[]optional
(up to 6 items)
payloadobjectoptional
dedupeobjectoptional
limitsobjectoptional
deliveryobjectoptional
backfill_daysintegeroptional
deliver events already recorded this many days back (≤ plan); IGNORED for scope.kind ‘monitor’ — a monitor-scoped subscription starts at its oldest monitor’s creation, so nothing collected before it is missed (min 0, max 30)
window_daysintegeroptional
the window of recorded events to size on (default 7, max 30) (min 1, max 30)

What your agent reads

The tool description exactly as an MCP client receives it in tools/list — it doubles as the full behaviour of the endpoint.

Dry run of a subscription body (endpoint_id optional, nothing is stored) over the recorded events of the last `window_days` (default 7, max 30): the events of each subscribed type in the window, how many the scope and `where` keep (`narrowed`, counted over the WHOLE window), and — the predicate run on a sample of up to 2,000 narrowed events per type — `estimated_matches_in_window`, `estimated_per_day` and `estimated_records_per_day` (what the deliveries would charge: use it for limits.max_records_per_day). A type with zero events in the window is named as such. Returns a sample of up to 10 matching events. No record cost. search_diff triggers cannot be previewed (the first run seeds).

Errors follow one format.