Skip to main content

Quickstart

Make your first SpaceOS API call in under 5 minutes.

Prerequisites

  • A SpaceOS sandbox account (contact your ZenSpace representative)
  • curl or any HTTP client (Postman, Insomnia, etc.)

Step 1: Get Your API Credentials

After your sandbox account is created, you'll receive:

  • API Base URL: https://api-spaceos.zenspace.io
  • API Key: for system-level access (x-api-key)
  • Or OTP login credentials for user-level access

Step 2: Authenticate

SpaceOS uses OTP-based authentication. Request an OTP:

curl -X POST https://api-spaceos.zenspace.io/api/v1/auth/otp/request \
-H "Content-Type: application/json" \
-d '{
"email": "your-email@example.com"
}'

Verify the OTP to get a JWT:

curl -X POST https://api-spaceos.zenspace.io/api/v1/auth/otp/verify \
-H "Content-Type: application/json" \
-d '{
"email": "your-email@example.com",
"otp": "123456"
}'

Response:

{
"status": 200,
"success": true,
"data": {
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "usr-abc123",
"email": "your-email@example.com"
}
}
}

Step 3: List Organizations

Use the JWT to list your organizations:

curl https://api-spaceos.zenspace.io/api/v1/organizations \
-H "Authorization: Bearer YOUR_JWT_TOKEN"

Response:

{
"status": 200,
"success": true,
"data": [
{
"id": "org-xyz789",
"name": "My Workspace",
"slug": "my-workspace"
}
]
}

Step 4: List Available Spaces

curl https://api-spaceos.zenspace.io/api/v1/meeting-spaces?organization_id=org-xyz789 \
-H "Authorization: Bearer YOUR_JWT_TOKEN"

Step 5: Create a Booking

curl -X POST https://api-spaceos.zenspace.io/api/v1/bookings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-d '{
"meeting_space_id": "ms-abc123",
"start_time": "2025-01-15T10:00:00Z",
"end_time": "2025-01-15T11:00:00Z",
"organizer_name": "John Doe",
"organizer_email": "john@example.com"
}'

API Response Format

All SpaceOS APIs return a consistent envelope:

{
"status": 200,
"success": true,
"message": "Optional message",
"data": { },
"timestamp": "2025-01-15T10:00:00.000Z",
"meta": {
"page": 1,
"limit": 20,
"total": 100
}
}

Next Steps