---
title: "match_episode_guests_to_contacts"
method: POST
path: "/match_episode_guests_to_contacts"
tags: ["episode_guests_to_contacts"]
---

# match_episode_guests_to_contacts

`POST /match_episode_guests_to_contacts`

## Request

- Base URL: `https://app.podmule.com/api/v1`
- URL: `https://app.podmule.com/api/v1/match_episode_guests_to_contacts`
- Auth: HTTP bearer

Sweep episodes that have a guest name but no linked guest contact, and match each guest name against the workspace's contacts using trigram name similarity. Returns each episode pre-classified as matched (one confident candidate, ready to link), ambiguous (multiple/uncertain candidates, needs a human pick), or no_match (create a new contact). Runs the whole sweep server-side in one call per batch — page through large sets with limit/offset using total_candidate_episodes. Apply the proposed links with link_contact_to_episode (single) or link_episode_contacts (batch) after confirming with the user.

## Request body

- unknown

## Response `200`

Capability output wrapped in `{ data }`.

- object
  - `data` unknown, required

## Other responses

- `400`: Invalid input — Zod validation failed.
- `401`: Missing, malformed, or audience-mismatched bearer token.
- `403`: Token is valid but lacks the required scope.
- `404`: Capability not registered, or referenced resource not found.
- `429`: Rate limit exceeded. Retry after the period in `Retry-After`.
- `500`: Internal error.

---

[API](https://skmtc.dev/podmule/apis/podmule-api.md) · [All operations](https://skmtc.dev/podmule/apis/podmule-api/llms.txt) · [OpenAPI document](https://skmtc.dev/podmule/apis/podmule-api/revisions/844ae61495fa?raw)
