Skip to content

Make someone a builder

POST
/spaces/builders
curl --request POST \
--url https://spaces.work.optidata.cloud/api/spaces/builders \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "uuid": "5b1c7e22-9d40-4f6a-b3c8-1e2f3a4b5c6d" }'

Allows a user of the company to design worlds. Granting someone who is already a builder changes nothing and returns the existing grant. Company super-administrators only.

Media typeapplication/json
object
uuid
required

The user’s uuid.

string
<= 40 characters
Examples
Examplegrant
{
"uuid": "5b1c7e22-9d40-4f6a-b3c8-1e2f3a4b5c6d"
}

The grant.

Media typeapplication/json
object
uuid
required
string
granted_by_uuid
required
string
created_at
required
string format: date-time
Examples
Examplegranted
{
"uuid": "5b1c7e22-9d40-4f6a-b3c8-1e2f3a4b5c6d",
"granted_by_uuid": "2d9e8f70-1a3b-4c5d-8e9f-a0b1c2d3e4f5",
"created_at": "2026-10-19T11:54:10-03:00"
}

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

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

uuid is missing.

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
Examplemissing
{
"message": "The user field is required.",
"errors": {
"uuid": [
"The user field is required."
]
}
}