Skip to content

Update a space

PATCH
/spaces/{space}
curl --request PATCH \
--url https://spaces.work.optidata.cloud/api/spaces/a3051110-3152-412d-a015-6d0228be403e \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "Acme HQ (2nd floor)", "description": "Product and design." }'

Changes the space’s name, slug, description or built-in layout. Send only the fields to change. Only the space’s owner or a company super-administrator may update it.

space
required
string

The space’s uuid or hash.

Media typeapplication/json
object
name
string
<= 255 characters
slug
string
<= 255 characters
description
string | null
<= 255 characters
map

One of the built-in offices. It is used when your company has no active world of its own.

string
Allowed values: office-classic office-small office-open
Examples
Examplerename
{
"name": "Acme HQ (2nd floor)",
"description": "Product and design."
}

The updated space.

Media typeapplication/json
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
Allowed values: office-classic office-small office-open
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
Examples
Exampleupdated
{
"id": 2,
"uuid": "a3051110-3152-412d-a015-6d0228be403e",
"cuid": "7f3c2a10-5b8e-4d21-9c6a-0e4f1b2d3c4a",
"owner_uuid": "2d9e8f70-1a3b-4c5d-8e9f-a0b1c2d3e4f5",
"name": "Acme HQ (2nd floor)",
"slug": "acme-hq",
"description": "Product and design.",
"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:55.000000Z",
"deleted_at": null
}

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 caller is not allowed to do this (see “Who may do what”), or the authentication key is not recognised (empty message).

Media typeapplication/json
object
message
required
string
Examples

Not the space's owner

{
"message": "You do not have permission to update this space."
}

Nothing has this identifier.

Media typeapplication/json
object
message
required
string
Examplegenerated
{
"message": "example"
}

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"
}

The body failed validation.

Media typeapplication/json
object
message
required

The first validation message.

string
errors
required

Validation messages keyed by field name.

object
key
additional properties
Array<string>
Examples
ExampleemptyName
{
"message": "The name field is required.",
"errors": {
"name": [
"The name field is required."
]
}
}