{
    "siteKey": "REQUIRED. Lowercase site identifier, e.g. 'ual', 'ala'. Used in the route GET /api/mobilecontent/dynamic/site/{siteKey}.",
    "description": "OPTIONAL. Human-readable site description, e.g. 'UAL MEC Site'.",
    "activeTheme": "LEGACY FIELD — seen in site.ALA.json and UALSiteIngest.json as the site's theme key string, e.g. 'ual-default'. Superseded by activeThemeId/activeThemeKey below. Both forms currently exist across mock files; do not mix both in the same file — pick one convention. See docs.",
    "activeThemeId": "OPTIONAL. GUID string — site-level theme id (SiteDto.ActiveThemeId). Resolved via GET /api/mobilecontent/dynamic/theme/{themeId}. A page's own activeThemeId, if set, overrides this.",
    "activeThemeKey": "OPTIONAL. String — site-level theme key paired with activeThemeId, e.g. 'ual'.",
    "pages": [
        {
            "pageKey": "REQUIRED. Lowercase-kebab page key, unique within the site, e.g. 'ual-home'. Wire field name is 'key' in some legacy mock files (UALSiteIngest.json, site.UAL.json before normalization) — prefer 'pageKey' going forward. Referenced elsewhere as a link target using curly-brace syntax: '{page-key}', or with a placeholder token for per-LEC pages: '{ual-lec-{LEC}-updates}'.",
            "title": "OPTIONAL. Page heading text shown where the page template renders one.",
            "sortOrder": 0,
            "activeThemeId": "OPTIONAL, nullable. GUID string. Page-level theme override — takes precedence over the site's activeThemeId/activeTheme when set.",
            "activeThemeKey": "OPTIONAL, nullable. String, paired with activeThemeId.",
            "parentPageId": "OPTIONAL, nullable. Not populated in any observed mock — reserved for a future page hierarchy/breadcrumb feature. Leave null.",
            "langFallbackPageKey": "OPTIONAL, nullable. Not populated in any observed mock — reserved for localization fallback (e.g. point a non-English page at its English pageKey when no translation exists). Leave null.",
            "containers": [
                {
                    "containerType": "Stack",
                    "title": "OPTIONAL, nullable. Section header, e.g. 'Committee Members', 'United Pilot Agreement'. Usually null for pure wrapper stacks.",
                    "viewAllText": "OPTIONAL, nullable. 'View All' link label. Usually null on Stack; more common on Carousel.",
                    "viewAllLink": "OPTIONAL, nullable. Nav target for the View All link — a '{page-key}' token or an absolute URL.",
                    "columns": null,
                    "backgroundToken": "OPTIONAL, nullable. Surface/* token, e.g. 'Surface/Brand', 'Surface/Secondary'. Null = no background (transparent) — do not emit the literal string 'Transparent'.",
                    "cornerRadiusToken": "OPTIONAL, nullable. BorderRadius/* token. Rarely set at container level; more common on individual items.",
                    "paddingToken": "OPTIONAL, nullable. Spacing/* token, e.g. 'Spacing/Medium'. KNOWN GAP: not currently resolved into any CSS by the client — see docs 'Known gaps'.",
                    "titleToken": "Typography class token for the title text, e.g. 'ContainerHeaderTitle'. Always the same value in every observed mock.",
                    "viewAllLinkToken": "Typography class token for the View All link text, e.g. 'ContainerViewAllLink'. Always the same value in every observed mock.",
                    "isSortable": true,
                    "sortOrder": 0,
                    "items": [
                        {
                            "itemType": "Button",
                            "isSortable": true,
                            "sortOrder": 0,
                            "ctaText": "REQUIRED for Button. Visible button label, e.g. 'THROW A DART'. Conventionally ALL CAPS in existing content.",
                            "ctaLink": "REQUIRED for Button. Nav target — absolute URL, 'tel:', or a '{page-key}' token.",
                            "backgroundToken": "Surface/Secondary — typical Button background.",
                            "ctaTextToken": "ButtonText — typography token for the label. Always this value in observed mocks.",
                            "template": "{\"contentType\":\"ButtonCard\",\"variant\":\"alpa-diagonal\"} — OPTIONAL. When present with variant 'alpa' or 'alpa-diagonal', renders the branded diagonal-stripe button style instead of the plain button. Omit for a plain button.",
                            "tokenOverrides": null
                        }
                    ]
                },
                {
                    "containerType": "Grid",
                    "title": "OPTIONAL, nullable. Section header, e.g. 'Quick Links', 'Meetings'.",
                    "viewAllText": null,
                    "viewAllLink": null,
                    "columns": "OPTIONAL, nullable int. Number of grid columns. Defaults to 3 when omitted/null. Observed values: 3 (documents/quick-links tiles), null (defaults to 3).",
                    "backgroundToken": "OPTIONAL, nullable. Surface/* token applied to the whole grid section, e.g. 'Surface/Brand'.",
                    "cornerRadiusToken": null,
                    "paddingToken": null,
                    "titleToken": "ContainerHeaderTitle",
                    "viewAllLinkToken": "ContainerViewAllLink",
                    "isSortable": false,
                    "sortOrder": 1,
                    "items": [
                        {
                            "itemType": "ButtonCard",
                            "isSortable": false,
                            "sortOrder": 0,
                            "headerText": "REQUIRED for ButtonCard. Tile label, e.g. 'PDR', 'Committees'. Short, usually ALL CAPS or Title Case.",
                            "description": null,
                            "image": "OPTIONAL. Icon URL, e.g. 'https://ual.alpa.org/Portals/90/alpa-app/icons/pdr-icon.svg'.",
                            "ctaLink": "REQUIRED for ButtonCard. Nav target — absolute URL or a '{page-key}' token, e.g. '{ual-committees}'.",
                            "backgroundToken": "Surface/Brand — typical ButtonCard tile background.",
                            "headerTextToken": "ButtonCardTitle — typography token for headerText. Always this value in observed mocks.",
                            "template": null,
                            "tokenOverrides": null
                        }
                    ]
                },
                {
                    "containerType": "Carousel",
                    "title": "REQUIRED for Carousel (in practice always populated). Section header, e.g. 'LATEST UPDATES', 'Media'.",
                    "viewAllText": "OPTIONAL, nullable. e.g. 'VIEW ALL', 'View All'.",
                    "viewAllLink": "OPTIONAL, nullable. '{page-key}' token or absolute URL, paired with viewAllText.",
                    "columns": null,
                    "backgroundToken": null,
                    "cornerRadiusToken": null,
                    "paddingToken": "OPTIONAL, nullable. Observed once as 'Spacing/Medium' on a Carousel — see paddingToken gap note above.",
                    "titleToken": "ContainerHeaderTitle",
                    "viewAllLinkToken": "ContainerViewAllLink",
                    "isSortable": false,
                    "sortOrder": 2,
                    "items": [
                        {
                            "itemType": "HeroCard",
                            "isSortable": false,
                            "sortOrder": 0,
                            "title": "REQUIRED for HeroCard. Main heading, e.g. 'The Flightdeck: A Leading Edge Podcast'.",
                            "description": "OPTIONAL, nullable. Supporting text below the title.",
                            "eyebrow": "OPTIONAL. Category label above the title, e.g. 'PODCAST', 'WATCH'. ALL CAPS by convention.",
                            "image": "REQUIRED in practice. Card background image URL, typically the '.../card-lg/....jpg' asset pattern.",
                            "link": "REQUIRED for HeroCard. Nav target when the whole card is tapped — absolute URL, '{page-key}' token, or embedded-player URL.",
                            "ctaText": null,
                            "ctaLink": null,
                            "eyebrowToken": "HeroEyebrow",
                            "titleToken": "HeroTitle",
                            "descriptionToken": "HeroParagraph",
                            "template": null,
                            "tokenOverrides": null
                        }
                    ]
                },
                {
                    "containerType": "ButtonGroup",
                    "title": null,
                    "viewAllText": null,
                    "viewAllLink": null,
                    "columns": null,
                    "backgroundToken": null,
                    "cornerRadiusToken": null,
                    "paddingToken": null,
                    "titleToken": "ContainerHeaderTitle",
                    "viewAllLinkToken": "ContainerViewAllLink",
                    "isSortable": false,
                    "sortOrder": 3,
                    "items": [
                        {
                            "itemType": "Button",
                            "isSortable": false,
                            "sortOrder": 0,
                            "ctaText": "Only ButtonViewModel items survive inside a ButtonGroup container — other item types are silently filtered out client-side.",
                            "ctaLink": "https://example.org/",
                            "backgroundToken": null,
                            "ctaTextToken": "ButtonText",
                            "template": null,
                            "tokenOverrides": null
                        }
                    ]
                }
            ],
            "workflowState": "OPTIONAL, string, no enforced enum. Values observed across all mocks: 'Draft'. The live feed additionally supports 'Published' (per the API contract doc — a page must be Published to be served to non-preview users). No 'Archived' value found anywhere in the codebase.",
            "activeSnapshotId": "SYSTEM-MANAGED. GUID string. Do not hand-author — assigned when the page's current draft/published version is saved.",
            "previewMessage": "SYSTEM-MANAGED (but harmless to include literally in hand-authored mocks). Standard text observed: 'PREVIEW: This page is a draft and has not been published yet.'",
            "isLocked": "SYSTEM-MANAGED. bool. true while another editor has the page open for editing.",
            "lockedByUser": "SYSTEM-MANAGED, nullable. User identifier holding the lock, or null.",
            "hasDraftChanges": "SYSTEM-MANAGED. bool. true if there are unsaved/unpublished edits relative to the last published snapshot.",
            "createdAt": "SYSTEM-MANAGED. ISO-8601 timestamp, e.g. '2026-08-28T20:41:02.5010898'.",
            "updatedAt": "SYSTEM-MANAGED. ISO-8601 timestamp, e.g. '2026-09-02T14:37:57.3121734Z'. Note inconsistent trailing 'Z' across mocks — harmless, both parse fine."
        },
        {
            "pageKey": "template-item-and-template-catalog",
            "title": "Item Type & Template Catalog",
            "sortOrder": 1,
            "activeThemeId": null,
            "activeThemeKey": null,
            "parentPageId": null,
            "langFallbackPageKey": null,
            "containers": [
                {
                    "containerType": "Stack",
                    "title": null,
                    "viewAllText": null,
                    "viewAllLink": null,
                    "columns": 1,
                    "backgroundToken": null,
                    "cornerRadiusToken": null,
                    "paddingToken": null,
                    "titleToken": "ContainerHeaderTitle",
                    "viewAllLinkToken": "ContainerViewAllLink",
                    "isSortable": false,
                    "sortOrder": 0,
                    "items": [
                        {
                            "itemType": "PilotCard",
                            "isSortable": false,
                            "sortOrder": 0,
                            "identityToken": "PilotCardIdentity — resolves the greeting/name styling.",
                            "contractLinkToken": "PilotCardLink — resolves the 'View Contract' link styling.",
                            "template": "{\"renderType\":\"PilotCard\",\"contentType\":\"PilotCard\",\"filterType\":\"MEC\",\"filterValue\":\"SELF\",\"ctaLink\":\"/document-open?queryTagID=AppContractLink\"} — REQUIRED-in-practice. contentType 'PilotCard' fetches the current pilot's identity server-side; filterType/filterValue are always 'MEC'/'SELF'. ctaLink is the deep-link opened when the pilot taps 'View Contract'.",
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "CardSmall",
                            "isSortable": false,
                            "sortOrder": 1,
                            "title": "OPTIONAL. Tile title, e.g. 'UPA23: Current Agreement'. Omit when the template's contentType supplies it dynamically (e.g. LecLink).",
                            "eyebrow": "OPTIONAL. A small category/date label above the title (e.g. a document's publish date). Text only — never an image URL.",
                            "image": "OPTIONAL. The card's icon/thumbnail URL, e.g. 'https://.../card-sm/upa23-card-sm.jpg'.",
                            "ctaLink": "OPTIONAL. Static nav target, e.g. '/document-open?fileId=upa23-contract'. Omit when driven by a template contentType (LecLink resolves its own link).",
                            "titleToken": "CardSmallTitle",
                            "iconSizeToken": "OPTIONAL. IconSize/* token, e.g. 'IconSize/L'. Only used on a handful of Documents-page quick-link CardSmall items.",
                            "iconColorToken": "OPTIONAL. Icon/* token, e.g. 'Icon/OnBrand'.",
                            "cornerRadiusToken": "OPTIONAL. BorderRadius/* token, e.g. 'BorderRadius/M'. Common on CardSmall.",
                            "iconBackgroundToken": "OPTIONAL. Surface/* token behind the icon, e.g. 'Surface/Brand'.",
                            "template": "{\"renderType\":\"CardSmall\",\"contentType\":\"LecLink\",\"parentFilterType\":\"MEC\",\"parentFilterValue\":\"UAL\",\"filterType\":\"LEC\",\"filterValue\":\"SELF\",\"image\":\"https://.../card-sm/{lec}-card-sm.jpg\",\"cornerRadiusToken\":\"BorderRadius/M\"} — contentType 'LecLink' resolves the pilot's home LEC and substitutes it into the '{lec}' placeholder inside 'image' to pick the right card image.",
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "CardText",
                            "isSortable": true,
                            "sortOrder": 2,
                            "label": "OPTIONAL. Parent-category eyebrow shown above the title, e.g. 'COMMITTEES'.",
                            "title": "REQUIRED. Main text.",
                            "description": "OPTIONAL. Supporting body text.",
                            "link": "REQUIRED. Nav target for the whole card.",
                            "titleToken": null,
                            "descriptionToken": null,
                            "template": null,
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "EmergencyButton",
                            "isSortable": false,
                            "sortOrder": 3,
                            "ctaText": "REQUIRED. e.g. 'CALL ACCIDENT HOTLINE'.",
                            "ctaLink": "REQUIRED. Usually a 'tel:' link.",
                            "backgroundToken": "Status/Error is the intended background for this item type per the design-token reference; not yet observed set explicitly in mocks (component likely applies it internally).",
                            "template": null,
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "MultiCommitteeRoster",
                            "isSortable": false,
                            "sortOrder": 4,
                            "rosterTitleToken": "RosterTitle",
                            "rosterNameToken": "RosterName",
                            "rosterEmailToken": "RosterEmail",
                            "rosterTelToken": "RosterTel",
                            "template": "{\"contentType\":\"RosterItem\",\"rosterCodes\":\"UALLEC00097,UALLEC00107,UALLEC00212\"} — REQUIRED. contentType 'RosterItem' (MultiCommitteeRosterFactory) resolves the roster: rosterCodes, INSIDE the template, is a comma-separated list of committee codes. For each code, in the order listed, the app shows a heading with the committee's name and then that committee's members, ranked (Chair titles first, then Vice Chair, Secretary, Treasurer, Executive Administrator, then everyone else). A repeated code shows once; an unknown code or an empty committee is skipped. Optional: renderType (default 'ContactCard'), isFavoritable (default true) and the usual visibility fields (hidden, visibleMecs, hiddenMecs, hiddenUserTypes). An item-level rosterCodes field is not read: codes set outside the template list nobody. Place this item in a Stack container; in a Carousel or Grid each heading and member becomes its own slide or tile.",
                            "tokenOverrides": null
                        }
                    ]
                },
                {
                    "containerType": "Stack",
                    "title": null,
                    "viewAllText": null,
                    "viewAllLink": null,
                    "columns": null,
                    "backgroundToken": null,
                    "cornerRadiusToken": null,
                    "paddingToken": null,
                    "titleToken": "ContainerHeaderTitle",
                    "viewAllLinkToken": "ContainerViewAllLink",
                    "isSortable": false,
                    "sortOrder": 1,
                    "items": [
                        {
                            "itemType": "List",
                            "isSortable": false,
                            "sortOrder": 0,
                            "eyebrowToken": "CarouselListEyebrow",
                            "titleToken": "CarouselListTitle",
                            "descriptionToken": "CarouselListParagraph",
                            "template": "{\"renderType\":\"HeroCard\",\"contentType\":\"DocumentItem\",\"parentFilterType\":\"MEC\",\"parentFilterValue\":\"ual\",\"filterType\":\"Category\",\"filterValue\":\"MEC Updates and Weekly\",\"scope\":null,\"category\":null,\"grouping\":null,\"searchFilter\":\"by:date-direction:desc-top:3\",\"action\":null} — parentFilterType/parentFilterValue scope to a MEC or LEC ('LEC'/'005' etc.); filterType 'Category' + filterValue selects the document category (e.g. 'MEC Updates and Weekly', 'Hotel Updates', 'FAQ'); filterType 'Grouping' + filterValue instead selects by grouping (e.g. 'LOA', 'MOU'). renderType controls which card component renders each result (usually 'HeroCard'). KNOWN GAP: searchFilter's 'by:date-direction:desc-top:N' shape appears throughout the mocks but SearchFilterSpec.Parse only understands the query-string shape 'sort_by=date&order=desc&limit=N' (seen once, in site.UAL.json's Home 'LATEST UPDATES' carousel) — the colon-delimited form is silently unparsed. Prefer the query-string form for new content.",
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "List",
                            "isSortable": false,
                            "sortOrder": 1,
                            "rosterTitleToken": "RosterTitle",
                            "rosterNameToken": "RosterName",
                            "rosterEmailToken": "RosterEmail",
                            "rosterTelToken": "RosterTel",
                            "template": "{\"renderType\":\"ContactCard\",\"contentType\":\"ContactItem\",\"filterType\":\"RosterCode\",\"filterValue\":\"UALHOTL00001\",\"grouping\":\"Officers\"} — filterType picks what the section lists: RosterCode (one committee's roster; filterValue is its committee/LEC roster code, comm_cd), LecReps (the signed-in member's own council's LEC reps, from getlecreps) or MecReps (the member's MEC officers, from getmecreps; AB#2840). filterValue is ignored for LecReps and MecReps. grouping is accepted but not applied (the full roster returns). Older app builds don't know MecReps and show that section empty, so re-author onto it only once the first release that knows it is widely installed, replacing the committee-roster section rather than adding a second one.",
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "CardSmall",
                            "isSortable": false,
                            "sortOrder": 2,
                            "titleToken": "CardSmallTitle",
                            "template": "{\"renderType\":\"CardSmall\",\"contentType\":\"Committee\",\"action\":\"/mec/committee/{Id}\",\"featuredCommittees\":{\"UALHOTL00001\":\"https://.../hotel-icon.svg\"},\"featuredCommitteePages\":{\"UALHOTL00001\":\"ual-committees-hotel\"}} — featuredCommittees maps a committee code to its tile icon URL; featuredCommitteePages maps the same code to the in-app pageKey to navigate to when tapped. action is a URL template with an '{Id}' placeholder for a web fallback.",
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "List",
                            "isSortable": false,
                            "sortOrder": 3,
                            "eyebrowToken": "HeroEyebrow",
                            "titleToken": "HeroTitle",
                            "descriptionToken": "HeroParagraph",
                            "template": "{\"renderType\":\"HeroCard\",\"contentType\":\"PodcastEpisode\",\"filterType\":\"FeedUrl\",\"filterValue\":\"https://feed.podbean.com/example/feed.xml\",\"searchFilter\":\"by:date-direction:desc-top:5\",\"action\":null} — filterType is always 'FeedUrl'; filterValue is the podcast RSS feed URL.",
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "Button",
                            "isSortable": false,
                            "sortOrder": 4,
                            "ctaText": "IRROPS RECOVERY GUIDE",
                            "ctaLink": "https://example.org/irrops.pdf",
                            "ctaTextToken": "ButtonText",
                            "template": "{\"contentType\":\"ButtonCard\",\"variant\":\"alpa-diagonal\"} — the most common template on plain Button items; selects the branded diagonal-stripe button visual. variant also accepts plain 'alpa' for the non-diagonal branded style; omit variant/template entirely for a fully plain button.",
                            "tokenOverrides": null
                        }
                    ]
                },
                {
                    "containerType": "Stack",
                    "title": null,
                    "viewAllText": null,
                    "viewAllLink": null,
                    "columns": null,
                    "backgroundToken": null,
                    "cornerRadiusToken": null,
                    "paddingToken": null,
                    "titleToken": "ContainerHeaderTitle",
                    "viewAllLinkToken": "ContainerViewAllLink",
                    "isSortable": false,
                    "sortOrder": 2,
                    "items": [
                        {
                            "itemType": "ContactCard",
                            "isSortable": false,
                            "sortOrder": 0,
                            "rosterTitleToken": "RosterTitle",
                            "rosterNameToken": "RosterName",
                            "rosterEmailToken": "RosterEmail",
                            "rosterTelToken": "RosterTel",
                            "template": null,
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "ToggleSwitch",
                            "isSortable": false,
                            "sortOrder": 1,
                            "title": "Toggle label",
                            "template": null,
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "PromoBanner",
                            "isSortable": false,
                            "sortOrder": 2,
                            "title": "Banner headline",
                            "description": "Banner subtext",
                            "image": "Banner background image URL",
                            "link": "Nav target",
                            "template": null,
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "SearchSecondaryButton",
                            "isSortable": false,
                            "sortOrder": 3,
                            "ctaText": "Button label",
                            "ctaLink": "Nav target",
                            "template": null,
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "Expander",
                            "isSortable": false,
                            "sortOrder": 4,
                            "title": "Expander header text",
                            "description": "Expanded body content",
                            "template": null,
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "TabGroup",
                            "isSortable": false,
                            "sortOrder": 5,
                            "title": "Tab group label",
                            "template": null,
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "SingleButton2",
                            "isSortable": false,
                            "sortOrder": 6,
                            "ctaText": "Button label",
                            "ctaLink": "Nav target",
                            "template": null,
                            "tokenOverrides": null
                        }
                    ]
                },
                {
                    "containerType": "Stack",
                    "title": null,
                    "viewAllText": null,
                    "viewAllLink": null,
                    "columns": null,
                    "backgroundToken": null,
                    "cornerRadiusToken": null,
                    "paddingToken": null,
                    "titleToken": "ContainerHeaderTitle",
                    "viewAllLinkToken": "ContainerViewAllLink",
                    "isSortable": false,
                    "sortOrder": 3,
                    "items": [
                        {
                            "itemType": "HeroCard",
                            "isSortable": false,
                            "sortOrder": 0,
                            "blurb": "LEGACY — superseded by 'description'. The factory prefers 'description' and falls back to 'blurb' only if 'description' is absent. Do not author new content with 'blurb'.",
                            "icon": "LEGACY — superseded by 'image'. Same fallback behavior as blurb/description. Do not author new content with 'icon'.",
                            "template": null,
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "ThreeUpButton",
                            "isSortable": false,
                            "sortOrder": 1,
                            "threeUpButtons": [
                                {
                                    "icon": "icon URL",
                                    "label": "Button label",
                                    "link": "Nav target"
                                },
                                {
                                    "icon": "icon URL",
                                    "label": "Button label",
                                    "link": "Nav target"
                                },
                                {
                                    "icon": "icon URL",
                                    "label": "Button label",
                                    "link": "Nav target"
                                }
                            ],
                            "template": null,
                            "tokenOverrides": null
                        },
                        {
                            "itemType": "SliderImages",
                            "isSortable": false,
                            "sortOrder": 2,
                            "sliderTitle": "Carousel-within-item title",
                            "sliderViewAllText": "View All",
                            "sliderViewAllLink": "Nav target",
                            "sliderItems": [
                                {
                                    "imageUrl": "Image URL",
                                    "eyebrow": "Eyebrow",
                                    "title": "Slide title",
                                    "blurb": "Slide body",
                                    "link": "Nav target"
                                }
                            ],
                            "template": null,
                            "tokenOverrides": null
                        }
                    ]
                },
                {
                    "containerType": "Stack",
                    "title": null,
                    "viewAllText": null,
                    "viewAllLink": null,
                    "columns": null,
                    "backgroundToken": null,
                    "cornerRadiusToken": null,
                    "paddingToken": null,
                    "titleToken": "ContainerHeaderTitle",
                    "viewAllLinkToken": "ContainerViewAllLink",
                    "isSortable": false,
                    "sortOrder": 4,
                    "items": [
                        {
                            "itemType": "ButtonCard",
                            "isSortable": false,
                            "sortOrder": 0,
                            "headerText": "Example with a one-off style override",
                            "ctaLink": "https://example.org/",
                            "backgroundToken": "Surface/Brand",
                            "tokenOverrides": [
                                {
                                    "background-color": "#ff0000"
                                }
                            ],
                            "template": null
                        }
                    ]
                }
            ],
            "workflowState": "Draft",
            "activeSnapshotId": "SYSTEM-MANAGED",
            "previewMessage": "PREVIEW: This page is a draft and has not been published yet.",
            "isLocked": false,
            "lockedByUser": null,
            "hasDraftChanges": false,
            "createdAt": "SYSTEM-MANAGED",
            "updatedAt": "SYSTEM-MANAGED"
        }
    ]
}
