---
title: "Set Thread Stay Link"
method: PUT
path: "/email/threads/{thread_id}/stay-link"
tags: ["email"]
---

# Set Thread Stay Link

`PUT /email/threads/{thread_id}/stay-link`

Point this thread at a stay by hand, superseding any existing link.

A manual link outranks later automatic resolution: the resolver never
re-resolves a thread already marked ``linked``.

## Path parameters

- `thread_id` string, uuid, required

## Request body

- LinkStayRequest — Point one booking section of a thread at a stay.
  - `booking_record_id` string, uuid, required
  - `reference` string, nullable

## Response `200`

Successful Response

- LinkedStayRead — The stay a thread was tied to, and how. Carries ``match_method`` because an unexplained link is not auditable: an operator correcting a wrong link needs to know whether it came from a quoted reference or a model reading a surname.
  - `booking_record_id` string, uuid, required
  - `reservation_id` string, required
  - `property_name` string, required
  - `checkin` string, date, required
  - `checkout` string, date, required
  - `guest_name` string, nullable
  - `source` string, nullable
  - `match_method` string, required

## Other responses

- `404` — Email thread not found
- `422` — Unknown stay, or one with no stay episode yet

---

[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/3ad158624c53/schema)
