Get a single alert match
Returns one match with full hydration — transcript Windows, source-episode metadata, and the deliveries that included this match. The URL is keyed only by the match ID so a result link can be shared publicly without leaking the alert identifier. Use this for per-match landing pages opened from a digest or results list. URL possession is the access factor; authenticated org members see the full payload while unauthenticated and non-member callers see a reduced public payload (entity + episode, no transcript dialogue). Single-match only: digests (daily/weekly) embed many matches and should be fetched via GET /v1/alerts/deliveries/?view=detailed.
Path Parameters
Match ID
Response
OK
ID of the parent alert.
Inherited from the parent alert's kind so clients can render mention vs appearance semantics without a follow-up alert lookup. Match payloads from ENTITY_MENTION alerts carry mention_count and mention_variants; PODCAST_SPEAKER matches carry roles and a line-count in mention_count.
ENTITY_MENTION, PODCAST_SPEAKER Deprecated — use alert_id. ID of the parent alert.
Optional episode + podcast metadata embedded so a single response renders a card without a follow-up /v1/episodes/{id} call. Populated for preview-sample matches (POST /v1/projects/{projectId}/alerts/preview's GET response) and for the landing-page GETs (GET /v1/alerts/deliveries/{id} in both summary and detailed views, GET /v1/alerts/matches/{id}); absent on the paginated live matches list.
True for matches written by the post-create historical sweep. Backfilled matches are real matches the live pipeline would have produced, with DetectedAt set to the source episode's publish time. They never trigger delivery (no email is sent) — the field lets the UI label them so users can distinguish 'past' from 'going-forward' matches.
AI-generated narrative summary of this match with prior-mention context from the past 7 days for the same (alert, entity). Generated asynchronously after match creation. Absent (field omitted) when the summarizer hasn't processed the row yet OR when the LLM exhausted its retry budget — clients should treat both states the same: no summary to render. Visible to both org members and the public landing-page tier; the summary describes the mention itself, not the alert configuration.
Canonical speaker role(s) the matched entity appeared as. One of GUEST, PANELIST, CORRESPONDENT, or AUDIENCE (raw STT/LLM labels like CALLER, REPORTER, LISTENER are normalized to these buckets on write). Populated only for PODCAST_SPEAKER matches; sorted alphabetically for deterministic order.