> ## Documentation Index
> Fetch the complete documentation index at: https://docs.particle.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# particle_alert_list_matches

> List the matches an alert has caught, newest first — with episode edges and optional transcript windows.

List the matches an alert has caught, newest first — the payoff of an alert. Read-only.

Each match names the watched entity and the podcast episode it was detected on, with the mention count and (for `PODCAST_SPEAKER` alerts) the speaker roles. Backfilled matches — from the one-time past-week sweep at creation — are flagged and never triggered an email.

The match results carry **episode and podcast slugs** that are edges into the podcast tools: pass an episode slug to [`particle_podcast_get_episode`](/mcp/tools/podcasts/podcast-get-episode) for the full episode overview, or a podcast slug to [`particle_podcast_resolve`](/mcp/tools/podcasts/podcast-resolve). Use `view=detailed` to include the transcript excerpt windows around each mention, and `after`/`before` to scope to a date range. Results are cursor-paginated.

## Inputs

| Field      | Type              | Required | Default   | Description                                                                                                                                            |
| ---------- | ----------------- | -------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `alert_id` | string            | yes      | —         | Alert id whose matches to list.                                                                                                                        |
| `view`     | enum              | no       | `summary` | Detail level. `summary` returns each match's entity, episode, and counts; `detailed` also includes the transcript excerpt windows around each mention. |
| `after`    | string (ISO date) | no       | —         | Only matches detected on or after this date (e.g. `2026-05-01`).                                                                                       |
| `before`   | string (ISO date) | no       | —         | Only matches detected on or before this date.                                                                                                          |
| `limit`    | integer (1–100)   | no       | 25        | Matches per page.                                                                                                                                      |
| `cursor`   | string            | no       | —         | Opaque pagination cursor from a previous response's `cursor` field.                                                                                    |

## Output

A markdown `## Matches (N)` heading followed by one bullet per match: `Episode (Podcast) — N mentions` (or `— as <role>` for speaker matches), flagged `(backfilled)` where applicable, with nested `**Episode:**` (the episode slug edge) and `**Summary:**` rows. With `view=detailed`, each match also lists the transcript lines from the excerpt windows as indented `Speaker: text` bullets. When more results remain, a trailing paragraph names the `cursor` for the next page.

When there are no matches in the requested window, the output is a single line saying so.

Sample (`alert_id="dKxN6Ry2mL9pJ5qW"`):

```markdown theme={"dark"}
## Matches (2)

- The AI Daily (Acme Network) — 3 mentions
  - **Episode:** the-ai-daily-2026-06-15
  - **Summary:** The hosts discuss OpenAI's latest model release and Sam Altman's keynote.
- Tech Roundup — 1 mention (backfilled)
  - **Episode:** tech-roundup-ep-204
```

Passing `output_format: "json"` returns `matches`, `has_more`, and `cursor` as compact JSON.

## Example

```text theme={"dark"}
Agent calls: particle_alert_list_matches {
  "alert_id": "dKxN6Ry2mL9pJ5qW",
  "view": "detailed",
  "after": "2026-06-01"
}
            → reads a match's "- **Episode:**" row → "the-ai-daily-2026-06-15"

Agent calls: particle_podcast_get_episode { "episode_slug": "the-ai-daily-2026-06-15" }
```

## Related

* REST equivalent: [`GET /v1/alerts/{id}/matches`](/api-reference/alerts/list-matches-for-an-alert).
* Episode/podcast slugs in each match feed [`particle_podcast_get_episode`](/mcp/tools/podcasts/podcast-get-episode) and [`particle_podcast_resolve`](/mcp/tools/podcasts/podcast-resolve).
* Find the alert id with [`particle_alert_list`](/mcp/tools/alerts/alert-list), or embed a few recent matches inline via [`particle_alert_get`](/mcp/tools/alerts/alert-get) with `include=["matches"]`.
