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
| Header | Value | Required |
|---|---|---|
Authorization | Bearer <token> | yes |
space-id | integer space id | yes |
platform | web | yes |
Content-Type | application/json | for POST / PUT |
Team members
List members
GET /v1/space/member?expand=account,role&page=1&page_size=20
Query parameters:
page— page number (default1)page_size— items per page (default10)order_by— e.g.id DESCexpand— related entities to populate, useaccount,rolekeyword— 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
| Status | Message | Meaning |
|---|---|---|
400 | INVALID_PAYLOAD | Invalid parameter or attempted to modify/remove the owner |
400 | DATA_LIMITS | Space member limit reached for the current plan |
401 | INVALID_PAYLOAD | Missing or expired token |
403 | INVALID_PERMISSION | Account lacks permission |
404 | DATA_NOT_FOUND | Member or invite id does not exist |