POST /v1/validate
Re-price a previously-seen offer with ±2% tolerance.
Re-check a price you obtained earlier (from /decide or /search/stays). Returns
still_valid: true when the live price is within ±2%, otherwise a refreshed offer
plus a reason.
Endpoint
POST /v1/validate
Parameters
| Parameter | Type | Description |
|---|---|---|
property_id * | string | From a prior /decide or /search/stays result. |
dates * | StayDates | check_in, check_out. |
guests * | Guests | Party composition. |
offer_to_compare * | OfferToCompare | total_eur (required), ota (optional). |
* required
Request
curl -X POST https://api.b2a.bluepillow.com/v1/validate \
-H "Authorization: Bearer $B2A_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"property_id": "prop_abc123",
"dates": {"check_in": "2026-06-10", "check_out": "2026-06-13"},
"guests": {"adults": 2},
"offer_to_compare": {"ota": "Booking", "total_eur": 210.00}
}'
Response 200
{
"still_valid": false,
"price_delta_eur": 18.50,
"delta_percent": 8.8,
"refreshed_offer": {
"amount": 228.50,
"currency": "EUR",
"ota": "Booking",
"refundable": true
},
"reason": "price_changed"
}
reason is one of price_changed, sold_out, dates_unavailable. Null when
still_valid: true.
Errors
400 invalid_request · 401 authentication_failed · 429 rate_limited