Every content type in the Euro League Contentful space, with editor names, fields and relationships, and what Contentful owns against the engine.
2026-11-07
Overview
This reference is the catalogue of every content type in the Euro League Contentful space
(12gd2cvfgb6b), grouped by the domain that owns it, with each type's fields, editor-facing names,
field types and relationships. It is the map developers and PMs use to see what content exists and
how it links together. There are 59 content types: 13 core, 30 content, 6 video and 10
created by this project's own migrations (the basketball types and the WSC Widget). The runner's own modelMigrationState
ledger is a sixtieth type in the schema, but it is data, not content, and is not listed.
The model's source of truth is code, not the Contentful web app — packages/model
(@v4/model). For the architecture behind it see the content-model system;
for the package itself (migrations, fragments, codegen, drift gates) see
the model package. This page documents the shape of the data those
systems produce.
How the model is organised
Every inherited content type has exactly one owning domain, declared in
packages/model/domains.json — its types map (type → domain) and its domains map, whose order
is the canonical composition order. The model composes the two baseline domains plus the
bolt-on domains this project bought; packages/model/composition.json records them:
content, video and basketball (core is always included).
Domains carry a tier:
baseline — always composed (core, content).
bolt-on — bought on top of the baseline. Here: video, and basketball, which is this
project's own and declares no types of its own.
domains.json also lists domains this project did not buy (sport-common, football, gamification,
retail, hospitality, ads, app and the quarantine): it came with the template, which owns that map.
None of their types exists in this space; they survive only in the raw export the baseline was
generated from, packages/model/baseline/content-types.json.
Types created by this project sit outside the ownership map. Our migrations live in
packages/model/migrations/club/, which lint-migrations exempts from domain ownership. The ten
types they create — competition, season, seasonSponsor, team, club, fixture, venue,
profile, player and wscWidget — therefore have no entry of their own in domains.json (it
still maps the unbought football and sport-common types of the same ids, which this space never
composes). The club/ directory also holds most of this space's model change: it adds fields to
core and content types, hides and deletes others, and each table below names the migration.
The baseline dropped fields whose links target uncomposed types. That is why, for example,
articlePage.adPlacement, homePage.lineupsTickerBanner and siteSettings.countdown do not exist
here.
Summary
Domain
Tier
Types
Ships
Core
baseline
13
Chrome and primitives
Content
baseline
30
@v4/ghost-content + @v4/content-app
Video
bolt-on
6
@v4/ghost-video + @v4/video-app + @v4/media (the Video Item itself is content's)
Each has its own section: Core,
Content (which ends with the WSC Widget),
Video and
Basketball and club types — which also states the rule for
which basketball data Contentful owns and lists the recent club/ migrations.
How to read the per-domain sections
Each section opens with a short intro (tier, what the domain owns, the packages it ships) and then
lists each content type under a ### heading. Under it, a line names the type as an editor sees it
in Contentful, then a one-line description and a field table:
Field — the field id as queried through the GraphQL delivery API (@v4/model fragments).
A GraphQL name can differ in casing from the Contentful id (isContentTargetedAtUnder18s is
isContentTargetedAtUnder18S in GraphQL); the table gives the Contentful id.
Editor name — the field's name in the Contentful entry editor, as the migrations set it.
Type — the field's shape: Short text / Long text (Contentful Symbol / Text), Rich text,
JSON (Object), Boolean, Integer, Date & time, List, Media asset (a link to a media
library asset), or Reference / Reference (list) for a link to one or more other content
types. A Reference field is a relationship; the Notes column names the content type(s) it
can link to.
Required — whether the field is required by the model's migration validations. (The GraphQL
delivery schema types nearly everything as nullable, so requiredness is taken from the migrations,
not the schema.)
Notes — relationship targets, allowed values, size limits, localisation, rich-text embed and
link targets, Hidden from editors (a disabled field: out of the entry editor, still in the
API), and the club/ migration that added or changed the field.
Every type additionally carries the managed system fields sys, contentfulMetadata, _id and
linkedFrom; these are Contentful/GraphQL machinery and are omitted from the tables. The generated
GraphQL companions of a type ({Type}Collection, {Type}Filter, {Type}LinkingCollections,
{Type}Order) are likewise not content types and are not listed. A relationship rendered as a
list corresponds to the GraphQL …Collection / …CursorCollection pair. Fields deleted from the
model, and omitted fields, are not listed; a type's intro names notable deletions.
A note on fidelity
Field detail is derived from the migrations — the composed baselines under
packages/model/migrations/{core,content,video}/ replayed with every later migration, including
migrations/club/ — and checked against packages/model/schema.graphql (the vendored, introspected
schema). A couple of quirks are faithfully reproduced rather than corrected — for example
headerBlock.cmsTiitle is genuinely misspelt in the source model. Where the tables and the live
space ever disagree, the migrations are the source of truth and the discrepancy is a drift-gate
concern, not a documentation one. Do not take editor names from
packages/tickets/src/__generated__/cms-types.json until it has been rebuilt: as of 6 November 2026
it predates club/0057.
Core domain
The core domain is baseline — it composes into every environment. It holds the site's chrome and primitives: site settings, themes, navigation, the link/image primitives, the footer and the localised-copy dictionary key. 13 types here: globalSettings and itemCountry were deleted by club/0057. Several club/ migrations add fields to core types (the header crest strip, the default competition, the footer hero); each table names the migration. Every content type below also carries the managed system fields sys, contentfulMetadata, _id and linkedFrom, which are omitted from the tables.
SiteSettings
Contentful: Settings ⚙️ Site Settings | WEB (siteSettings).
The single per-site configuration entry — default share image, error-page (404) copy and links, header navigation slots and the header crest strip, the ticker, the current season and default competition, fixture/profile meta-description templates, and the default news/video landing pages. hospitalityLink and ticketingLink were deleted by club/0051; the search-result CTAs are hidden.
Field
Editor name
Type
Required
Notes
title
Contentful Title
Short text
Yes
Unique; One of: Site settings
footer
Footer
Reference
No
Links to footerBlock
errorMainCopy404
404 Error Main Copy
Short text
No
Localised
errorAdditionalCopy404
404 Error Additional Copy
Short text
No
Localised
errorImage404
404 Error Image
Reference
No
Links to image
errorUsefulLinks404
404 Error Useful Links
Reference
No
Links to linkList
defaultShareImage
Default Share Image
Reference
Yes
Links to image
headerPrimaryNavigation
Header: Primary Navigation
Reference
Yes
Links to navigation; Localised
headerMoreNavigation
Header: More Navigation
Reference
No
Links to navigation; Localised
headerOtherSiteLinks
Header: Other Site Links
Reference (list)
No
Links to navigationItem; At most 3 items; Localised
headerHygieneLinks
Header: Hygiene Links
Reference (list)
No
Links to navigationItem; At most 3 items; Localised
defaultNewsLandingPage
Default News Landing Page
Reference
No
Links to newsListingPage
profileMetaDescription
Profile Meta Description
Long text
Yes
At most 160 characters; Localised
fixtureMetaDescriptionPreMatch
Fixture Meta Description - Pre Match
Long text
Yes
At most 160 characters; Localised
fixtureMetaDescriptionLiveMatch
Fixture Meta Description - Live Match
Long text
Yes
At most 160 characters; Localised
fixtureMetaDescriptionPostMatch
Fixture Meta Description - Post Match
Long text
Yes
At most 160 characters; Localised
fallbackClubCrest
Fallback Club Crest
Media asset
Yes
searchResultsPageResultsCta
Search Results - Page results CTA
Reference
No
Links to link; Localised; Hidden from editors; club/0051
searchResultsNewsResultsCta
Search Results - News results CTA
Reference
No
Links to link; Localised; Hidden from editors
searchResultsVideoResultsCta
Search Results - Video results CTA
Reference
No
Links to link; Localised; Hidden from editors
tickerConfig
Ticker
JSON
No
Ticker app (core/0002)
defaultVideoLandingPage
Default Video Landing Page
Reference
No
Links to videoLandingPage
headerTeamLinks
Header: Team Links
Reference (list)
No
Links to imageLink; At most 24 items; Localised; The header crest strip (club/0002)
currentSeason
Current Season
Short text
No
A season code as text, not a reference (club/0021)
defaultCompetition
Default Competition
Reference
No
Links to competition; The competition the bare data-area addresses open (club/0035)
Theme
Contentful: Settings ⚙️ Theme (theme).
A named colour/style theme referenced by blocks and header blocks; settings holds the theme's token payload as JSON. A block's Theme sets its colour set.
Colour Sets V2 leaves editors three themes: Colour theme 1 (ColorSet-1, white), Colour theme 2 (ColorSet-2, off-white) and Colour theme 3 (ColorSet-3, purple). club/0036 archives Colour theme 4–6, whose sets the design greys out: hidden, not deleted. They leave the entry list and the Theme picker with their fields intact, and can be unarchived and republished if the brand brings a set back. A block still linking to one (the migration logs them) gets no theme back from the site's query, so it shows its default colour set, Colour theme 1, as the help text on every block's Theme field says; an editor picks a V2 theme on any that should stay dark.
Field
Editor name
Type
Required
Notes
title
Title
Short text
Yes
themeId
Theme ID
Short text
Yes
The only field the site reads: colourTheme1–6 → colourSet1–6
settings
Settings
JSON
Yes
Hidden from editors; club/0051
Navigation
Contentful: Nav ☰ Navigation | WEB (navigation).
An ordered navigation menu — a titled container of navigationItem entries.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
navigationItems
Navigation Items
Reference (list)
Yes
Links to navigationItem
NavigationItem
Contentful: Nav ☰ Navigation Item | WEB (navigationItem).
One entry in a navigation menu: a primary link, optional secondary links, an optional promo block for mega-menu panels, and the competitions whose navigation shows it (club/0046).
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
primaryLink
Primary Link
Reference
No
Links to link; Localised
secondaryLinks
Secondary Links
Reference (list)
No
Links to navigationItem; Localised
promoBlock
Promo Block
Reference
No
Links to promoBlock; Localised
competitions
Competitions
Reference (list)
No
Links to competition; The competitions whose navigation shows the item (club/0046)
InPageHeaderNavigation
Contentful: Nav ☰ Sub-Nav | WEB (InPageHeaderNavigation).
A sub-navigation strip (in-page header tabs) — an ordered list of link entries. A header block's subNav and a news listing page's subNavigation link to it.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
links
Links
Reference (list)
Yes
Links to link; At most 7 items
Link
Contentful: Links 🔗 Standard Link (link).
The universal link primitive — resolves to an internal entry (internalLink) or an external URL, with open-in-new-tab and title. Here internalLink accepts only articlePage, contentPage and newsListingPage: a Standard Link cannot target a basketball team, player, coach or game page, so editors type that path as an External Link. subPage and deepLink are hidden and no longer read (see link resolution).
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
title
Link Title
Short text
Yes
Localised
internalLink
Internal Link
Reference
No
Links to articlePage, contentPage, newsListingPage
externalLink
External Link
Short text
No
Localised
openInNewTab
Open in new tab
Boolean
No
subPage
Sub Page
Short text
No
One of: fixtures, results, table; Hidden from editors; No longer read by the site; due for deletion (club/0048, club/0051)
deepLink
Deep Link ( APP only)
Short text
No
Hidden from editors; No longer read by the site; due for deletion (club/0048, club/0051)
LinkList
Contentful: Links 🔗 Link List | WEB (linkList).
A titled group of link entries — used for footer useful-links groups and 404 useful links.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
title
Link Category Title
Short text
No
Localised
links
Links
Reference (list)
Yes
Links to link; Localised
Image
Contentful: Item 🏷️ Image (image).
The image wrapper around a picture — a ScorePlay pick or a Contentful media asset — carrying caption, attribution, focal point and age-sensitivity flags. Almost every image slot in the model references this rather than a raw asset. When the ScorePlay image is set it is the picture shown, except on the 404 page's Error Image, which still reads only the media asset; the media asset is the optional fallback.
Field
Editor name
Type
Required
Notes
title
Contentful Title
Short text
Yes
image
Image
Media asset
No
the fallback, optional since club/0019 (the core baseline requires it)
The site footer configuration — logo, sponsor tiers, contact-details panels, useful-links groups, legal links, social channels, copyright, and the footer hero (image, title and up to two links, club/0014). The old sponsors JSON field was deleted by club/0051.
Field
Editor name
Type
Required
Notes
cmsTitle
Contentful Title
Short text
Yes
tierOneSponsors
Tier One Sponsors
Reference
No
Links to sponsorGroup
sponsorsGroups
Other Sponsors
Reference (list)
No
Links to sponsorGroup
logo
Logo
Media asset
No
contactSectionTitle
Contact Section Title
Short text
No
Localised
contactDetailsPanel
Contact Details Panel
Reference (list)
No
Links to contactDetails; At most 3 items
usefulLinksGroups
Useful Links Groups
Reference (list)
No
Links to linkList; At most 9 items
legalLinks
Legal Links
Reference (list)
No
Links to link
socialChannels
Social Channels
JSON
No
Localised
copyrightStatement
Copyright statement
Short text
No
Localised
heroImage
Hero Image
Reference
No
Links to image; Footer hero (club/0014)
heroTitle
Hero Title
Short text
No
Footer hero (club/0014)
heroLinks
Hero Links
Reference (list)
No
Links to link; At most 2 items; Footer hero (club/0014)
ContactDetails
Contentful: Item 🏷️ Contact Details | WEB (contactDetails).
A single contact panel — address, email and phone, shown in the footer.
Field
Editor name
Type
Required
Notes
cmsTitle
Contentful Title
Short text
Yes
title
Contact Details Title
Short text
No
Localised
address
Address
Long text
No
Localised
email
Email
Short text
No
Localised
number
Phone Number
Short text
No
Localised
SponsorGroup
Contentful: Item 🏷️ Sponsor Group (sponsorGroup).
A titled group of sponsor marks (imageLink/image) — a footer sponsor tier.
Field
Editor name
Type
Required
Notes
cmsTitle
Contentful Title
Short text
Yes
title
Tier Title
Short text
Yes
Localised
sponsors
Sponsors
Reference (list)
Yes
Links to imageLink, image; At most 20 items
Content domain
The content domain is baseline — the editorial CMS. It owns the article and page types, and the library of composable content blocks (*Block) that pages stream through their contentBlocks fields. articlePage is the most heavily referenced type in the model. 30 types here (snippet was deleted by club/0057), plus this project's own WSC Widget at the end of this page. Reference fields note the content types they may link to; the block allow-lists are this space's — the package, ad-slot, fixtures-summary and gamification blocks of the unbought domains are not composed here.
ArticlePage
Contentful: Page 📄 Article (articlePage).
The core editorial news article — title, slug, category, competition (required), rich-text body, hero image/video/gallery, author, related content, members-only and age gating, SEO metadata, and its basketball context: also-show-in competitions, season, game, round, associated teams and players. The most heavily linked type in the model. associatedTeam, associatedFixture and adPlacement never reached this space (their link targets are not composed); tags (club/0051), contentBlocks (club/0057) and associatedPlayers (club/0060) were deleted.
Field
Editor name
Type
Required
Notes
cmsTitle
Contentful Title
Short text
Yes
articleTitle
Article Title
Short text
Yes
Localised
slug
Slug
Short text
Yes
Unique; Localised
publishDate
Publish Date
Date & time
Yes
Localised
image
Image
Reference
No
Links to image
category
Category
Reference
Yes
Links to category
format
Format
Short text
Yes
One of: News, Video, Gallery
featuredVideo
Featured Video
Reference
No
Links to video, youtubeItem; Localised
featuredGallery
Featured Gallery
Reference
No
Links to gallery
author
Author
Reference
No
Links to author; Localised
summary
Summary
Long text
No
At most 300 characters; Localised
bodyCopy
Body Copy
Rich text
No
Embeds pullQuoteEmbed, socialEmbed, video, youtubeItem, image, gallery, embedScriptEmbed, gamificationEntry, gamificationPoll, gamificationQuiz; Entry links to articlePage, contentPage, fixture, profile, player, newsListingPage; Localised; gamification* remain in the embed allow-list as stale validation data — those types do not exist in this space
metaTitle
Meta Title
Short text
No
At most 60 characters; Localised
metaDescription
Meta Description
Long text
No
At most 160 characters; Localised
metaImage
Meta Image
Reference
No
Links to image; Localised
canonicalLink
Canonical Link
Reference
No
Links to link; Localised
isFeatured
Is Featured?
Boolean
No
estimatedReadingTime
Estimated Reading Time
Integer
No
sponsor
Sponsor
Media asset
No
relatedContent
Related Content
Reference (list)
No
Links to articlePage; 1–3 items; Localised
hideRelatedContent
Hide Related Content?
Boolean
No
optionalOverrideForRelatedContentCta
Optional Override For Related Content CTA
Reference
No
Links to link; Localised
isRestrictedToMembersOnly
Is Restricted to Members Only?
Boolean
No
isContentTargetedAtUnder18s
Is Content Targeted At Under 18s?
Boolean
No
Hidden from editors; club/0051
hideForThisLocale
Hide for this locale
Boolean
No
Localised
originalPath
Original Path
Short text
No
Localised; Hidden from editors
migrationId
Migration ID
Short text
No
Unique; Hidden from editors
excludeFromSearchEngines
Exclude from search engines?
Boolean
No
content/0005
competition
Competition
Reference
Yes
Links to competition; Required since club/0047; the competition the article belongs to (its section)
alsoShowIn
Also Show In
Reference (list)
No
Links to competition; Further competitions whose news lists the article (club/0035)
associatedTeams
Associated Teams
Reference (list)
No
Links to team; At most 5 items; up to 5. The team filter on the news, category and tag listings lists the article under each (our own: migrations/club/0037)
season
Season
Reference
No
Links to season; club/0045, optional since club/0054
match
Game
Reference
No
Links to fixture; Editor name "Game" (club/0056, club/0061)
round
Round
Integer
No
club/0056
players
Players
Reference (list)
No
Links to profile; At most 10 items; Replaces Associated Players (deleted by club/0060); club/0057, shown to editors by club/0058
A lightweight promo pointing at an articlePage, with an optional override label — used to feature an article inside a content-block stream.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
article
Article
Reference
Yes
Links to articlePage
label
Label
Short text
No
At most 20 characters; Localised
Author
Contentful: Item 🏷️ Author (author).
An article byline — name, sub-title and avatar image.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
firstName
First Name
Short text
Yes
At most 50 characters; Localised
secondName
Second Name
Short text
No
At most 50 characters; Localised
subTitle
Sub Title
Short text
No
At most 50 characters; Localised
avatar
Avatar
Reference
No
Links to image; Localised
migrationId
Migration ID
Short text
No
Unique; Hidden from editors
Category
Contentful: Item 🏷️ Category (category).
An editorial category/section — slug, summary, featured article and SEO metadata. Articles, news carousels and news listing pages reference it.
Field
Editor name
Type
Required
Notes
cmsTitle
Contentful Title
Short text
Yes
category
Category
Short text
No
Localised
slug
Slug
Short text
Yes
Unique; Localised
metaTitle
Meta Title
Short text
No
Localised
metaDescription
Meta Description
Long text
No
At most 160 characters; Localised
metaImage
Meta Image
Reference
No
Links to image; Localised
canonicalLink
Canonical Link
Reference
No
Links to link
categorySummary
Category Summary
Short text
No
At most 200 characters; Localised
featuredArticle
Featured Article
Reference
No
Links to articlePage
migrationId
Migration ID
Short text
No
Unique; Hidden from editors
isContentTargetedAtUnder18s
Is content targeted at under 18s?
Boolean
No
Hidden from editors
ContentPage
Contentful: Page 📄 Content | WEB (contentPage).
A generic composable page — a stream of content blocks with a header block, parent/child page hierarchy, full path and competition. setAsLandingPage was deleted by club/0051.
Field
Editor name
Type
Required
Notes
cmsTitle
Contentful Title
Short text
Yes
metaTitle
Title
Short text
Yes
At most 60 characters; Localised
shortTitle
Short Title
Short text
No
At most 30 characters; Localised
slug
Slug
Short text
Yes
Unique; Localised
fullPath
Full Path
Short text
No
Unique; Localised
parentPage
Parent Page
Reference
No
Links to contentPage
childPages
Child Pages
Reference (list)
No
Links to contentPage
headerBlock
Header Block
Reference
No
Links to headerBlock
contentBlocks
Content Blocks
Reference (list)
Yes
Links to gatewayCarouselBlock, promoCarouselBlock, tabbedCarouselBlock, newsCarouselBlock, accordionBlock, downloadBlock, embedBlock, contentScrollerBlock, statsBlock, tableBlock, textBlock, textWithImageBlock, embedScriptEmbed, articlePromo, promoBlock, wscWidget; At most 15 items; Localised
metaDescription
Meta Description
Long text
No
At most 160 characters; Localised
metaImage
Meta Image
Reference
No
Links to image; Localised
canonicalLink
Canonical Link
Reference
No
Links to link; Localised
hideForThisLocale
Hide For This Locale
Boolean
Yes
Localised
isContentTargetedAtUnder18s
Is Content Targeted At Under 18s?
Boolean
No
excludeFromSearchEngines
Exclude from search engines?
Boolean
No
competition
Competition
Reference
No
Links to competition; The competition section a top-level page belongs to (club/0035)
HomePage
Contentful: Page 📄 Home Page | WEB (homePage).
The site home page — a hero header block and a stream of content blocks and the competition it is for (competition, club/0035). There are no countdown, line-up ticker or matchday-takeover fields: they link to types this space does not compose.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
Unique
metaTitle
Meta Title
Short text
No
At most 60 characters; Localised
metaDescription
Meta Description
Long text
No
At most 160 characters; Localised
metaImage
Meta Image
Reference
No
Links to image; Localised
headerBlock
Header Block
Reference
No
Links to headerBlocksHero
contentBlocks
Content Blocks
Reference (list)
Yes
Links to promoBlock, statsBlock, textBlock, textWithImageBlock, embedBlock, articlePromo, gatewayCarouselBlock, newsCarouselBlock, promoCarouselBlock, tabbedCarouselBlock, tableBlock, accordionBlock, embedScriptEmbed, wscWidget; At most 15 items; Localised
canonicalLink
Canonical Link
Reference
No
Links to link; Localised
competition
Competition
Reference
No
Links to competition; One home page per competition (club/0035)
NewsListingPage
Contentful: Page 📄 News Listing Page | WEB (newsListingPage).
A news index page — listing title/summary, featured article, sub-navigation, category filter, competition, a featured-only switch and a short content-block stream. tags was deleted by club/0051.
Field
Editor name
Type
Required
Notes
cmsTitle
Contentful Title
Short text
Yes
listingTitle
Listing Title
Short text
Yes
Localised
slug
Slug
Short text
Yes
Unique; Localised
listingSummary
Listing Summary
Short text
No
At most 200 characters; Localised
subNavigation
Sub-Navigation
Reference
No
Links to InPageHeaderNavigation
headerImage
Header Image
Reference
No
Links to image; Localised
featuredArticle
Featured Article
Reference
No
Links to articlePage
category
Category
Reference
No
Links to category
sponsor
Sponsor
Media asset
No
contentBlocks
Content Blocks
Reference (list)
No
Links to gatewayCarouselBlock, promoBlock; At most 6 items; Localised
metaTitle
Meta Title
Short text
No
At most 60 characters; Localised
metaDescription
Meta Description
Long text
No
At most 160 characters; Localised
metaImage
Meta Image
Reference
No
Links to image; Localised
canonicalLink
Canonical Link
Reference
No
Links to link; Localised
competition
Competition
Reference
No
Links to competition; club/0035
onlyShowFeatured
Only show Featured News
Boolean
No
club/0050
Gallery
Contentful: Item 🏷️ Gallery (gallery).
An ordered set of image entries with a title and subtitle — embedded in article bodies or shown as a gallery page.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
galleryTitle
Gallery Title
Short text
No
At most 50 characters; Localised
subTitle
Sub-title
Short text
No
At most 50 characters; Localised
images
Images
Reference (list)
Yes
Links to image; At most 20 items
migrationId
Migration ID
Short text
No
Unique; Hidden from editors
HeaderBlock
Contentful: Header 🧱 Page Header Block | WEB (headerBlock).
A page header/hero band — title, summary, image, sponsor asset, sub-navigation, link and theme. (Note the misspelt cmsTiitle field, preserved from the source model.)
Field
Editor name
Type
Required
Notes
cmsTiitle
Contentful Title
Short text
Yes
title
Header Block Title
Short text
No
Localised
type
Type
Short text
Yes
One of: standard, info, image, image-rich, feature
A carousel of articles selected by category (and by public tags on the entry), optionally only featured articles, with a grid display option and a featured grid article. The team, player, fixture, tags and theme fields were deleted or never composed (club/0051).
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
newsCarouselTitle
News Carousel Title
Short text
Yes
Localised
subTitle
Sub-Title
Short text
No
Localised
category
Category Filter
Reference
No
Links to category
link
Link
Reference
No
Links to link; Localised
tabLabel
Tab Label
Short text
No
Localised
displayAsGrid
Display as Grid
Boolean
No
featuredGridArticle
Featured Grid Article
Reference
No
Links to articlePage; Localised
onlyShowFeatured
Only show Featured News
Boolean
No
club/0049
ContentScrollerBlock
Contentful: Content 🧱 Scroller Block | WEB (contentScrollerBlock).
A horizontally scrolling stream of downloadBlock / accordionBlock sections; the scroller's navigation lists the blocks it contains, and its one Theme applies to all of them. scrollerBlockTitle was deleted by club/0051, so the entry's name heads the section list.
Field
Editor name
Type
Required
Notes
title
Contentful Title
Short text
Yes
contentSections
Content Sections
Reference (list)
Yes
Links to downloadBlock, accordionBlock; 2–20 items
theme
Theme
Reference
No
Links to theme; One theme for the whole scroller; its blocks cannot deviate (club/0015)
AccordionBlock
Contentful: Content 🧱 Accordion Block | WEB (accordionBlock).
An accordion — intro copy plus an ordered set of accordionSection entries.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
title
Accordion Block Title
Short text
No
Localised
subtitle
Sub-title
Short text
No
Localised
introParagraph
Intro Paragraph
Long text
No
At most 500 characters; Localised
bodyCopy
Body Copy
Rich text
No
Localised
accordionSections
Accordion Sections
Reference (list)
Yes
Links to accordionSection; At most 20 items
theme
Theme
Reference
No
Links to theme
AccordionSection
Contentful: Item 🏷️ Accordion Section | WEB (accordionSection).
One expandable accordion row — title, assistive text and rich-text content.
Contentful: Content 🧱 Table Block | WEB (tableBlock).
A rich-text table block with intro copy, a sub-title (club/0017) and a theme.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
tableBlockTitle
Table Block Title
Short text
No
Localised
introParagraph
Intro Paragraph
Short text
No
Localised
tableAndBodyCopy
Table and Body Copy
Rich text
No
Localised
theme
Theme
Reference
No
Links to theme
subTitle
Sub-title
Short text
No
club/0017
TextBlock
Contentful: Content 🧱 Text Block | WEB (textBlock).
A rich-text body block with title, intro, related links and theme.
Field
Editor name
Type
Required
Notes
cmsTitle
Contentful Title
Short text
Yes
title
Text Block Title
Short text
No
Localised
subTitle
Sub-title
Short text
No
Localised
introParagraph
Intro Paragraph
Long text
No
At most 1000 characters; Localised
bodyCopy
Body Copy
Rich text
No
Entry links to articlePage, contentPage, newsListingPage, fixture, profile, player; Localised
links
Link(s)
Reference (list)
No
Links to link; At most 3 items; up to 3, shown as the calls to action under the copy — hidden from editors by migrations/club/0010 while nothing read it, shown again by migrations/club/0032 (our own)
theme
Theme
Reference
No
Links to theme; Colour theme 1–3 set the block's colour set, any other theme shows as the first (help text: migrations/club/0032, our own)
TextWithImageBlock
Contentful: Content 🧱 Text With Image Block | WEB (textWithImageBlock).
Rich text paired with an image, with a configurable image position, links and theme.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
title
Text With Image Block Title
Short text
No
Localised
label
Label
Short text
No
Localised
subTitle
Sub-title
Short text
No
Localised
introParagraph
Intro Paragraph
Long text
No
At most 1000 characters; Localised
content
Body Copy
Rich text
No
Entry links to contentPage, articlePage, newsListingPage, fixture, profile, player; Localised
image
Image
Reference
Yes
Links to image; Localised
imagePosition
Image Position (larger screens)
Short text
No
One of: top, left, right
links
Link(s)
Reference (list)
No
Links to link; At most 3 items; Localised
theme
Theme
Reference
No
Links to theme
DownloadBlock
Contentful: Content 🧱 Download Block | WEB (downloadBlock).
A block presenting downloadable files (downloadLinks JSON) with rich-text body, an
optional image beside the list, and theme.
Field
Editor name
Type
Required
Notes
cmsTitle
Contentful Title
Short text
Yes
title
Download Block Title
Short text
Yes
Localised
subTitle
Sub-title
Short text
No
Localised
summary
Intro Paragraph
Long text
No
At most 500 characters; Localised
bodyCopy
Body Copy
Rich text
No
Localised
theme
Theme
Reference
No
Links to theme
downloadLinks
Download Links
JSON
Yes
Localised
image
Image
Reference
No
Links to image
EmbedBlock
Contentful: Content 🧱 Embed Block | WEB (embedBlock).
A wrapper choosing one embeddable item — pull quote, social embed, image, video, gallery or script embed.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
itemToEmbed
Item to embed
Reference
Yes
Links to pullQuoteEmbed, socialEmbed, image, video, youtubeItem, gallery, embedScriptEmbed
A raw third-party script embed (arbitrary markup/script).
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
scriptEmbed
Script Embed
Long text
Yes
PullQuoteEmbed
Contentful: Embed ↘ Pull Quote (pullQuoteEmbed).
A pull quote with attributed speaker — quote text, name, sub-title and avatar.
Field
Editor name
Type
Required
Notes
title
Contentful Title
Short text
Yes
quote
Quote
Long text
Yes
At most 500 characters; Localised
firstName
First Name
Short text
No
At most 20 characters
lastName
Last Name
Short text
No
At most 20 characters
subTitle
Sub Title
Short text
No
avatar
Avatar
Reference
No
Links to image
SocialEmbed
Contentful: Embed ↘ Social (socialEmbed).
A social-media embed; socialContent holds the provider payload as JSON.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
socialContent
Social Content ( Add the social post browser url )
JSON
Yes
Localised
Video
Contentful: Video ▶️ Video Item (video).
A Video Item — an article's Featured Video, a body embed and a video page all reference it. Owned by content (moved there from the video domain). It is the Stadion Video Platform's item and is Mux-only in practice: the Mux video in video plays when set, and the hidden youtubeVideo is the fallback until it is deleted (club/0026, club/0053). A YouTube video is a YouTube Item instead. Its basketball tags — competition, season, game (fixture), team, associated teams and players — are what the video platform's filters read (club/0030, club/0045, club/0058).
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
title
Video Title
Short text
No
Localised
slug
Slug
Short text
Yes
Localised
subtitle
Sub-title
Short text
No
Localised
image
Image
Reference
No
Links to image
migrationId
Migration ID
Short text
No
Unique; Hidden from editors
youtubeVideo
YouTube Video
JSON
No
Hidden from editors; Since club/0053, and due for deletion in the next release. Plays only when no Mux video is set — a YouTube video is now a YouTube Item
videoOld
Video (legacy — use YouTube Video)
JSON
No
Hidden from editors; Legacy YouTube JSON from before youtubeVideo; removed in a later release
video
Mux Video
JSON
No
The Mux video (the Mux Video app; the field the Stadion Video Platform ingests, club/0026). The app writes the picker envelope — id, provider, title, thumbnailImageUrl, duration, date, playbackId — with its record under _mux. When set, it is the video that plays
isPodcast
Is Podcast
Boolean
No
Hidden from editors; Since club/0053; read by the platform ingest
podcastAudio
Podcast Audio
JSON
No
Hidden from editors; Read by the platform ingest
category
Category
Reference
Yes
Links to category
competition
Competition
Reference
No
Links to competition
players
Players
Reference (list)
No
Links to profile; At most 10 items
fixture
Fixture
Reference
No
Links to fixture
team
Team
Reference
No
Links to team
publishDate
Publish Date
Date & time
No
videoType
Video Type
Short text
No
One of: Episode; Hidden from editors; Defaults to "Episode"; a single value since club/0028, optional and hidden since club/0053. Read by the platform ingest
season
Season
Reference
No
Links to season
associatedTeams
Associated Teams
Reference (list)
No
Links to team; At most 5 items
StatsBlock
Contentful: Content 🧱 Stats Block | WEB (statsBlock).
A statistics block — overview copy, a stats JSON payload (edited with the stats editor, club/0020), image and theme. Its sponsor field was deleted by club/0051.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
title
Stats Block Title
Short text
No
Localised
subTitle
Sub Title
Short text
No
Localised
overview
Overview
Long text
No
At most 150 characters; Localised
theme
Theme
Reference
No
Links to theme; Localised
image
Image
Reference
No
Links to image
stats
Stats
JSON
Yes
At least 1; Localised
GatewayCard
Contentful: Item 🏷️ Gateway Card (gatewayCard).
A gateway/navigation card — title, summary, image and link. subTitle was deleted by club/0051.
A carousel of 3–8 gatewayCard entries (content/0003) with a title and theme.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful title
Short text
Yes
carouselTitle
Carousel Title
Short text
No
Localised
subTitle
Sub-title
Short text
No
Localised
gatewayCards
Gateway Cards
Reference (list)
Yes
Links to gatewayCard; 3–8 items
link
Link
Reference
No
Links to link
displayCardsAs
Display Cards As (TBC if used)
Short text
No
One of: Standard, Rich; Hidden from editors; Renamed "(TBC if used)" and hidden by club/0051
theme
Theme
Reference
No
Links to theme; Localised
WscWidget
Contentful: Content 🧱 WSC Widget | WEB (wscWidget).
A row of WSC Sports Stories or Moments placed among a home or content page's content blocks (club/0009). Contentful holds only the query: the clip type, a layout preset, and where the clips come from — WSC labels the editor writes as JSON, or automatic (the player, team or game the page is about). Created by our own migrations, so it has no domains.json entry.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
title
Title
Short text
No
Localised
clipType
Stories or Moments
Short text
Yes
One of: stories, moments
layout
Layout
Short text
No
One of: row-circle, row-rectangle, row-rectangle-animated, row-rectangle-horizontal, grid-2-columns, grid-3-columns, grid-2-columns-horizontal, grid-3-columns-horizontal
source
Clip source
Short text
Yes
One of: labels, automatic
labels
WSC Labels
JSON
No
Video domain
The video domain is a bolt-on — the first one shipped (migrations video/0000-baseline-video to video/0005-collection-name, plus the club migrations that edit its types: club/0016, 0018, 0025–0029, 0033, 0045 and 0053). It ships the @v4/ghost-video, @v4/video-app and @v4/media packages. Its Contentful surface is deliberately thin: playback data comes from the Stadion platform API through @v4/media, while these types carry the editorial metadata, curation and landing-page structure around the videos. 6 types, including the YouTube Item.
The Video item itself (video) is owned by the content domain — see the content page.
LiveStream
Contentful: Video ▶️ Live Stream (liveStream).
A live stream — stream type, started flag and the videos associated with it. A game (fixture) references its build-up, video and audio streams.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
liveStreamType
Live Stream Type
Short text
No
One of: Video, Audio
streamHasStarted
Stream has Started?
Boolean
No
associatedVideos
Associated Videos
Reference (list)
No
Links to video; Replaced the single required associatedVideo (club/0028)
VideoPlaylist
Contentful: Video ▶️ Playlist (videoPlaylist).
A playlist of videos — either manually selected or resolved by category, competition, game, player or team filters. The filters link to this space's basketball types (club/0030).
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful title
Short text
Yes
title
Title
Short text
Yes
Localised
slug
Slug
Short text
Yes
Unique; Localised
summary
Summary
Short text
No
Localised
image
Image
Reference
No
Links to image
sponsor
Sponsor
Reference
No
Links to imageLink
manuallySelectedVideos
Selected Videos
Reference (list)
No
Links to video
categoryFilter
Category Filter
Reference
No
Links to category
matchFilter
Match Filter
Reference
No
Links to fixture
competitionFilter
Competition Filter
Reference
No
Links to competition
playerFilter
Player Filter
Reference
No
Links to profile
teamFilter
Team Filter
Reference
No
Links to team
series
Series (for a show)
Integer
No
At most 99 (club/0027)
season
Season (for a show)
Short text
No
VideoCollection
Contentful: Video ▶️ Collection (Show) (videoCollection).
A collection (show) grouping video playlists — series/season label, image, sponsor, episode notes and summary. Renamed off "(MUTV Show)" by video/0005.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
title
Title
Short text
Yes
Localised
slug
Slug
Short text
Yes
Unique; Localised
summary
Summary
Short text
No
Localised
episodeNotes
Episode Notes
Short text
No
At most 256 characters; Localised
image
Image
Reference
No
Links to image
sponsor
Sponsor
Reference
No
Links to imageLink
playlists
Playlists
Reference (list)
No
Links to videoPlaylist; At least 1 item
seriesOrSeason
Series or Season
Short text
No
One of: Series, Season
VideoRail
Contentful: Video ▶️ Rail (videoRail).
A rail composing video collections or a playlist for a landing page, with rail type, numbering and sponsor.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
title
Title
Short text
No
teams
Teams
Reference (list)
No
Links to team
railType
Rail Type
Short text
No
One of: Continue Watching, Players, Matches, Popular, Saved Videos, Stories, Ones To Watch
playlist
Playlist
Reference
No
Links to videoPlaylist
collections
Collections
Reference (list)
No
Links to videoCollection
isNumbered
Is numbered?
Boolean
No
sponsor
Sponsor
Reference
No
Links to imageLink
VideoLandingPage
Contentful: Video ▶️ Landing Page (videoLandingPage).
A video landing/home page — featured videos, rails, landing-page type and sponsor. siteSettings.defaultVideoLandingPage points at the default one.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
slug
Slug
Short text
Yes
Unique; Localised
featuredVideos
Featured Videos
Reference (list)
No
Links to video, liveStream; At most 5 items
rails
Rails
Reference (list)
No
Links to videoPlaylist, liveStream, video, videoRail, videoCollection
team
Team
Reference
No
Links to team
landingPageType
Landing Page Type
Short text
Yes
One of: Home, Matches, Players, Custom, Collections, Podcasts
chipTitle
Chip Title ( Custom Page )
Short text
No
At most 15 characters
sponsor
Sponsor
Reference
No
Links to imageLink
isVideoHomePage
Is Video Homepage?
Boolean
No
YouTube Item
Contentful: Video ▶️ YouTube Item (youtubeItem).
A YouTube video for an article (club/0033). The Video Item is the Stadion Video Platform's, Mux only; a YouTube video is an entry of this type instead. It is allowed wherever an article takes a Video Item: the article's Featured Video, Body Copy embeds, an Embed Block's Item To Embed and an Accordion Section's embeds. It draws exactly as a Video Item holding only a YouTube video does (videoSource reads its youtubeVideo, the same field and shape). domains.json owns it under video.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
The entry's name in Contentful
title
Video Title
Short text
No
Shown with the video
subtitle
Sub-title
Short text
No
Shown under the title when embedded in a body
youtubeVideo
YouTube Video
JSON
Yes
The Video picker app's YouTube video (id, provider, title, duration, thumbnailImageUrl)
image
Image
Reference
No
Links to image; replaces YouTube's thumbnail as the still
Basketball and club types
The basketball domain is this project's own bolt-on (domains.json): it ships @v4/basketball-app (the data areas — teams, players, coaches, games, standings, stats), @v4/competition-engine and @v4/model/basketball, and declares no content types of its own. The types it reads — and the WSC Widget on the content page — are created by our own migrations in packages/model/migrations/club/, which is exempt from domain ownership, so domains.json does not own them. (Its types map still lists the unbought football team/season/competition/fixture/club and sport-common profile under those ids; neither domain is composed here, and in this space the ids are these basketball types instead. player, seasonSponsor, venue and wscWidget have no entry at all.) 10 types of our own: the nine below and wscWidget.
Where the data comes from
The Competition Engine owns every basketball data point; Contentful holds a type only because editors own something on it, or because something in Contentful has to link to it (video tagging, article links, the video platform's own reads — whose contract, club/0030, names these ids literally). The rule, from club/0038:
A CMS field's value wins when it is set; the engine's value is the fallback when it is not. Nothing else from the engine is copied in.
Every field is one of three classes, and its help text says which: identity (written by the data sync when it creates the entry — the engine code, name, slug), mirror (written by the sync on every run — only what the video platform reads), and editorial (written by editors only; the sync never touches it).
The join key is the engine's code — dataProviderId on the platform types, personCode on the old player.
Two pairs, one split. The engine has one club and one person; Contentful has team (editorial) and club (the platform's, sync-mirrored), and — until the merge completes — profile and the old player. Names change, ids never do: fixture is a game and profile is a player because the platform, the fragments and the routes already use those ids.
Hidden fields are disabled, never omitted: out of the entry editor but still in the GraphQL and delivery APIs, so the sync can write them and the platform can read them (club/0057). Where the site's reading of Contentful against the engine is decided field by field, the ELB "Contentful precedence" sheet is the record.
Recent model changes
club/0051 (3 Nov) — the field clean-up: deletes unused fields across core and content (Site Settings' hospitality and ticketing links, article and listing tags, setAsLandingPage, scrollerBlockTitle, Stats Block and footer sponsors, Gateway Card subTitle), hides others, renames the two "Display Cards As (TBC if used)".
club/0057 (5 Nov) — deletes snippet, globalSettings and itemCountry, Article › Content Blocks, Season start/end dates and Club short name; merges the player into profile ("Basketball 🏀 Player") and adds Article › Players.
club/0058 — shows Players to editors and hides Associated Players.
club/0059 — a Game's sides become Home Team / Away Team; Home Club / Away Club and Team are hidden and optional.
club/0060 — removes Associated Players from articles and videos (the merge's contract step).
club/0061 — the article's match field is named "Game" for editors.
club/0063 (6 Nov) — Season Sponsor and Season › Sponsors.
A competition — EuroLeague, EuroCup or NextGen — and the site section it heads: home pages, content pages, news listings and articles take a Competition (club/0035), siteSettings.defaultCompetition picks the one the bare data-area addresses open, and its footer gives the section its own footer (club/0044). dataProviderId is the engine's competition code.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
name
Name
Short text
Yes
slug
Slug
Short text
Yes
Unique
dataProviderId
Competition Code
Short text
No
Unique
footer
Footer
Reference
No
Links to footerBlock
Season
Contentful: Basketball 🏀 Season (season).
A season (e.g. 2026/27). The data sync creates it from the engine; sponsors is editorial — the Season Sponsor entries for that season's Games, Stats, Players and Teams pages (club/0063). startDate / endDate were deleted by club/0057.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
title
Title
Short text
Yes
slug
Slug
Short text
Yes
Unique
sponsors
Sponsors
Reference (list)
No
Links to seasonSponsor; At most 12 items
SeasonSponsor
Contentful: Basketball 🏀 Season Sponsor (seasonSponsor).
One "Sponsored by" placement: one competition, one page — Games (the schedule and that season's Game Centres), Stats, Players or Teams — and up to six sponsor logos as Image Links, whose images carry the geo rules (club/0063). A Season lists its Season Sponsors.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
competition
Competition
Reference
Yes
Links to competition
page
Page
Short text
Yes
One of: Games, Stats, Players, Teams
sponsors
Sponsors
Reference (list)
No
Links to imageLink; At most 6 items
Team
Contentful: Basketball 🏀 Team (team).
A club, as editors see it: the engine's club code plus the editorial fields — editorial name, crest, hero slides (club/0040), a promo (club/0043), website, tickets URL and social accounts. The video platform tags videos with Team, and a Game's Home Team / Away Team are Teams (club/0059).
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
name
Name
Short text
No
Hidden from editors
slug
Slug
Short text
Yes
Unique
sortHierarchy
Sort Hierarchy
Integer
No
dataProviderId
Club Code
Short text
No
Unique; Hidden from editors
editorialName
Editorial Name
Short text
No
website
Website
Short text
No
ticketsUrl
Tickets URL
Short text
No
twitterAccount
X (Twitter)
Short text
No
instagramAccount
Instagram
Short text
No
facebookAccount
Facebook
Short text
No
crest
Crest
Reference
No
Links to image
heroSlides
Hero Slides
Reference (list)
No
Links to itemHeroSlide; At most 5 items
promo
Promo
Reference
No
Links to promoBlock
Club
Contentful: Basketball 🏀 Club (video platform) (club).
The video platform's club: it builds a game's sides from two Clubs. Nothing on it is editorial — the data sync keeps one Club per Team, mirroring its name and crest, and points each Game's hidden Home Club / Away Club at them (club/0059). shortName was deleted by club/0057.
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
name
Name
Short text
Yes
clubCrest
Club Crest
Reference
No
Links to image
dataProviderId
Club Code
Short text
No
Unique
Fixture (Game)
Contentful: Basketball 🏀 Game (fixture).
A game (the id stays fixture because the video platform, fragments and routes use it). Editors pick Home Team / Away Team; the sync writes the engine's game code, tip-off, period and the mirrored Clubs. matchPeriod must be the literal FullTime for a finished game — that is what the platform's results filter reads. A game links its live build-up, video and audio streams.
An arena — the engine's venue code, name, capacity and address (club/0038).
Field
Editor name
Type
Required
Notes
contentfulTitle
Contentful Title
Short text
Yes
dataProviderId
Venue Code
Short text
Yes
Unique; Hidden from editors
name
Name
Short text
Yes
capacity
Capacity
Integer
No
address
Address
Long text
No
Profile (Player)
Contentful: Basketball 🏀 Player (profile).
The player type. It was the video platform's player profile (club/0030); club/0057 merged our player into it — it took the name "Basketball 🏀 Player", our field names and the fields the site uses, and hid the ones only the platform or the sync write. Article › Players, Video › Players and the playlist Player Filter link to it. position and squadNumber were deleted by club/0057.
Field
Editor name
Type
Required
Notes
knownAs
Known As
Short text
No
firstName
First Name
Short text
No
Hidden from editors
lastName
Last Name
Short text
No
Hidden from editors
slug
Slug
Short text
Yes
Unique
headshot
Headshot
Reference
No
Links to image
profileImage
Profile Image
Reference
No
Links to image; Hidden from editors
profileActionImage
Action Image
Reference
No
Links to image
associatedTeams
Associated Teams
Reference (list)
No
Links to team; Hidden from editors
hasLeftClub
Has Left Club
Boolean
No
Hidden from editors
dataProviderId
Person Code
Short text
No
Unique; Hidden from editors
name
Name
Short text
No
Hidden from editors
headshotUrl
Headshot URL
Short text
No
Hidden from editors
heroSlides
Hero Slides
Reference (list)
No
Links to itemHeroSlide; At most 5 items
heightCm
Height (cm)
Integer
No
bio
Bio
Long text
No
Localised
achievements
Achievements
Long text
No
Localised
twitterAccount
X (Twitter)
Short text
No
instagramAccount
Instagram
Short text
No
facebookAccount
Facebook
Short text
No
Player (old)
Contentful: Basketball 🏀 Player (old) (player).
The first player type (club/0003), now "(old)": its data has been copied into profile (scripts/merge-players-into-profile.mjs), Associated Players was removed from articles and videos (club/0060), and the type is deleted by a later contract migration once its entries are gone. personCode is the engine's join key. Rich-text entry links still allow it alongside profile.