Quickstart

No signup. Permanent. Rate limit 60 req/min, 5000 req/day. Not a sensitive secret.

Getting started

Quickstart

Make your first /v1/decide call in under 5 minutes. No signup, no sandbox.

1
Grab a key
Use the key above (auto-issued on first visit) or call POST /v1/keys programmatically.
B2A_API_KEY=<your-key>
2
Make your first call
Build an Intent (location + dates + guests) and POST it. The Idempotency-Key header is required on all write endpoints.
# curl
curl https://api.b2a.bluepillow.com/v1/decide \
  -H "Authorization: Bearer $B2A_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "location": {"type": "destination_id", "value": "dest_<id>"},
    "dates":    {"check_in": "2026-06-10", "check_out": "2026-06-13"},
    "guests":   {"adults": 2},
    "context":  {"end_user_country": "IT", "currency": "EUR"}
  }'
3
Read the response
One recommended option plus up to five alternatives. Every option carries a Property with live price and OTA name.
{
  "recommended": {
    "property": {
      "id": "prop_abc123",
      "name": "Hotel Blue Sky",
      "property_type": "hotel",
      "rating": 4.7,
      "price": {"amount": 210.00, "currency": "EUR", "ota": "Booking"}
    }
  },
  "alternatives": [/* up to 5 more options */],
  "metadata": {
    "total_options_considered": 47,
    "request_id": "req_..."
  }
}
4
Hand off the booking
Pass the chosen property.id to POST /v1/bookings/initiate for a tracked deep link.
That's it. Your agent now has a booking decision — no parsing, no ranking logic to implement. Anonymous rate limit: 60 req/min, 5000 req/day.