Create a quote
Creates a price quote for a listing, dates, and guest count. Quotes can be used before creating a reservation.
Authorization
x-calry-api-key In: header
Query Parameters
Currency to display pricing in (ISO 4217)
Header Parameters
Optional tenant ID to specify which tenant to operate as. Controls access to listings and affects quote creation. If not provided, the default tenant will be used.
Request Body
application/json
Quote details including listing ID, dates, and number of guests
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/api/v1/quote" \ -H "Content-Type: application/json" \ -d '{ "listingID": "123e4567-e89b-12d3-a456-426614174000", "checkInDate": "2025-06-01", "checkOutDate": "2025-06-05", "guests": 2 }'{
"listingID": "123e4567-e89b-12d3-a456-426614174000",
"checkInDate": "2025-12-15",
"checkOutDate": "2025-12-20",
"guests": 2,
"currency": "USD",
"totalPrice": 485,
"priceBeforeTaxes": 400,
"components": {
"basePrice": {
"amount": 393.85,
"breakdown": [
{
"name": "Base rate",
"description": "Base rate",
"price": 393.85
}
]
},
"fees": {
"amount": 0,
"breakdown": []
},
"taxes": {
"amount": 90.42,
"breakdown": [
{
"name": "City / Tourism tax",
"description": "City / Tourism tax",
"price": 10.36
},
{
"name": "Hotel tax",
"description": "Hotel tax",
"price": 10.36
},
{
"name": "Lodging tax",
"description": "Lodging tax",
"price": 10.36
},
{
"name": "Occupancy tax",
"description": "Occupancy tax",
"price": 10.36
},
{
"name": "Other taxes",
"description": "Other taxes",
"price": 10.36
},
{
"name": "Room tax",
"description": "Room tax",
"price": 10.36
},
{
"name": "Sales tax",
"description": "Sales tax",
"price": 9.42
},
{
"name": "VAT / GST",
"description": "VAT / GST",
"price": 18.84
}
]
},
"discounts": {
"amount": 0,
"breakdown": []
}
},
"priceModifications": {
"defaultDiscount": {
"percentage": 10,
"value": 50
},
"markup": {
"percentage": 10,
"value": 50
},
"promotionDiscount": {
"percentage": 10,
"value": 50,
"promotionID": "123e4567-e89b-12d3-a456-426614174000",
"promotionName": "Summer Special"
}
},
"deposit": 200,
"originalTotalPrice": 600,
"originalBasePrice": {
"amount": 500,
"breakdown": [
{
"name": "Nightly Rate",
"description": "Price per night",
"price": 100,
"id": "nightly-rate",
"type": "rate"
},
{
"name": "Weekend Rate",
"description": "Weekend premium",
"price": 50,
"id": "weekend-rate",
"type": "rate"
}
]
},
"promotionID": "123e4567-e89b-12d3-a456-426614174000",
"promotionName": "Summer Special",
"quoteMetadata": {
"quoteId": "675893fc754a15b1234cf325",
"ratePlanId": "abc123def456"
},
"quoteToken": "string",
"quoteTokenExpiresAt": "string"
}{
"timestamp": "2025-03-05T11:45:49.631Z",
"path": "<URL_PATH>",
"message": "Authentication failed",
"details": []
}