---
title: "List Stay Candidates"
method: GET
path: "/email/threads/{thread_id}/stay-candidates"
tags: ["email"]
---

# List Stay Candidates

`GET /email/threads/{thread_id}/stay-candidates`

Upcoming stays this thread could be linked to.

Operator-driven search rather than an identity-scoped suggestion list:
identity matching is what already returns nothing for most of this data, so
a "smart" picker would show an empty list and look broken.

Booking metadata only — never thread content (the PII boundary
``manual_attribution.py`` sets for the same kind of picker).

## Path parameters

- `thread_id` string, uuid, required

## Query parameters

- `search` string, nullable
- `limit` integer

## Response `200`

Successful Response

- StayCandidateListResponse
  - `items` StayCandidateRead[]
    - `booking_record_id` string, uuid, required
    - `reservation_id` string, required
    - `external_id` string, nullable
    - `property_name` string, required
    - `checkin` string, date, required
    - `checkout` string, date, required
    - `guest_name` string, nullable
    - `source` string, nullable
  - `total` integer

## Other responses

- `404` — Email thread not found
- `422` — Validation Error

## Changes

- **2026-09-03** `d65b8fefae34` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Change history](https://skmtc.dev/getanana/apis/cleon-api/changes/email/threads/:thread_id/stay-candidates/get.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getanana/cleon-api/revisions/a9141b6e4e7e/schema)
