reservation_not_created
A direct booking was declined for a booking reason, for example dates that cannot be booked. `message` says why.
When it fires
A direct booking — on a listing that is not managed in a PMS — was declined for a booking reason, for example dates that cannot be booked. message says why. Nothing was created.
Usually 422. When the booking step produced no reservation at all, the status is 502 with the same code.
Response shape
Every Repull error follows the same envelope. The code is stable and safe to switch on.
{
"error": {
"code": "reservation_not_created",
"message": "<why the booking was declined>",
"fix": "Check availability for the range with `GET /v1/availability/{propertyId}`.",
"docs_url": "https://repull.dev/docs/errors/reservation_not_created",
"request_id": "req_01J5X7Y8Z9ABCDEF12345678"
}
}How to fix
- Read `message` for the reason.
- Check the range with `GET /v1/availability/{propertyId}` and pick dates that are open.
- On a 502, retry with the same `Idempotency-Key`.
Examples
curl
curl "https://api.repull.dev/v1/availability/4119?from=2026-10-01&to=2026-10-05" \ -H "Authorization: Bearer sk_live_YOUR_KEY"
TypeScript
const { error } = await res.json()
if (error?.code === 'reservation_not_created') {
if (res.status === 502) { /* retry with the same Idempotency-Key */ }
else return { declined: true, reason: error.message } // pick other dates
}If you're an AI agent
The direct booking was declined; `message` says why. Check availability with GET /v1/availability/{propertyId} and choose other dates. Retry the same request only on a 502, with the same Idempotency-Key.
Related
- Error reference — the full table of error codes
- Using Repull from AI agents — patterns for handling errors in agent loops
- Creating reservations
- Check availability
Hit an error that isn't covered? Email hello@repull.dev with the request id from the response headers.