API Reference

The Workshop REST API lets you manage a space, its members, roles and invites.

Base URL

  • Production: https://api.aibee.cc/v1
  • Local dev: http://127.0.0.1:8090/v1
  • Web gateway: the browser app proxies through /api/req/v1/...

Authentication

Every request must carry the account token, the target space and the platform identifier:

Authorization: Bearer <YOUR_API_TOKEN>
space-id: <YOUR_SPACE_ID>
platform: web
Content-Type: application/json
HeaderValueRequired
AuthorizationBearer <token>yes
space-idinteger space idyes
platformwebyes
Content-Typeapplication/jsonfor POST / PUT

Team members

List members

GET /v1/space/member?expand=account,role&page=1&page_size=20

Query parameters:

  • page — page number (default 1)
  • page_size — items per page (default 10)
  • order_by — e.g. id DESC
  • expand — related entities to populate, use account,role
  • keyword — search by member name or email

View a member

GET /v1/space/member/{id}

Update a member role

PUT /v1/space/member/{id}
Content-Type: application/json

{ "role_id": 12 }

The space owner (role_id: -1) cannot be changed.

Remove a member

DELETE /v1/space/member/{id}

The space owner (role_id: -1) cannot be removed; the request returns 400 INVALID_PAYLOAD.

Invites

Create an invite

POST /v1/space/invite
{
  "code": 200,
  "data": {
    "id": 55,
    "uid": "a1b2c3d4e5f67890",
    "status": 1,
    "created_at": 1791273692
  }
}

Invites are valid for 14 days. Once accepted, status becomes 2; after expiry it becomes 3.

List invites

GET /v1/space/invite?status=1

status: 1 active, 2 used, 3 expired.

Revoke an invite

DELETE /v1/space/invite/{id}

Roles

List roles and permissions

GET /v1/space/role?expand=permissions

Create a role

POST /v1/space/role
Content-Type: application/json

{ "name": "Developer", "is_default": 3 }

Delete a role

DELETE /v1/space/role/{id}

Errors

StatusMessageMeaning
400INVALID_PAYLOADInvalid parameter or attempted to modify/remove the owner
400DATA_LIMITSSpace member limit reached for the current plan
401INVALID_PAYLOADMissing or expired token
403INVALID_PERMISSIONAccount lacks permission
404DATA_NOT_FOUNDMember or invite id does not exist