Overview
Teams are groups of users that participate in CTF games together. The Team API provides endpoints for creating teams, managing members, and handling invitations.Team Operations
Get Team Info
Retrieve public information about a team.GET /api/team/
Team ID
Get User Teams
Retrieve all teams the current user is a member of.GET /api/team
Requires User authentication.
Create Team
Create a new team with the current user as captain.POST /api/team
Each user can create up to 3 teams. Rate limited.
Team name (must be unique)
Team bio/description (optional)
Update Team
Update team information.PUT /api/team/
Only the team captain can update team information.
Team ID
New team name
New team bio
Delete Team
Delete a team permanently.DELETE /api/team/
Team ID
Team Membership
Transfer Ownership
Transfer team captain role to another member.PUT /api/team//transfer
Only the current captain can transfer ownership.
Team ID
User ID of the new captain (must be a team member)
Kick Member
Remove a member from the team.POST /api/team//kick/
Only the captain can kick members. Cannot kick from locked teams in active games.
Team ID
User ID to remove
Leave Team
Leave a team as a member.POST /api/team//leave
Team ID
Invitations
Get Invite Code
Retrieve the team’s invitation code.GET /api/team//invite
Only the captain can view the invite code.
Team ID
The invite code format is:
TeamName:TeamId:InviteTokenRegenerate Invite Code
Generate a new invitation token for the team.PUT /api/team//invite
Only the captain can regenerate invite codes. Previous codes become invalid.
Team ID
Accept Invitation
Join a team using an invitation code.POST /api/team/accept
Full invitation code from team captain
Team Avatar
Update Avatar
Upload a new team avatar image.PUT /api/team//avatar
Only the captain can update the avatar. Max file size: 3MB.
Team ID
Image file (JPEG, PNG, etc.)
The image will be automatically resized to 300x300 pixels.
Signature Verification
Verify Team Signature
Verify a team’s cryptographic signature.POST /api/team/verify
Team token in format
teamId:signatureBase64-encoded Ed25519 public key (32 bytes)
Team signatures use Ed25519 and verify against the data
GZCTF_TEAM_{teamId}.Team Locking
Teams become locked when they join an active game. While locked:- Members cannot leave
- Captain cannot kick members
- Team cannot be deleted
Next Steps
Game API
Join games with your team
Account API
Manage your user account