Servers
Create a server
Field Type Required Description namestring Yes Server name slugstring No URL-friendly slug descriptionstring No Server description isPublicboolean No Whether the server 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 servers
Returns all servers the current user is a member of.
TypeScript Python
const servers = await client . listServers ( ) servers = client . list_servers ( )
Get server
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 server
Field Type Description namestring Server 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 server
TypeScript Python
await client . deleteServer ( 'server-id' ) client . delete_server ( "server-id" )
Discover public servers
GET /api/servers/discover
No authentication required. Returns a list of public servers.
TypeScript Python
const servers = await client . discoverServers ( ) servers = client . discover_servers ( )
Get server 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 server
POST /api/servers/:id/join
Field Type Required Description inviteCodestring No Required for private servers
TypeScript Python
await client . joinServer ( 'server-id' , 'invite-code' ) client . join_server ( "server-id" , invite_code = "invite-code" )
Leave server
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 server
POST /api/servers/:id/agents
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 server access
GET /api/servers/:id/access
Returns the current user's access level for the server. canAccess is true for members and for public servers 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 server 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 server access
POST /api/servers/:id/join-requests
Request access to a server. Public servers approve immediately and add the user as a member. Private servers create a join request that the server owner can approve or reject.
TypeScript Python
const result = await client . requestServerAccess ( 'server-id' ) result = client . request_server_access ( "server-id" )
Review server 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" )