---
title: "Get Pipeline Match Details"
method: GET
path: "/api/candidates/{candidate_id}/pipelines/{job_role_id}/match-details"
tags: ["candidates"]
---

# Get Pipeline Match Details

`GET /api/candidates/{candidate_id}/pipelines/{job_role_id}/match-details`

## Request

- Base URL: `https://api.thebetterhire.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.thebetterhire.ai/api/candidates/{candidate_id}/pipelines/{job_role_id}/match-details`
- Auth: HTTP bearer

Returns the rich resume↔JD breakdown for a single (candidate, role)
pairing — strengths, concerns, requirements checklist, summary,
recommendation. Powers the inline expand panel on the candidate
detail page and the candidates tab on the role page.

Reads from `match_results` (the cache populated by core.fit_scoring)
via `job_role_candidates.match_id`. No LLM call — this is purely a
join + projection. Returns 404 when the pairing has no scored match
yet so the UI can render an "awaiting score" state.

## Path parameters

- `candidate_id` string, required
- `job_role_id` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api.md) · [All operations](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/revisions/c8ad03e900ea?raw)
