Get a published catalog group
View .mdGET /v1/developer/bookable-product-groups/{group}
Operation ID: getBookableProductGroup
Returns one catalog group by id or slug. Published by default; TEST view=staging includes only explicitly approved, unexpired groups. Follow links.bookableProducts, or pass the group slug to catalog and availability reads, to keep area and resort pages on the same live collection membership plane.
Build a TEST catalog preview: setup, SDK and REST examples, independent approval expiry, and room-preview boundaries. Published remains the default.
Contract status
Section titled “Contract status”| Field | Value |
|---|---|
| Maturity | beta |
| Required capability | vacation_rentals.read |
| Freshness class | published-content |
| Quota cost | 1 |
All operations require a Kismet Developer Bearer credential. Collection and resource authority is resolved from the credential’s installation grants; identifiers in the URL never grant access.
Request parameters
Section titled “Request parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
view |
query | published | staging | no | TEST-only opt-in to explicitly approved, unexpired staging catalog and room reads. Omit for published inventory. Does not authorize pricing, booking, or publication. |
group |
path | string | yes |
Request body
Section titled “Request body”This operation has no JSON request body.
Set KISMET_API_ORIGIN=https://api.ksmt.app and configure KISMET_DEVELOPER_API_KEY in your environment. Run server-credential requests from your backend, not browser code.
curl --request GET \ "$KISMET_API_ORIGIN/v1/developer/bookable-product-groups/waterfront" \ --header "Authorization: Bearer $KISMET_DEVELOPER_API_KEY" \ --header "Accept: application/json"Responses
Section titled “Responses”| Status | Meaning |
|---|---|
| 200 | Success. |
| 400 | Invalid request parameters or body. |
| 401 | Missing, invalid, expired, or inappropriate credential/session. |
| 403 | Credential lacks the required grant/capability, or an origin/CSRF check failed. |
| 429 | Rate limit or quota exceeded; inspect response metadata before retrying. |
| 503 | A required Kismet dependency is temporarily unavailable. |
200 response example
Section titled “200 response example”{ "resourceType": "bookable_product_group", "type": "vacation_rental_group", "id": "33333333-3333-4333-8333-333333333333", "slug": "old-port", "name": "Old Port", "collection": { "id": "11111111-1111-4111-8111-111111111111", "slug": "sandbox-stays", "name": "Sandbox Stays" }, "classification": { "marketingRegion": "Portland", "tags": [ "walkable" ] }, "media": {}, "memberCount": 8, "links": { "self": "/v1/developer/bookable-product-groups/33333333-3333-4333-8333-333333333333", "bookableProducts": "/v1/developer/collections/11111111-1111-4111-8111-111111111111/vacation-rentals?group=old-port" }, "publication": { "updatedAt": "2026-08-25T00:00:00.000Z" }, "capabilities": [ "vacation_rentals.read" ], "content": { "faqs": [] }, "reviews": { "aggregate": { "overallRating": 4.86, "reviewCount": 1042 }, "featured": [ { "id": "44444444-4444-4444-8444-444444444444", "vacationRentalId": "22222222-2222-4222-8222-222222222222", "reviewerDisplayName": "Jamie", "reviewText": "Wonderful stay — spotless, quiet, and a short walk to the water.", "overallRating": 5, "channel": "airbnb2", "propertyName": "Sandbox Chalet", "propertyImage": { "url": "https://kismet.travel/vrm/sandbox-stays/images/chalet.jpg" } } ] }, "children": [ { "id": "55555555-5555-4555-8555-555555555555", "slug": "old-port-waterfront", "name": "Waterfront", "memberCount": 3 } ], "stories": []}200 response schema
Section titled “200 response schema”Content type: application/json. Required fields, nullable values, and nested structures are defined below.
View complete response schema
{ "type": "object", "additionalProperties": false, "required": [ "resourceType", "type", "id", "slug", "name", "collection", "classification", "media", "memberCount", "links", "publication", "capabilities" ], "properties": { "resourceType": { "enum": [ "bookable_product_group" ] }, "type": { "enum": [ "vacation_rental_group" ] }, "id": { "type": "string" }, "slug": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "collection": { "type": "object", "additionalProperties": false, "required": [ "id", "slug", "name" ], "properties": { "id": { "type": "string" }, "slug": { "type": "string" }, "name": { "type": "string" } } }, "classification": { "type": "object", "additionalProperties": false, "required": [ "tags" ], "properties": { "semanticType": { "type": "string", "enum": [ "UNCLASSIFIED", "BUILDING", "NEIGHBORHOOD" ] }, "marketingRegion": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" } } } }, "media": { "type": "object", "additionalProperties": false, "properties": { "hero": { "type": "object", "additionalProperties": false, "required": [ "url" ], "properties": { "url": { "type": "string", "format": "uri" }, "alt": { "type": "string" }, "caption": { "type": "string" } } } } }, "parent": { "type": "object", "additionalProperties": false, "required": [ "id", "slug", "name" ], "properties": { "id": { "type": "string" }, "slug": { "type": "string" }, "name": { "type": "string" } } }, "memberCount": { "type": "integer", "minimum": 0 }, "links": { "type": "object", "additionalProperties": false, "required": [ "self", "bookableProducts" ], "properties": { "self": { "type": "string" }, "bookableProducts": { "type": "string" } } }, "publication": { "type": "object", "additionalProperties": false, "required": [ "updatedAt" ], "properties": { "updatedAt": { "type": "string", "format": "date-time" }, "visibility": { "type": "string", "enum": [ "published", "staging" ] }, "stagingExpiresAt": { "type": "string", "format": "date-time" } } }, "capabilities": { "type": "array", "items": { "type": "string" } }, "content": { "type": "object", "additionalProperties": false, "required": [ "faqs" ], "properties": { "bodyHtml": { "type": "string" }, "faqs": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "question", "answerHtml" ], "properties": { "question": { "type": "string" }, "answerHtml": { "type": "string" } } } } } }, "reviews": { "type": "object", "additionalProperties": false, "required": [ "aggregate", "featured" ], "properties": { "aggregate": { "anyOf": [ { "type": "null" }, { "type": "object", "additionalProperties": false, "required": [ "overallRating", "reviewCount" ], "properties": { "overallRating": { "type": "number" }, "reviewCount": { "type": "integer", "minimum": 0 } } } ] }, "featured": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "id", "vacationRentalId", "reviewerDisplayName", "reviewText", "overallRating", "channel", "propertyName" ], "properties": { "id": { "type": "string" }, "vacationRentalId": { "type": "string" }, "reviewerDisplayName": { "type": "string" }, "reviewText": { "type": "string" }, "overallRating": { "type": "number" }, "channel": { "type": "string" }, "propertyName": { "type": "string" }, "propertyImage": { "type": "object", "additionalProperties": false, "required": [ "url" ], "properties": { "url": { "type": "string", "format": "uri" }, "alt": { "type": "string" }, "caption": { "type": "string" } } } } } } } }, "children": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "id", "slug", "name", "memberCount" ], "properties": { "id": { "type": "string" }, "slug": { "type": "string" }, "name": { "type": "string" }, "hero": { "type": "object", "additionalProperties": false, "required": [ "url" ], "properties": { "url": { "type": "string", "format": "uri" }, "alt": { "type": "string" }, "caption": { "type": "string" } } }, "memberCount": { "type": "integer", "minimum": 0 } } } }, "stories": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "id", "slug", "title" ], "properties": { "id": { "type": "string" }, "slug": { "type": "string" }, "title": { "type": "string" }, "excerpt": { "type": "string" }, "hero": { "type": "object", "additionalProperties": false, "required": [ "url" ], "properties": { "url": { "type": "string", "format": "uri" }, "alt": { "type": "string" }, "caption": { "type": "string" } } } } } } }}