listing_not_on_booking

Publishing to Booking.com was asked for a listing no Booking.com room is linked to. Link a room, or create a property for it.

HTTP 409The resource is not in a state that allows this operation.

When it fires

POST /v1/listings/{id}/publish/booking was called for a listing that no Booking.com room is linked to, so there is nothing on Booking.com to publish to. Nothing was sent. fixnames the next step for your workspace: link one of your connected properties' rooms, or create a new property for the listing.

Response shape

Every Repull error follows the same envelope. The code is stable and safe to switch on.

{
  "error": {
    "code": "listing_not_on_booking",
    "message": "This listing is not on Booking.com, and no Booking.com property is connected to this workspace.",
    "fix": "Either connect an existing Booking.com property (`POST /v1/connect/booking`) and link one of its rooms to this listing (`POST /v1/channels/booking/listings/map`), or create a new property for it with `POST /v1/channels/booking/setup` and `action: \"create-property\"`. Then publish again.",
    "docs_url": "https://repull.dev/docs/errors/listing_not_on_booking",
    "request_id": "req_01J5X7Y8Z9ABCDEF12345678"
  }
}

How to fix

  1. The property is already on Booking.com: connect it with `POST /v1/connect/booking`, find its rooms with `GET /v1/channels/booking/properties/{id}/rooms`, and link the right room to this listing with `POST /v1/channels/booking/listings/map`.
  2. The property is not on Booking.com yet: create it from this listing with `POST /v1/channels/booking/setup` and `action: "create-property"`. See Setup & go live.
  3. Then call `POST /v1/listings/{id}/publish/booking` again.

Examples

curl

# Link a room of a connected property to the listing
curl -X POST https://api.repull.dev/v1/channels/booking/listings/map \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"roomId": "1372", "listingId": 30582}'

TypeScript

const res = await fetch('https://api.repull.dev/v1/channels/booking/listings/map', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.REPULL_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ roomId: '1372', listingId: 30582 }),
})

If you're an AI agent

The listing has no Booking.com room linked, so publishing to Booking.com has no target. Nothing was sent. Link a connected property's room to it (POST /v1/channels/booking/listings/map) or create a property for it (POST /v1/channels/booking/setup, create-property), then publish again.

Hit an error that isn't covered? Email hello@repull.dev with the request id from the response headers.

AI