Make someone a builder
POST
/spaces/builders
const url = 'https://spaces.work.optidata.cloud/api/spaces/builders';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"uuid":"5b1c7e22-9d40-4f6a-b3c8-1e2f3a4b5c6d"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
uuid
required
The user’s uuid.
string
Examples
Examplegrant
{ "uuid": "5b1c7e22-9d40-4f6a-b3c8-1e2f3a4b5c6d"}Responses
Section titled “ Responses ”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."}Not a builder
{ "message": "You do not have permission to view this map."}Not a super-administrator
{ "message": "You do not have permission to activate this map."}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." ] }}