list_matches
List Matches
Reads only.
Use this for which events entered the caller's Views, newest first, with their delivery state. Use get_match instead for one Match's full snapshot. List Matches for the caller's Views (which events entered which Views, newest first). Returns a COMPACT row by default: event name/date, the firing View's name, origin ('live' = entered via a market change; 'baseline' = recorded when the View learned its current contents, analysis only, never alerted), and a few headline signal columns (the reason it matched), so a full page fits in context. For the complete frozen analytics snapshot of a firing, call get_match (by match_id) or get_event_analytics (by event_id); or pass include_snapshot=true here to inline it (heavy; avoid on large pages). Filter by view_id, event_id, since (ISO timestamp), or delivery_status. Paginated. DELIVERY TRUTH: read delivery_status, never infer delivery from a timestamp: 'sent' = an alert email actually carried this Match; 'not_sent' = terminally dropped and never sent (see delivery_reason, e.g. muted_view, locked_view, email_digests_off (the owner turned alert emails off), view_disabled); 'pending' = not processed yet, may still be sent; 'not_applicable' = was never eligible for an alert email (a baseline Match, or a View that delivers only to alert destinations). notified_at is non-null ONLY when delivery_status is 'sent'; consumed_at is when the Match was claimed whatever the outcome. NEVER report a Match as delivered unless delivery_status is 'sent'.
Parameters
| Name | Type | Required | Default | Notes |
|---|---|---|---|---|
page | integer | 1 | At least 1. | |
limit | integer | 20 | From 1 to 100. | |
view_id | string | |||
event_id | string | |||
since | string | ISO 8601 timestamp; only matches at/after this. | ||
delivery_status | string | Only Matches in this delivery state. Use 'sent' for "which alert emails actually went out" and 'not_sent' for "what was dropped, and why"; do NOT infer either from a timestamp. Note: the 'not_applicable' filter matches baseline Matches only; destination-only Views are labeled not_applicable on the row but are not selected by this filter. One of sent, not_sent, pending, not_applicable. | ||
include_snapshot | boolean | false | Inline the full frozen snapshot (event + event_analytics + performer_analytics) on every row. Heavy: a page can exceed the tool result token cap. Prefer the compact default + get_match for drill-down. |
Example
{ "since": "2026-05-01T00:00:00Z", "limit": 50 }