Skip to content

Team

Object type

Team — primary entity for the Sports product. Generic across team sports (football, rugby, cricket); each row carries its sport discriminator. Fixture-backed for entity-matching; football reads populate it with real rows.

The single SHARED team identity (Blueprint 1 §3.6): one canonical teams row reused across all sports. It implements Entity for the M22 merge surface AND carries the football read fields; football-only bio forks to footballProfile (football_club_profiles). There is no separate FootballTeam type — foundations are shared, only the event and profile layers fork.

Implements: Entity

FieldArgsTypeDescription
idID! required
nameString! required
displayNameStringOperator-curated display name (participants.display_name) — editable via updateTeam.
sportString
countryString
tlaStringThree-letter abbreviation (shared teams.tla), where the club/side has a stable one.
shortNameStringShort name (participants.short_name) — editable via updateTeam.
isNationalTeamBooleanTrue for national sides (generated teams.is_national_team).
leagueString
foundedInt
homeVenueString
homeVenueIdIDLinked home-venue id (teams.home_venue_id → a Venue/courses row). Editable via updateTeam; distinct from the free-text homeVenue name.
homeVenueRefEntityRefResolved linked home venue (id + name + city) for rich chip rendering. Null when unlinked. Joined in the same query — no extra round-trip.
coloursStringClub colours / kit description (teams.silks_description) — editable via updateTeam.
sportIdID! required
createdAtDateTime! required
aliases[ParticipantAlias!]! required
versionInt! requiredOptimistic-locking version (participants.version) — pass as expectedVersion on updateTeam.