conversation_already_booked
The guest on this conversation has already booked, so there is nothing to pre-approve.
HTTP 409The resource is not in a state that allows this operation.
When it fires
POST /v1/conversations/{id}/pre-approval was called on a conversation that already has a confirmed reservation. A pre-approval answers an open inquiry; once the guest has booked there is nothing left to approve. 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": "conversation_already_booked",
"message": "Conversation 164743 already has confirmed reservation 236354; a pre-approval only applies to an open inquiry.",
"fix": "The guest has booked; there is nothing to pre-approve. Read the booking with `GET /v1/reservations?listing_id=…`.",
"docs_url": "https://repull.dev/docs/channels/airbnb/inquiries-and-requests",
"request_id": "req_01J5X7Y8Z9ABCDEF12345678"
}
}How to fix
- Do not retry. The guest has booked, which is what the pre-approval was for.
- Read the booking; `message` names the reservation id.
- Only pre-approve inquiries listed with `status: "open"` by `GET /v1/inquiries`.
Examples
curl
curl https://api.repull.dev/v1/reservations/236354 \ -H "Authorization: Bearer sk_live_YOUR_KEY"
TypeScript
// Pre-approve only inquiries that are still open
const { data } = await fetch('https://api.repull.dev/v1/inquiries?status=open', {
headers: { Authorization: `Bearer ${process.env.REPULL_API_KEY}` },
}).then((r) => r.json())If you're an AI agent
The guest already booked on this conversation, so there is nothing to pre-approve. Do not retry; read the reservation instead.
Related
- Error reference — the full table of error codes
- Using Repull from AI agents — patterns for handling errors in agent loops
- Inquiries & booking requests
- inquiry_no_longer_open
Hit an error that isn't covered? Email hello@repull.dev with the request id from the response headers.
AI