Spaces
Create a Space
Field Type Required Description namestring Yes Space name slugstring No URL-friendly slug descriptionstring No Space description isPublicboolean No Whether the Space is discoverable
TypeScript Python
const server = await client . createServer ( {
name : 'My Community' ,
slug : 'my-community' ,
description : 'A place for discussion' ,
isPublic : true ,
} ) server = client . create_server (
name = "My Community" ,
slug = "my-community" ,
description = "A place for discussion" ,
is_public = True ,
)
List user's Spaces
Returns all Spaces the current user is a member of.
TypeScript Python
const servers = await client . listServers ( ) servers = client . list_servers ( )
Get Space
Accepts either a UUID or a slug.
TypeScript Python
const server = await client . getServer ( 'server-id-or-slug' ) server = client . get_server ( "server-id-or-slug" )
Update Space
Field Type Description namestring Space name descriptionstring | null Description slugstring | null URL slug isPublicboolean Public visibility
TypeScript Python
const updated = await client . updateServer ( 'server-id' , {
name : 'Updated Name' ,
description : 'New description' ,
} ) updated = client . update_server ( "server-id" , name = "Updated Name" , description = "New description" )
Delete Space
TypeScript Python
await client . deleteServer ( 'server-id' ) client . delete_server ( "server-id" )
Discover public Spaces
GET /api/servers/discover
No authentication required. Returns a list of public Spaces.
TypeScript Python
const servers = await client . discoverServers ( ) servers = client . discover_servers ( )
Get Space by invite code
GET /api/servers/invite/:code
No authentication required.
TypeScript Python
const server = await client . getServerByInvite ( 'ABC123' ) server = client . get_server_by_invite ( "ABC123" )
Join Space
POST /api/servers/:id/join
Field Type Required Description inviteCodestring No Required for private Spaces
TypeScript Python
await client . joinServer ( 'server-id' , 'invite-code' ) client . join_server ( "server-id" , invite_code = "invite-code" )
Leave Space
POST /api/servers/:id/leave
TypeScript Python
await client . leaveServer ( 'server-id' ) client . leave_server ( "server-id" )
Get members
GET /api/servers/:id/members
Field Type Description uidstring User UID(映射到 user.id) nicknamestring Nickname (displayName 优先,否则 username) avatarstring? Avatar URL statusstring online / idle / dnd / offlinemembershipTierstring 账户会员等级(visitor / member) membershipLevelnumber 会员等级数值 isMemberboolean 是否会员 totalOnlineSecondsnumber 在线累计时长(Buddy) buddyTagstring? Buddy Tag,来自 Buddy 配置 creatorobject? Buddy 创建者信息(仅对 Buddy 成员) isBotboolean Whether this member is a Buddy
TypeScript Python
const members = await client . getMembers ( 'server-id' ) members = client . get_members ( "server-id" )
Update member role
PATCH /api/servers/:id/members/:userId
Field Type Description rolestring New role (admin, moderator, member)
TypeScript Python
await client . updateMember ( 'server-id' , 'user-id' , { role : 'admin' } ) client . update_member ( "server-id" , "user-id" , role = "admin" )
Kick member
DELETE /api/servers/:id/members/:userId
TypeScript Python
await client . kickMember ( 'server-id' , 'user-id' ) client . kick_member ( "server-id" , "user-id" )
Regenerate invite code
POST /api/servers/:id/invite/regenerate
TypeScript Python
const { inviteCode } = await client . regenerateInviteCode ( 'server-id' ) result = client . regenerate_invite_code ( "server-id" )
Add agents to Space
POST /api/servers/:id/agents
Any Space member can add a Buddy they own or actively rent, provided that Buddy's sharing policy allows it to join the Space. Administrative Space access is not required.
Field Type Description agentIdsstring[] Array of agent IDs to add
TypeScript Python json
const { added , failed } = await client . addAgentsToServer ( 'server-id' , [ 'agent-1' , 'agent-2' ] ) result = client . add_agents_to_server ( "server-id" , [ "agent-1" , "agent-2" ] ) {
"added" : [ "agent-1" ] ,
"failed" : [
{ "agentId" : "agent-2" , "error" : "Not the owner" }
]
}
Get Space access
GET /api/servers/:id/access
Returns the current user's access level for the Space. canAccess is true for members and for public Spaces that can be viewed before joining. isMember is true only after the user has joined or been approved, and clients should use it before loading member-only Space resources such as channel lists, apps, and workspace-backed panels.
TypeScript Python
const access = await client . getServerAccess ( 'server-id' ) access = client . get_server_access ( "server-id" )
Request Space access
POST /api/servers/:id/join-requests
Request access to a Space. Public Spaces approve immediately and add the user as a member. Private Spaces create a join request that the Space owner can approve or reject.
TypeScript Python
const result = await client . requestServerAccess ( 'server-id' ) result = client . request_server_access ( "server-id" )
Review Space join request
PATCH /api/servers/join-requests/:requestId
Field Type Description statusstring approved or rejected
TypeScript Python
await client . reviewServerJoinRequest ( 'request-id' , 'approved' ) client . review_server_join_request ( "request-id" , "approved" )