---
title: "Attach this account's guest bookings to it"
method: POST
path: "/v1/bookings/claim-guest"
tags: ["bookings"]
---

# Attach this account's guest bookings to it

`POST /v1/bookings/claim-guest`

## Request

- Base URL: `https://api.getmyhotels.com`
- URL: `https://api.getmyhotels.com/v1/bookings/claim-guest`
- Auth: HTTP bearer

Runs `booking.claimGuestBookings`. Call it once right after sign-in (and after sign-up), the same moment the web bookings page does. A guest checkout is complete and legitimate without an account (critical decision #4), so the booking row carries only `guestEmail`; this claims every unclaimed booking whose guest email matches the session's email — case-insensitively — and clears its booking token. Until it runs, `GET /v1/bookings` filters on `userId` and cannot see them, so a guest who booked in the app and then signed in on that same device loses their booking history (#1234). Idempotent: it returns `{ claimed: 0 }` when there is nothing left to claim, so it is safe to call on every sign-in. Takes no input, so this route accepts no request body.

## Response `200`

Success

- unknown

## Other responses

- `400`: Request validation failed or the router rejected the input
- `401`: Missing or invalid bearer session token
- `426`: Reported X-GMH-App-Version is below the supported minimum — the app must update
- `500`: Unexpected server error (opaque; details stay in logs)

---

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