Get match detail
Matches
Get match detail
Full detail for the property-detail screen.
GET
Get match detail
Overview
Returns the full detail for a single match — everything the Property Detail screen needs: the other user’s listing (with description), their housing provider, what they’re looking for, and the per-filter match flags. Theproperty, peer, housingProvider, and theyWant blocks are all relative to the other participant (never the caller). Returns 404 NOT_FOUND if the match does not exist or if the caller is not a participant — existence is never leaked.
Authentication
Bearer <accessToken> required. Scope: user. Requires completed onboarding + approved tenancy (requireOnboarded).
Path parameters
| Param | Type | Notes |
|---|---|---|
matchId | string | 24-char ObjectId of the match. 400 if malformed. |
Query parameters
None.Request body
None.Response — 200 OK
| Field | Type | Notes |
|---|---|---|
match | object | See Match detail object. |
Match detail object
All Match summary fields (matchId, score, perfectMatch, matchTier, savedAt, peer, property) plus:
| Field | Type | Notes |
|---|---|---|
property.description | string | The listing’s free-text description (0..150 chars). |
housingProvider | string | null | The other user’s latest tenancy verification landlordName. null if they have no tenancy record. |
theyWant | object | The other user’s preferences — “What They’re Looking For”. See theyWant object. |
hardFilterFlags | object | Per-filter pass/fail for this pair: { propertyType, bedrooms, rent, distance, eligibility, blocks } (all booleans). |
theyWant object
| Field | Type | Notes |
|---|---|---|
desiredPropertyTypes | string[] | Subset of the property-type enum. |
minBedrooms | integer | 0..10. |
maxBedrooms | integer | 0..10. |
maxRentMonthlyMinor | integer | Server-derived monthly pence cap. |
preferredLocations | object[] | { label, postcode, lng, lat }. postcode may be null. |
searchRadiusMiles | integer | One of 0, 1, 3, 5, 10, 25. |
desiredFeatures | string[] | Subset of the feature enum. |
Example response
Error responses
| Status | Code | Meaning |
|---|---|---|
| 400 | VALIDATION_FAILED | matchId is not a 24-char ObjectId. |
| 401 | UNAUTHENTICATED | Missing, malformed, or expired access token. |
| 404 | NOT_FOUND | No such match, or the caller is not a participant (existence is not leaked). |