---
title: "Assign Booking To Profile"
method: PUT
path: "/api/v1/booking-concierge/bookings/{booking_id}/assign"
tags: ["booking-concierge"]
---

# Assign Booking To Profile

`PUT /api/v1/booking-concierge/bookings/{booking_id}/assign`

DEPRECATED (#2067) — use the role-addressed customer endpoints below.

This payload can only say "remove a customer", and a booking can hold
several customer relationships, so the unlink leg has to guess which one
the caller meant: it detaches every role held by whichever profile the
mirror currently points at. Retained for one compatibility window; the
frontend already calls ``DELETE .../customers/{id}/roles/{role}``.

## Path parameters

- `booking_id` string, uuid, required

## Request body

- BookingAssignRequest
  - `customer_profile_id` string, uuid, nullable, required

## Response `200`

Successful Response

- BookingRecordRead
  - `id` string, uuid, required
  - `tenant_id` string, uuid, required
  - `channel` string, required
  - `voice_agent_id` string, uuid, nullable, required
  - `call_id` string, nullable, required
  - `voice_call_external_id` string, nullable
  - `text_agent_id` string, uuid, nullable, required
  - `text_session_id` string, uuid, nullable, required
  - `customer_profile_id` string, uuid, nullable, required
  - `customer_profile_name` string, nullable
  - `reservation_id` string, required
  - `property_code` string, required
  - `property_name` string, required
  - `guest_first_name` string, nullable, required
  - `guest_last_name` string, nullable, required
  - `guest_email` string, nullable, required
  - `guest_phone` string, nullable, required
  - `checkin` string, date, required
  - `checkout` string, date, required
  - `adults` integer, required
  - `children` integer, required
  - `rooms` integer, required
  - `price` number, required
  - `currency` string, required
  - `status` string, required
  - `booked_at` string, date-time, required
  - `cancelled_at` string, date-time, nullable, required
  - `raw_response` object, nullable, required
  - `cancellation_response` object, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `404` — Booking or related resource not found, not in tenant, or not visible on this surface (e.g. staging booking hidden from customer-facing readers). On assign: can also be customer profile not found for this tenant.
- `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/api/v1/booking-concierge/bookings/:booking_id/assign/put.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.dev/getanana/apis/cleon-api/revisions/41c5e4645524?raw)
