Skip to main content

Spaces

Spaces in ZenCore are organized hierarchically: Organization → Space Groups → Meeting Spaces.

Space Groups

Logical grouping of meeting spaces, typically representing a physical location.

List Space Groups

GET /api/v1/space-groups?organization_id=org-123
Authorization: Bearer <jwt>

Create Space Group

POST /api/v1/space-groups
Authorization: Bearer <jwt>
Content-Type: application/json

{
"organization_id": "org-123",
"name": "Downtown Office - Floor 3",
"timezone": "America/New_York",
"address": "123 Main St, New York, NY 10001"
}

Meeting Spaces

Bookable units with capacity, pricing, and availability.

List Meeting Spaces

GET /api/v1/meeting-spaces?organization_id=org-123
Authorization: Bearer <jwt>

Get Meeting Space by Slug (Public)

GET /api/v1/meeting-spaces/by-slug/:slug

Create Meeting Space

POST /api/v1/meeting-spaces
Authorization: Bearer <jwt>
Content-Type: application/json

{
"space_group_id": "sg-456",
"name": "Conference Room A",
"slug": "conference-room-a",
"capacity": 8,
"description": "8-person conference room with AV equipment",
"amenities": ["projector", "whiteboard", "video_conferencing"],
"booking_increment": 30
}

Check Availability

GET /api/v1/meeting-spaces/:id/availability?date=2025-01-15
Authorization: Bearer <jwt>

Returns time slots with availability status, respecting business hours, existing bookings, and unavailability periods.

The v1 availability endpoint honors per-space booking_increment for single-space queries. Group endpoints align all member spaces to the smallest booking_increment in the group.

Next Steps