Skip to content
KismetKismetDevelopers
Beta accessllms.txt

Get a published catalog group

View .md

GET /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.

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.

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

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.

Terminal window
curl --request GET \
"$KISMET_API_ORIGIN/v1/developer/bookable-product-groups/waterfront" \
--header "Authorization: Bearer $KISMET_DEVELOPER_API_KEY" \
--header "Accept: application/json"
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.
{
"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": []
}

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"
}
}
}
}
}
}
}
}