Skip to main content

TeamAPI

Create dashboards, invite members, change roles, and read team statistics.

Dashboards and roles

dashboardBody := analogwakatime.NewMainApiV1CreateTeamDashboardPostRequest()
dashboardBody.SetName("Backend team")

dashboard, _, err := client.TeamAPI.
MainApiV1CreateTeamDashboardPost(ctx).
MainApiV1CreateTeamDashboardPostRequest(*dashboardBody).
Execute()

dashboards, _, err := client.TeamAPI.
MainApiV1GetAllMyDashboardsGet(ctx).
Execute()

roles, _, err := client.TeamAPI.
MainApiV1GetMyTeamRolesGet(ctx).
Execute()

const teamUUID = "TEAM_UUID"

members, _, err := client.TeamAPI.
MainApiV1GetAllUsersDashboardGet(ctx).
TeamUUID(teamUUID).
Execute()

teamStats, _, err := client.TeamAPI.
GetTeamStats(ctx).
Period("week").
Execute()

Invitations

inviteBody := analogwakatime.NewCreateTeamInviteRequest()
inviteBody.SetMaxUses(1)
inviteBody.SetExpiresInSeconds(86400)

invite, _, err := client.TeamAPI.
CreateTeamInvite(ctx).
CreateTeamInviteRequest(*inviteBody).
Execute()

invites, _, err := client.TeamAPI.ListTeamInvites(ctx).Execute()

acceptBody := analogwakatime.NewAcceptTeamInviteRequest("TEAM_UUID", "INVITE_TOKEN")
accepted, _, err := client.TeamAPI.
AcceptTeamInvite(ctx).
AcceptTeamInviteRequest(*acceptBody).
Execute()

const inviteUUID = "INVITE_UUID"

inviteStats, _, err := client.TeamAPI.
GetTeamInviteStats(ctx).
InviteUUID(inviteUUID).
Execute()

revoked, _, err := client.TeamAPI.
RevokeTeamInvite(ctx).
InviteUUID(inviteUUID).
Execute()

deleted, _, err := client.TeamAPI.
DeleteTeamInvite(ctx).
InviteUUID(inviteUUID).
Execute()

Members

const userUUID = "USER_UUID"

memberStats, _, err := client.TeamAPI.
GetTeamMemberStats(ctx).
UserUUID(userUUID).
Period("week").
Execute()

roleBody := analogwakatime.NewChangeTeamRoleRequest(userUUID, 2)
changedRole, _, err := client.TeamAPI.
ChangeTeamRole(ctx).
ChangeTeamRoleRequest(*roleBody).
Execute()

removed, _, err := client.TeamAPI.
RemoveTeamMember(ctx).
UserUUID(userUUID).
Execute()

Use role IDs returned by the API for the current user or team configuration. Do not invent role IDs from display names.