request_no_longer_pending

Airbnb says the booking request was already accepted, declined, withdrawn or cancelled. Re-read it; do not retry.

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

When it fires

Repull asked Airbnb to accept or decline a booking request, and Airbnb said it had already moved on: it was accepted or declined already (in the Airbnb app, by a co-host, or by another integration), the guest withdrew it, or it was cancelled. It comes from POST /v1/reservations/{id}/accept, /decline and POST /v1/channels/airbnb/reservations/{code}.

message carries Airbnb's own wording. Your copy of the reservation may still say pendingfor a few seconds, until Airbnb's update reaches Repull.

Response shape

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

{
  "error": {
    "code": "request_no_longer_pending",
    "message": "Reservation status changed and attempted action is no longer allowed.",
    "fix": "The request was already accepted, declined, withdrawn by the guest or expired. Re-read it with `GET /v1/reservations/{id}` — do not retry.",
    "docs_url": "https://repull.dev/docs/channels/airbnb/inquiries-and-requests",
    "request_id": "req_01J5X7Y8Z9ABCDEF12345678"
  }
}

How to fix

  1. Do not retry. Airbnb gives the same answer every time.
  2. Re-read the reservation with `GET /v1/reservations/{id}`, or wait for the `reservation.updated` webhook, to learn its new state.
  3. Update your own records from that, not from the action you attempted.

Examples

curl

curl https://api.repull.dev/v1/reservations/236354 \
  -H "Authorization: Bearer sk_live_YOUR_KEY"

TypeScript

if (res.status === 409) {
  const { error } = await res.json()
  if (error.code === 'request_no_longer_pending' || error.code === 'request_expired') {
    // Someone or something already answered it; re-read instead of retrying
    const current = await fetch(`https://api.repull.dev/v1/reservations/${id}`, {
      headers: { Authorization: `Bearer ${process.env.REPULL_API_KEY}` },
    }).then((r) => r.json())
    return current
  }
}

If you're an AI agent

Airbnb says the booking request was already answered, withdrawn or cancelled. Do not retry. Re-read the reservation (GET /v1/reservations/{id}) or wait for reservation.updated.

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

AI