reservation_not_pending

Only a pending booking request can be accepted or declined. `currentStatus` says what the reservation is; do not retry.

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

When it fires

POST /v1/reservations/{id}/accept or /decline was called on a reservation that is not a booking request awaiting the host: for example one that is already confirmed, cancelled or declined. currentStatus says what it is.

This is decided before Airbnb is contacted, so nothing was sent.

Response shape

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

{
  "error": {
    "code": "reservation_not_pending",
    "message": "Reservation 236354 is not a pending booking request (its status is `accept`), so there is nothing to accept.",
    "fix": "Only a reservation with status `pending` (a booking request awaiting the host) can be accepted or declined. Find them with `GET /v1/reservations?status=pending`.",
    "docs_url": "https://repull.dev/docs/channels/airbnb/inquiries-and-requests",
    "request_id": "req_01J5X7Y8Z9ABCDEF12345678",
    "currentStatus": "accept"
  }
}

How to fix

  1. Do not retry: the reservation is not waiting on you.
  2. Re-read it with `GET /v1/reservations/{id}` to see where it stands.
  3. List the requests that do need an answer with `GET /v1/reservations?status=pending`.

Examples

curl

curl "https://api.repull.dev/v1/reservations?status=pending" \
  -H "Authorization: Bearer sk_live_YOUR_KEY"

TypeScript

const res = await fetch('https://api.repull.dev/v1/reservations/236354/accept', {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.REPULL_API_KEY}` },
})

if (res.status === 409) {
  const { error } = await res.json()
  if (error.code === 'reservation_not_pending') {
    // Someone already answered it, or it was never a request: nothing to do
    console.info(`Skipping: reservation is ${error.currentStatus}`)
  }
}

If you're an AI agent

The reservation is not a pending booking request (see currentStatus). Nothing was sent. Do not retry; list pending requests with GET /v1/reservations?status=pending.

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

AI