request_expired
Airbnb expired the booking request (hosts have 24 hours to answer). The guest has to request again.
When it fires
Airbnb gives the host 24 hours to answer a booking request. This request was not answered in time, so Airbnb expired it, and it can no longer be accepted or declined. It comes from POST /v1/reservations/{id}/accept, /decline and POST /v1/channels/airbnb/reservations/{code}. messagecarries Airbnb's wording.
Response shape
Every Repull error follows the same envelope. The code is stable and safe to switch on.
{
"error": {
"code": "request_expired",
"message": "This reservation request has expired.",
"fix": "Airbnb expires a booking request the host has not answered within 24 hours. Nothing can be accepted now; the guest has to request again.",
"docs_url": "https://repull.dev/docs/channels/airbnb/inquiries-and-requests",
"request_id": "req_01J5X7Y8Z9ABCDEF12345678"
}
}How to fix
- Do not retry. An expired request cannot be revived.
- If you still want the booking, message the guest and ask them to request again, or send them a special offer on the conversation (`POST /v1/conversations/{id}/special-offers`).
- To avoid this, answer requests as they arrive: poll `GET /v1/reservations?status=pending` or act on the reservation webhook.
Examples
curl
# Offer the same stay again on the conversation
curl -X POST https://api.repull.dev/v1/conversations/164743/special-offers \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "Idempotency-Key: offer-164743-1" \
-H "Content-Type: application/json" \
-d '{"checkIn": "2026-10-01", "checkOut": "2026-10-05", "guests": {"adults": 2}, "totalPrice": 880}'TypeScript
if (res.status === 409) {
const { error } = await res.json()
if (error.code === 'request_expired') {
// Too late to accept. Let the guest know, or send a special offer on the conversation.
await notifyTeam(`Request ${id} expired before anyone answered it`)
}
}If you're an AI agent
The booking request expired on Airbnb (24 hours unanswered). Do not retry. Message the guest or send a special offer on the conversation if the stay is still wanted.
Related
- Error reference — the full table of error codes
- Using Repull from AI agents — patterns for handling errors in agent loops
- Inquiries & booking requests
- request_no_longer_pending
Hit an error that isn't covered? Email hello@repull.dev with the request id from the response headers.