Skip to content

API Reference

Client

SendouClient(token: str | None = None, base_url: str | None = None)
  • await client.request(method, path, params=None) for low-level access to endpoints not yet wrapped.
  • await client.close() to close the HTTP client explicitly.
  • Supports async with SendouClient(...) context manager usage.

Errors

  • SendouSdkError
  • SendouApiError
  • SendouAuthError
  • SendouRateLimitError

Resources

Users

  • await client.users.get(user_id_or_discord_id_or_custom_url)
  • Accepts user ID, Discord ID, or custom URL string.
  • If direct /user/{identifier} lookup returns 404, the SDK resolves IDs via get_ids(...) and retries with numeric user ID.
  • await client.users.get_ids(user_id_discord_id_or_custom)

Teams

  • await client.teams.get(team_id)

Calendar

  • await client.calendar.week(year, week)

SendouQ

  • await client.sendouq.active_match(user_id)
  • await client.sendouq.match(match_id)

Tournaments

  • await client.tournaments.get(tournament_id)
  • await client.tournaments.teams(tournament_id)
  • await client.tournaments.players(tournament_id)
  • await client.tournaments.casted(tournament_id)
  • await client.tournaments.match(match_id)
  • await client.tournaments.bracket(tournament_id, bracket_index)
  • await client.tournaments.bracket_standings(tournament_id, bracket_index)
  • await client.tournaments.seed(tournament_id, TournamentSeedsBody)
  • await client.tournaments.starting_brackets(tournament_id, TournamentStartingBracketsBody)
  • await client.tournaments.add_member(tournament_id, tournament_team_id, TournamentTeamMemberBody)
  • await client.tournaments.remove_member(tournament_id, tournament_team_id, TournamentTeamMemberBody)
  • await client.tournaments.update_member_ign(tournament_id, tournament_team_id, TournamentUpdateMemberIgnBody)

Organizations

  • await client.organizations.get(organization_id)

Data types

Response models

  • client.users.get(...) -> GetUserResponse
  • client.users.get_ids(...) -> GetUserIdsResponse
  • client.teams.get(...) -> GetTeamResponse
  • client.calendar.week(...) -> GetCalendarWeekResponse
  • client.sendouq.active_match(...) -> GetUsersActiveSendouqMatchResponse
  • client.sendouq.match(...) -> GetSendouqMatchResponse
  • client.tournaments.get(...) -> GetTournamentResponse
  • client.tournaments.teams(...) -> GetTournamentTeamsResponse
  • client.tournaments.players(...) -> GetTournamentPlayersResponse
  • client.tournaments.casted(...) -> GetCastedTournamentMatchesResponse
  • client.tournaments.match(...) -> GetTournamentMatchResponse
  • client.tournaments.bracket(...) -> GetTournamentBracketResponse
  • client.tournaments.bracket_standings(...) -> GetTournamentBracketStandingsResponse
  • client.organizations.get(...) -> GetTournamentOrganizationResponse

Request body models

  • client.tournaments.seed(...) -> TournamentSeedsBody
  • client.tournaments.starting_brackets(...) -> TournamentStartingBracketsBody
  • client.tournaments.add_member(...) -> TournamentTeamMemberBody
  • client.tournaments.remove_member(...) -> TournamentTeamMemberBody
  • client.tournaments.update_member_ign(...) -> TournamentUpdateMemberIgnBody

Type aliases

  • GetCalendarWeekResponse -> list[CalendarWeekItem]
  • GetTournamentTeamsResponse -> list[TournamentTeam]
  • GetTournamentPlayersResponse -> list[TournamentPlayer]