List spaces
GET
/spaces
const url = 'https://spaces.work.optidata.cloud/api/spaces?include_archived=false&page=1';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://spaces.work.optidata.cloud/api/spaces?include_archived=false&page=1' \ --header 'Authorization: Bearer <token>'Every space of your company, ordered by name, 15 per page. Archived spaces
are left out unless include_archived is set.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters”include_archived
boolean
Include archived spaces.
page
integer
Page number, starting at 1.
Responses
Section titled “ Responses ”A page of spaces.
Media typeapplication/json
A page of spaces.
object
current_page
required
integer
data
required
Array<object>
object
id
required
integer
uuid
required
string format: uuid
hash
required
The space’s identifier in links.
string
cuid
Your company’s id.
string
owner_uuid
The user who created the space; null for the company’s default space.
string | null
name
required
string
slug
required
string
description
string | null
map
One of the built-in offices. It is used when your company has no active world of its own.
string
is_archived
required
boolean
archived_at
string | null format: date-time
created_at
string format: date-time
updated_at
string format: date-time
deleted_at
string | null format: date-time
first_page_url
string
from
integer | null
last_page
integer
last_page_url
string
links
Array<object>
object
url
string | null
label
string
page
integer | null
active
boolean
next_page_url
string | null
path
string
per_page
required
integer
prev_page_url
string | null
to
integer | null
total
required
integer
Examples
Examplespaces
{ "current_page": 1, "data": [ { "id": 2, "uuid": "a3051110-3152-412d-a015-6d0228be403e", "cuid": "7f3c2a10-5b8e-4d21-9c6a-0e4f1b2d3c4a", "owner_uuid": "2d9e8f70-1a3b-4c5d-8e9f-a0b1c2d3e4f5", "name": "Acme HQ", "slug": "acme-hq", "description": "The whole company, one floor.", "map": "office-classic", "hash": "a3051110-31f8-4b91-8026-owt42-e19896afc357", "is_archived": false, "archived_at": null, "created_at": "2026-10-19T14:52:44.000000Z", "updated_at": "2026-10-19T14:52:44.000000Z", "deleted_at": null } ], "first_page_url": "https://spaces.work.optidata.cloud/api/spaces?page=1", "from": 1, "last_page": 1, "last_page_url": "https://spaces.work.optidata.cloud/api/spaces?page=1", "links": [ { "url": null, "label": "« Previous", "page": null, "active": false }, { "url": "https://spaces.work.optidata.cloud/api/spaces?page=1", "label": "1", "page": 1, "active": true }, { "url": null, "label": "Next »", "page": null, "active": false } ], "next_page_url": null, "path": "https://spaces.work.optidata.cloud/api/spaces", "per_page": 15, "prev_page_url": null, "to": 1, "total": 1}No authentication key was sent.
Media typeapplication/json
Authentication failures use an error key rather than message.
object
error
required
string
Examples
Examplemissing
No bearer token sent
{ "error": "JWT passport exception: Missing bearer token in request"}The authentication key is expired or not recognised. Get a fresh one and retry.
Media typeapplication/json
Authentication failures use an error key rather than message.
object
error
required
string
Examples
Exampleexpired
{ "error": "JWT passport expired: Passport expired"}