listing_not_on_airbnb
The listing named in a special offer is not linked to Airbnb in this workspace.
HTTP 422The request was understood but refused as sent. Change it before retrying.
When it fires
POST /v1/conversations/{id}/special-offers named a listingId that is not linked to Airbnb in this workspace, so there is no Airbnb listing to make the offer for. field is listingId. Nothing was sent.
Response shape
Every Repull error follows the same envelope. The code is stable and safe to switch on.
{
"error": {
"code": "listing_not_on_airbnb",
"message": "Listing 4118 is not linked to Airbnb in this workspace, so an Airbnb special offer cannot be made for it.",
"fix": "Offer a listing that is connected to Airbnb, or omit `listingId` to offer the listing the guest asked about.",
"docs_url": "https://repull.dev/docs/channels/airbnb/inquiries-and-requests",
"request_id": "req_01J5X7Y8Z9ABCDEF12345678",
"field": "listingId"
}
}How to fix
- Omit `listingId` to offer the listing the guest asked about. That is the usual case.
- To offer a different listing, pass its Repull listing id (from `GET /v1/properties`), not its Airbnb id, and make sure it is connected to Airbnb.
Examples
curl
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
const res = await fetch('https://api.repull.dev/v1/conversations/164743/special-offers', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.REPULL_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': 'offer-164743-1',
},
// No listingId: offer the listing the guest asked about
body: JSON.stringify({ checkIn: '2026-10-01', checkOut: '2026-10-05', guests: { adults: 2 }, totalPrice: 880 }),
})If you're an AI agent
The listingId in the special offer is not linked to Airbnb. Nothing was sent. Omit listingId to offer the listing the guest asked about, or pass the Repull id of an Airbnb-connected listing.
Related
- Error reference — the full table of error codes
- Using Repull from AI agents — patterns for handling errors in agent loops
- Special offers
- IDs & External IDs
Hit an error that isn't covered? Email hello@repull.dev with the request id from the response headers.
AI