Skip to main content

ZenCore Overview

ZenCore (zs-backend) is the core API and source of truth for everything commerce-related in SpaceOS — organizations, users, spaces, bookings, pricing, payments, refunds, vouchers, webhooks.

Stack

  • Runtime: Node.js + TypeScript
  • Framework: NestJS with URI versioning (/api/v1/...)
  • Database: PostgreSQL via TypeORM
  • Hosting: Cloud-managed (URL: https://api-spaceos.zenspace.io)

Module map

ZenCore is organized into ~50 NestJS modules grouped by domain:

DomainModules
Identity & Accessauth, users, roles, organization-user-mapping, permissions
Organization & Inventoryorganizations, space-groups, meeting-spaces, amenities
Availability & Schedulingbusiness-hours, space-unavailability, meeting-space-status, schedule
Booking & Commercebookings, pricing, payments, refunds, vouchers, stripe, payout-reports
Devices & Accessmeeting-space-devices, device-failure-policy, device-capabilities, user-device-access
Integrationswebhooks, third-party-connections, mrd-sessions, physical-space-mappings
Notificationsnotifications, email, realtime, push, user-notifications
Platform/Opsapi-keys, api-audit-logs, load-testing, version, event-types

Base URL & versioning

https://api-spaceos.zenspace.io/api/v1/...

All routes are prefixed with /api/v1/. Older /api/v0/ availability endpoints are retired — do not point new integrations there.

Response envelope

Every successful response follows this shape:

{
"status": 200,
"success": true,
"message": "Optional message",
"data": { ... },
"timestamp": "2026-05-10T10:00:00.000Z",
"meta": { "page": 1, "limit": 20, "total": 100 }
}

Errors:

{
"status": 400,
"success": false,
"message": "Validation failed",
"errors": [{ "field": "email", "message": "must be a valid email" }],
"timestamp": "2026-05-10T10:00:00.000Z"
}

Sections