Whimstay CapitalOne
Integration APIs
REST APIs exposed to partner integrations. All endpoints require a partner-issued a JWT token.
⚙
Authentication & Common Response
Request Headers
Every request must include a valid Authorization header with a JWT token
(Bearer <token>). POST requests also require Content-Type: application/json.
Response Envelope Fields
| Field | Type | Description |
|---|---|---|
| time | string | Server timestamp (ISO-8601) |
| status | integer | HTTP-style status code |
| message | string | Short human-readable message |
| errorCode | long | null | Internal error code on failure; null on success |
| errorMessage | string | null | Detailed error description on failure |
| data | object | null | Endpoint-specific payload |
1
Calendar Availability API
Returns day-by-day availability and for a property over a date range.
GET
/v1/capital-one/calendar-availability
Request — Query Parameters
Validation: startDate must be today or later · endDate must be ≥ startDate
| Parameter | Type | Required | Description |
|---|---|---|---|
| propertyId | string | Yes | Whimstay property ID |
| startDate | string | No | Inclusive range start Format: yyyy-MM-dd · Default: today |
| endDate | string | No | Inclusive range end Format: yyyy-MM-dd |
Response — data
| Field | Type | Description |
|---|---|---|
| propertyId | string | Whimstay property ID |
| days | array | One entry per day in the requested range (see Day Object below) |
| errorMessage | string | null | Error message if any or null |
Response — Day Object (days[])
| Field | Type | Description |
|---|---|---|
| date | string | Calendar date Format: yyyy-MM-dd |
| arrival | boolean | Guest may check in on this date |
| departure | boolean | Guest may check out on this date |
| available | boolean | Date is open (not blocked or booked) |
| minStay | int | Minimum nights from this date |
| maxStay | int | Maximum nights from this date |
2
Quote API
Returns a real-time price quote for a stay.
POST
/v1/capital-one/quote
Request
Validation: checkIn must be today or later · checkOut must be after checkIn · Stay length must not exceed property's maxStay
| Field | Type | Required | Description |
|---|---|---|---|
| propertyId | string | Yes | Whimstay property ID |
| checkIn | string | Yes | Check-in date Format: yyyy-MM-dd |
| checkOut | string | Yes | Check-out date Format: yyyy-MM-dd |
| adults | int | Yes | Number of adults, ≥ 1 |
| children | int | No | Number of children |
| pets | int | No | Number of pets |
Response — data
| Field | Type | Description |
|---|---|---|
| propertyId | string | Whimstay property ID |
| currency | string | Currency code (USD only) |
| total | double | Final total amount payable for the stay |
| errorMessage | string | null | Populated on validation or availability errors |
3
Property Detail Page (PDP) API
Returns the full dataset for a single property — descriptions, images, amenities info.
GET
/v1/capital-one/property/{propertyId}
Request — Path Parameter
| Parameter | Type | Required | Description |
|---|---|---|---|
| propertyId | string | Yes | Whimstay property ID (e.g. 6f15e9964d13cca9a68a8965c7dbca2h) |
Response — Identity
| Field | Type | Description |
|---|---|---|
| propertyId | string | Whimstay property ID |
| propertyName | string | Property display name |
| propertyType | string | Property type (e.g. House, Apartment) |
| maxGuests | int | Maximum guest capacity |
| bedrooms | int | Number of bedrooms |
| bathrooms | float | Number of bathrooms |
| beds | int | Number of beds |
| checkInTime | string | Check-in time |
| checkOutTime | string | Check-out time |
| description | string | Full property description |
| images | list<string> | List of image URLs |
| amenities | list<string> | List of feature names (e.g. "WiFi", "Kitchen") |
| petsAllowed | boolean | If property is pet-friendly or not |
| partiesAllowed | boolean | If parties are allowed or not |
| smokingAllowed | boolean | If smoking is allowed or not |
| childFriendly | boolean | If children are allowed or not |
| wheelchairAccessible | boolean | If wheelchair access is available or not |