Get all listings for workspace
Lists inventory for the current workspace and tenant, with pagination and filters. For availability searches, use the search endpoints.
Authorization
x-calry-api-key In: header
Query Parameters
Currency code for displaying pricing (ISO 4217)
Filter listings by integration account ID
Filter listings by status
"ACTIVE" | "INACTIVE"Filter by listing source
"imported" | "self"Ordering of the result. 'rank' returns the requesting tenant's ranked listings first (rank ascending), then unranked ones in the default order — the same order the booking site's search uses (no effect on channel-key requests). 'name' orders alphabetically by listing name. Omitted: the default recently-updated-first order.
"rank" | "name"Case-insensitive text search over the listing name and internal name. Whitespace-separated words must all match, in any order ("comfort double studio" matches "Studio Modern Comfort Double"). Applied before pagination, so meta.total counts matches.
length <= 100Ownership scope: 'self' hides network-imported listings; 'all' (default) includes them.
"self" | "all"Collection the listing must belong to (a deployed site’s catalog scope). Unknown or foreign collections yield 404.
uuidMinimum number of guests the listing can accommodate
1 <= value <= 100Number of bedrooms
0 <= value <= 20Number of bathrooms
0 <= value <= 20Array of amenity IDs to filter by
Set to true to filter for pet-friendly listings
Array of property type values to filter by, such as Villa or Apartment
Array of tag IDs to filter by
Location coordinates in format "latitude,longitude"
Search radius in kilometers
0.1 <= value <= 100Page number for pagination
1 <= valueNumber of items per page
1 <= value <= 100Header Parameters
Optional tenant ID to specify which tenant to operate as. If not provided, the default tenant will be used.
Response Body
application/json
application/json
curl -X GET "https://example.com/api/v1/listing"{
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"providerID": "provider-listing-12345",
"integrationAccountID": "123e4567-e89b-12d3-a456-426614174000",
"tenantID": "123e4567-e89b-12d3-a456-426614174000",
"is_tenant_owned": true,
"rank": 2,
"name": "Luxury Beach Villa",
"internalName": "<HOST> Luxury Beach Villa",
"description": "Beautiful beachfront villa with stunning views",
"type": "Villa",
"propertyType": "MULTI_UNIT",
"thumbnailURL": "https://example.com/thumbnail.jpg",
"pictures": [
{
"url": "https://example.com/picture.jpg",
"description": "A beautiful picture of the listing"
}
],
"videos": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"type": "hosted",
"url": "https://cdn-zepl-prod.calry.app/ws-id/listing-id/videos/video-id.mp4",
"posterUrl": "https://example.com/poster.jpg",
"description": "Walkthrough of the villa and pool area",
"position": 0
}
],
"address": {
"city": "Miami Beach",
"line1": "123 Ocean Drive",
"state": "FL",
"country": "USA",
"postal_code": "70078"
},
"latitude": -80.1918,
"longitude": 25.7617,
"minimumNights": 3,
"maximumNights": 28,
"bookingLeadTimeHours": 48,
"maxOccupancy": 10,
"startPrice": 10,
"currency": "AED",
"timeZone": "Asia/Dubai",
"status": "ACTIVE",
"rating": {
"count": 23,
"average": 4.2
},
"bedroomCount": 3,
"bathroomCount": 3,
"rooms": {
"data": [
{
"name": "SLEEPING_ALCOVE",
"count": 1
},
{
"name": "LIVING-DINING_ROOM",
"count": 1
}
]
},
"checkIn": {
"op": "CHECK_IN",
"end": "18:00:00",
"start": "16:00:00"
},
"checkOut": {
"op": "CHECK_IN",
"end": "15:00:00"
},
"houseRules": {
"property1": null,
"property2": null
},
"listingDetails": {
"notes": "",
"rules": "House rules are NON-negotiable conditions of stay. Any violation of our house rules will result in the immediate cancellation of your reservation, without refund, and your removal from the property.",
"space": "",
"access": "",
"transit": "",
"interaction": "",
"instructions": "",
"neighborhood": ""
},
"contact": {
"name": "John Doe",
"firstName": "John",
"lastName": "Doe",
"email": [
"john.doe@example.com"
],
"phone": [
"+1234567890"
],
"address": "123 Main St, Anytown, USA",
"language": "en",
"country": "USA"
},
"unitCount": 3,
"parentPropertyID": "string",
"amenities": {
"categories": {
"Common Amenities": {
"categoryID": "common",
"values": [
{
"name": "Wifi",
"id": "amenity-123"
},
{
"name": "Kitchen",
"id": "amenity-123"
},
{
"name": "Iron",
"id": "amenity-123"
},
{
"name": "Pet friendly",
"id": "amenity-123"
},
{
"name": "Bed linens",
"id": "amenity-123"
}
]
},
"Outdoor": {
"categoryID": "outdoor",
"values": [
{
"name": "Smoking allowed",
"id": "amenity-123"
}
]
}
}
},
"tags": [
{
"id": "a1111111-1111-1111-1111-111111111111",
"name": "Beachfront"
},
{
"id": "b2222222-2222-2222-2222-222222222222",
"name": "Pet Friendly"
}
],
"rawAmenities": [
{
"id": 3,
"name": "Wireless"
},
{
"id": 6,
"name": "Swimming pool"
},
{
"id": 7,
"name": "Kitchen"
},
{
"id": 13,
"name": "Washing Machine"
},
{
"id": 30,
"name": "Shampoo"
},
{
"id": 32,
"name": "Iron"
},
{
"id": 33,
"name": "Laptop Friendly workspace"
},
{
"id": 34,
"name": "TV"
},
{
"id": 36,
"name": "Smoking allowed"
},
{
"id": 37,
"name": "Pets allowed"
},
{
"id": 41,
"name": "Suitable for events"
}
],
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2025-01-02T00:00:00.000Z",
"units": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"providerUnitID": "unit-123",
"name": "Ocean View Suite",
"description": "Beautiful suite with ocean views",
"inventoryCount": 2,
"maxOccupancy": 4,
"bedroomCount": 2,
"bathroomCount": 2,
"basePrice": 200,
"currency": "USD",
"isAutoGenerated": false,
"status": "ACTIVE",
"roomType": "Deluxe",
"amenities": [
{
"name": "Balcony",
"description": "Private balcony",
"type": "outdoor"
},
{
"name": "Mini Bar",
"description": "Stocked mini bar",
"type": "amenity"
}
],
"pictures": [
{
"url": "https://example.com/photo1.jpg",
"description": "Suite interior"
},
{
"url": "https://example.com/photo2.jpg",
"description": "Balcony view"
}
],
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2025-01-02T00:00:00.000Z"
}
]
}
],
"meta": {
"total": 100,
"limit": 15,
"totalPages": 8,
"current": 2,
"previous": 1,
"next": 3
}
}{
"timestamp": "2025-03-05T11:45:49.631Z",
"path": "<URL_PATH>",
"message": "Authentication failed",
"details": []
}