Skip to content
KismetKismetDevelopers
Beta accessllms.txt

List published catalog groups for a collection

View .md

GET /v1/developer/collections/{collection}/bookable-product-groups

Operation ID: listBookableProductGroups

Returns the published catalog hierarchy available to this installation. TEST installations may request view=staging to include only explicitly approved, unexpired staging groups; room reads additionally require the independent inventory preview grant; no booking writes are enabled. The core resource is a bookable-product group; type carries the installed vertical vocabulary. In the Vacation Rental pack, areas, resorts, and curated property groups are all vacation_rental_group resources. Members-only groups are never served on this surface. For dynamically curated groups, membership and memberCount reflect the most recent scheduled membership refresh. 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
semanticType query UNCLASSIFIED | BUILDING | NEIGHBORHOOD no Filter by canonical classification before pagination. Omit for all classifications. Independent of STANDARD/DROP grouping behavior.
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.
cursor query string no
limit query integer no
collection 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/collections/example-collection/bookable-product-groups" \
--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.
{
"data": [
{
"resourceType": "bookable_product_group",
"type": "vacation_rental_group",
"id": "33333333-3333-4333-8333-333333333333",
"slug": "old-port",
"name": "Old Port",
"description": "Walkable stays near the waterfront and historic district.",
"collection": {
"id": "11111111-1111-4111-8111-111111111111",
"slug": "sandbox-stays",
"name": "Sandbox Stays"
},
"classification": {
"marketingRegion": "Portland",
"tags": [
"walkable",
"waterfront"
]
},
"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"
]
}
],
"page": {
"limit": 20,
"nextCursor": null
}
}

Content type: application/json. Required fields, nullable values, and nested structures are defined below.

View complete response schema
{
"type": "object",
"additionalProperties": false,
"required": [
"data",
"page"
],
"properties": {
"data": {
"type": "array",
"items": {
"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"
}
}
}
}
}
}
}
}
},
"page": {
"type": "object",
"additionalProperties": false,
"required": [
"limit",
"nextCursor"
],
"properties": {
"limit": {
"type": "integer"
},
"nextCursor": {
"type": [
"null",
"string"
]
}
}
}
}
}