reservation_owned_by_channel
The booking belongs to a channel (Airbnb, Booking.com, Vrbo), including one that came in through a PMS. Change or cancel it on the channel.
When it fires
You tried to change or cancel a booking that belongs to a channel — Airbnb, Booking.com, Vrbo and the like. The channel is the system of record for its bookings, so they are changed there.
This includes a channel booking that reached Repull through a PMS: the PMS cannot change it either. owner names the channel, and provider the PMS it came through.
Response shape
Every Repull error follows the same envelope. The code is stable and safe to switch on.
{
"error": {
"code": "reservation_owned_by_channel",
"message": "This reservation came from airbnb through Hostaway. Change it on airbnb; the change reaches this workspace with the next sync.",
"fix": "This booking belongs to a channel (Airbnb, Booking.com, Vrbo, …). Change it on the channel; the change reaches Repull with the next sync and the matching webhook fires.",
"docs_url": "https://repull.dev/docs/errors/reservation_owned_by_channel",
"request_id": "req_01J5X7Y8Z9ABCDEF12345678",
"provider": "hostaway",
"owner": "airbnb"
}
}How to fix
- Do not retry.
- Make the change or cancellation on the channel named in `owner`. It reaches Repull with the next sync and `reservation.updated` or `reservation.cancelled` fires.
- Creating channel bookings is not possible either: `platform` on `POST /v1/reservations` accepts only `direct`, `website` and `owner`.
Examples
curl
curl -X POST https://api.repull.dev/v1/reservations/236354/cancel \ -H "Authorization: Bearer sk_live_YOUR_KEY" # → 409 reservation_owned_by_channel, "owner": "airbnb"
TypeScript
const { error } = await res.json()
if (error?.code === 'reservation_owned_by_channel') {
return { changeOnChannel: error.owner } // e.g. 'airbnb'
}If you're an AI agent
This booking belongs to a channel (owner) and can only be changed or cancelled there. Do not retry. Tell the user to do it on the channel named in `owner`; it syncs back automatically.
Related
- Error reference — the full table of error codes
- Using Repull from AI agents — patterns for handling errors in agent loops
- Creating reservations
- Cancel a reservation
Hit an error that isn't covered? Email hello@repull.dev with the request id from the response headers.