> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nudj.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a game config

> Update an existing game configuration by id.



## OpenAPI

````yaml /openapi/admin.json patch /game-configs/{id}
openapi: 3.1.0
info:
  title: Nudj Admin API
  version: 1.0.0
servers:
  - url: https://{subdomain}.nudj.cx/api/v2/admin
    description: Organization API Server
    variables:
      subdomain:
        description: Your organization's subdomain (required)
        default: your-org
security:
  - ApiToken: []
paths:
  /game-configs/{id}:
    patch:
      tags:
        - Game Config
      summary: Update a game config
      description: Update an existing game configuration by id.
      operationId: updateGameConfig
      parameters:
        - in: path
          name: id
          description: The id of the game configuration to update
          schema:
            type: string
            pattern: ^[0-9a-fA-F]{24}$
            description: The id of the game configuration to update
          required: true
        - in: header
          name: x-language
          description: >-
            The language to update the game config in. Language-specific fields
            will be applied only for that language.
          schema:
            type: string
            description: >-
              The language to update the game config in. Language-specific
              fields will be applied only for that language.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                config:
                  anyOf:
                    - type: object
                      properties:
                        clientBranding:
                          type: object
                          properties:
                            gameTitle:
                              type: string
                              description: Title of the game
                            gameDescription:
                              type: string
                              description: Description of the game
                            clientName:
                              type: string
                              description: Name of the client
                            clientWebsite:
                              type: string
                              description: Website URL of the client
                            background:
                              type: object
                              properties:
                                image:
                                  type: string
                                  description: Background image URL or path
                                color:
                                  type: string
                                  description: Background color
                              required:
                                - image
                                - color
                              description: Background configuration
                            logo:
                              type: object
                              properties:
                                url:
                                  type: string
                                  description: Logo URL or path
                                alt:
                                  type: string
                                  description: Logo alt text
                              required:
                                - url
                                - alt
                              description: Logo configuration
                            favicon:
                              type: string
                              description: Favicon URL or path
                            font:
                              type: string
                              description: Font family name
                            colors:
                              type: object
                              properties:
                                primary:
                                  type: string
                                  description: Primary color
                                on-primary:
                                  type: string
                                  description: Text color on primary background
                                secondary:
                                  type: string
                                  description: Secondary color
                                on-secondary:
                                  type: string
                                  description: Text color on secondary background
                                accent:
                                  type: string
                                  description: Accent color
                                on-accent:
                                  type: string
                                  description: Text color on accent background
                              required:
                                - primary
                                - on-primary
                                - secondary
                                - on-secondary
                                - accent
                                - on-accent
                              description: Color scheme
                            style:
                              type: object
                              properties:
                                cornerRadius:
                                  type: number
                                  description: Corner radius for UI elements
                              required:
                                - cornerRadius
                              description: Style configuration
                            icons:
                              type: object
                              properties:
                                play:
                                  type: string
                                  description: Play icon
                                pause:
                                  type: string
                                  description: Pause icon
                                restart:
                                  type: string
                                  description: Restart icon
                                home:
                                  type: string
                                  description: Home icon
                                volume:
                                  type: string
                                  description: Volume icon
                                volume-off:
                                  type: string
                                  description: Volume off icon
                                level-completed:
                                  type: string
                                  description: Level completed icon
                                level-failed:
                                  type: string
                                  description: Level failed icon
                                game-completed:
                                  type: string
                                  description: Game completed icon
                                game-over:
                                  type: string
                                  description: Game over icon
                                star:
                                  type: string
                                  description: Star icon
                              required:
                                - play
                                - pause
                                - restart
                                - home
                                - volume
                                - volume-off
                                - level-completed
                                - level-failed
                                - game-completed
                                - game-over
                                - star
                              description: Icon configuration
                          required:
                            - gameTitle
                            - gameDescription
                            - clientName
                            - clientWebsite
                            - background
                            - logo
                            - favicon
                            - font
                            - colors
                            - style
                            - icons
                        gameConfig:
                          type: object
                          properties:
                            game:
                              type: string
                              const: scratch
                              description: Game type identifier
                            odds:
                              type: number
                              minimum: 0
                              maximum: 1
                              description: Probability of winning (0 to 1)
                            scratchCardImage:
                              type: string
                              description: URL or path of the scratch card image
                            backgroundImage:
                              type: string
                              description: URL or path of the background image
                            productImages:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: Unique identifier for the image
                                  url:
                                    type: string
                                    description: URL or path of the image
                                  alt:
                                    type: string
                                    description: Alt text for the image
                                  winning:
                                    type: boolean
                                    description: Whether this is a winning image
                                  distributionEventId:
                                    type:
                                      - string
                                      - 'null'
                                    description: >-
                                      ID of the distribution event for this
                                      product
                                required:
                                  - id
                                  - url
                                  - alt
                                  - winning
                              minItems: 1
                              description: Array of product images with winning status
                            particlesColor:
                              type: string
                              description: Color for scratch particles effect
                            cardColor:
                              type: string
                              description: Color of the scratch card
                            cardGlowingColor:
                              type: string
                              description: Color for the card glow effect
                            cardTextColor:
                              type: string
                              description: Color of text on the card
                            sounds:
                              type: object
                              properties:
                                win:
                                  type: string
                                  description: Sound URL for winning
                                lose:
                                  type: string
                                  description: Sound URL for losing
                              required:
                                - win
                                - lose
                          required:
                            - game
                            - odds
                            - scratchCardImage
                            - backgroundImage
                            - productImages
                            - particlesColor
                            - cardColor
                            - cardGlowingColor
                            - cardTextColor
                            - sounds
                        textContent:
                          type: object
                          properties:
                            loading:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Loading title
                                subtitle:
                                  type: string
                                  description: Loading subtitle
                                progressText:
                                  type: string
                                  description: Progress text
                                logoAlt:
                                  type: string
                                  description: Logo alt text
                              required:
                                - title
                                - subtitle
                                - progressText
                                - logoAlt
                              description: Loading screen text
                            home:
                              type: object
                              properties:
                                startButton:
                                  type: string
                                  description: Start button text
                                loadingText:
                                  type: string
                                  description: Loading text
                                preparingText:
                                  type: string
                                  description: Preparing text
                                features:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      title:
                                        type: string
                                        description: Feature title
                                      description:
                                        type: string
                                        description: Feature description
                                    required:
                                      - title
                                      - description
                                  description: Game features
                              required:
                                - startButton
                                - loadingText
                                - preparingText
                                - features
                              description: Home screen text
                            tutorial:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Tutorial title
                                subtitle:
                                  type: string
                                  description: Tutorial subtitle
                                startButton:
                                  type: string
                                  description: Start button text
                                logoAlt:
                                  type: string
                                  description: Logo alt text
                                instructions:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      icon:
                                        type: string
                                        description: Icon for the instruction
                                      title:
                                        type: string
                                        description: Title of the instruction
                                      description:
                                        type: string
                                        description: Description of the instruction
                                    required:
                                      - icon
                                      - title
                                      - description
                                  description: Tutorial instructions
                              required:
                                - title
                                - subtitle
                                - startButton
                                - logoAlt
                                - instructions
                              description: Tutorial screen text
                            gameUI:
                              type: object
                              properties:
                                soundToggle:
                                  type: object
                                  properties:
                                    enable:
                                      type: string
                                      description: Enable sound text
                                    disable:
                                      type: string
                                      description: Disable sound text
                                  required:
                                    - enable
                                    - disable
                                  description: Sound toggle text
                                pauseToggle:
                                  type: object
                                  properties:
                                    pause:
                                      type: string
                                      description: Pause text
                                    resume:
                                      type: string
                                      description: Resume text
                                  required:
                                    - pause
                                    - resume
                                  description: Pause toggle text
                              required:
                                - soundToggle
                                - pauseToggle
                              description: Game UI text
                            modals:
                              type: object
                              properties:
                                win:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Win title
                                    subtitle:
                                      type: string
                                      description: Win subtitle
                                    homeButton:
                                      type: string
                                      description: Home button text
                                    closeButton:
                                      type: string
                                      description: Close button text
                                  required:
                                    - title
                                    - subtitle
                                    - homeButton
                                    - closeButton
                                  description: Win modal text
                                lose:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Lose title
                                    subtitle:
                                      type: string
                                      description: Lose subtitle
                                    homeButton:
                                      type: string
                                      description: Home button text
                                    closeButton:
                                      type: string
                                      description: Close button text
                                  required:
                                    - title
                                    - subtitle
                                    - homeButton
                                    - closeButton
                                  description: Lose modal text
                              required:
                                - win
                                - lose
                              description: Modal text
                            errors:
                              type: object
                              properties:
                                configurationError:
                                  type: string
                                  description: Configuration error title
                                configurationErrorMessage:
                                  type: string
                                  description: Configuration error message
                                retryButton:
                                  type: string
                                  description: Retry button text
                                imageLoadError:
                                  type: string
                                  description: Image load error message
                              required:
                                - configurationError
                                - configurationErrorMessage
                                - retryButton
                                - imageLoadError
                            accessibility:
                              type: object
                              properties:
                                playButton:
                                  type: string
                                  description: Play button aria label
                                pauseButton:
                                  type: string
                                  description: Pause button aria label
                                homeButton:
                                  type: string
                                  description: Home button aria label
                                progressIndicator:
                                  type: string
                                  description: Progress indicator aria label
                              required:
                                - playButton
                                - pauseButton
                                - homeButton
                                - progressIndicator
                              description: Accessibility labels
                            status:
                              type: object
                              properties:
                                gameStarted:
                                  type: string
                                  description: Game started announcement
                                win:
                                  type: string
                                  description: Win announcement
                                lose:
                                  type: string
                                  description: Lose announcement
                              required:
                                - gameStarted
                                - win
                                - lose
                              description: Status announcements
                          required:
                            - loading
                            - home
                            - tutorial
                            - gameUI
                            - modals
                            - errors
                            - accessibility
                            - status
                      required:
                        - clientBranding
                        - gameConfig
                        - textContent
                    - type: object
                      properties:
                        clientBranding:
                          type: object
                          properties:
                            gameTitle:
                              type: string
                              description: Title of the game
                            gameDescription:
                              type: string
                              description: Description of the game
                            clientName:
                              type: string
                              description: Name of the client
                            clientWebsite:
                              type: string
                              description: Website URL of the client
                            background:
                              type: object
                              properties:
                                image:
                                  type: string
                                  description: Background image URL or path
                                color:
                                  type: string
                                  description: Background color
                              required:
                                - image
                                - color
                              description: Background configuration
                            logo:
                              type: object
                              properties:
                                url:
                                  type: string
                                  description: Logo URL or path
                                alt:
                                  type: string
                                  description: Logo alt text
                              required:
                                - url
                                - alt
                              description: Logo configuration
                            favicon:
                              type: string
                              description: Favicon URL or path
                            font:
                              type: string
                              description: Font family name
                            colors:
                              type: object
                              properties:
                                primary:
                                  type: string
                                  description: Primary color
                                on-primary:
                                  type: string
                                  description: Text color on primary background
                                secondary:
                                  type: string
                                  description: Secondary color
                                on-secondary:
                                  type: string
                                  description: Text color on secondary background
                                accent:
                                  type: string
                                  description: Accent color
                                on-accent:
                                  type: string
                                  description: Text color on accent background
                              required:
                                - primary
                                - on-primary
                                - secondary
                                - on-secondary
                                - accent
                                - on-accent
                              description: Color scheme
                            style:
                              type: object
                              properties:
                                cornerRadius:
                                  type: number
                                  description: Corner radius for UI elements
                              required:
                                - cornerRadius
                              description: Style configuration
                            icons:
                              type: object
                              properties:
                                play:
                                  type: string
                                  description: Play icon
                                pause:
                                  type: string
                                  description: Pause icon
                                restart:
                                  type: string
                                  description: Restart icon
                                home:
                                  type: string
                                  description: Home icon
                                volume:
                                  type: string
                                  description: Volume icon
                                volume-off:
                                  type: string
                                  description: Volume off icon
                                level-completed:
                                  type: string
                                  description: Level completed icon
                                level-failed:
                                  type: string
                                  description: Level failed icon
                                game-completed:
                                  type: string
                                  description: Game completed icon
                                game-over:
                                  type: string
                                  description: Game over icon
                                star:
                                  type: string
                                  description: Star icon
                              required:
                                - play
                                - pause
                                - restart
                                - home
                                - volume
                                - volume-off
                                - level-completed
                                - level-failed
                                - game-completed
                                - game-over
                                - star
                              description: Icon configuration
                          required:
                            - gameTitle
                            - gameDescription
                            - clientName
                            - clientWebsite
                            - background
                            - logo
                            - favicon
                            - font
                            - colors
                            - style
                            - icons
                        gameConfig:
                          type: object
                          properties:
                            game:
                              type: string
                              const: memory
                              description: Game type identifier
                            levels:
                              type: array
                              items:
                                type: object
                                properties:
                                  level:
                                    type: integer
                                    exclusiveMinimum: 0
                                    description: Level number
                                  gridSize:
                                    type: object
                                    properties:
                                      rows:
                                        type: integer
                                        exclusiveMinimum: 0
                                        description: Number of rows in the grid
                                      cols:
                                        type: integer
                                        exclusiveMinimum: 0
                                        description: Number of columns in the grid
                                    required:
                                      - rows
                                      - cols
                                  totalCards:
                                    type: integer
                                    exclusiveMinimum: 0
                                    description: Total number of cards
                                  totalPairs:
                                    type: integer
                                    exclusiveMinimum: 0
                                    description: Total number of pairs
                                  timeLimit:
                                    type: number
                                    exclusiveMinimum: 0
                                    description: Time limit in seconds
                                required:
                                  - level
                                  - gridSize
                                  - totalCards
                                  - totalPairs
                                  - timeLimit
                              minItems: 1
                              description: Array of level configurations
                            productImages:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: Unique identifier for the image
                                  url:
                                    type: string
                                    description: URL or path of the image
                                  alt:
                                    type: string
                                    description: Alt text for the image
                                required:
                                  - id
                                  - url
                                  - alt
                              minItems: 1
                              description: Array of product images used in the game
                            cardBack:
                              type: string
                              description: URL or path of the card back image
                            scorePerMatch:
                              type: number
                              minimum: 0
                              description: Points awarded per match
                            levelCompletionBonus:
                              type: number
                              minimum: 0
                              description: Bonus points for completing a level
                            timeBonus:
                              type: number
                              minimum: 0
                              description: Points per second remaining
                            maxScore:
                              type: number
                              exclusiveMinimum: 0
                              description: Maximum possible score
                            sounds:
                              type: object
                              properties:
                                levelCompleted:
                                  type: string
                                  description: Sound URL for level completion
                                gameOver:
                                  type: string
                                  description: Sound URL for game over
                                cardFlip:
                                  type: string
                                  description: Sound URL for card flip
                                cardMatch:
                                  type: string
                                  description: Sound URL for card match
                              required:
                                - levelCompleted
                                - gameOver
                                - cardFlip
                                - cardMatch
                          required:
                            - game
                            - levels
                            - productImages
                            - cardBack
                            - scorePerMatch
                            - levelCompletionBonus
                            - timeBonus
                            - maxScore
                            - sounds
                        textContent:
                          type: object
                          properties:
                            loading:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Loading title
                                subtitle:
                                  type: string
                                  description: Loading subtitle
                                progressText:
                                  type: string
                                  description: Progress text
                                logoAlt:
                                  type: string
                                  description: Logo alt text
                              required:
                                - title
                                - subtitle
                                - progressText
                                - logoAlt
                            home:
                              type: object
                              properties:
                                startButton:
                                  type: string
                                  description: Start button text
                                loadingText:
                                  type: string
                                  description: Loading text
                                preparingText:
                                  type: string
                                  description: Preparing text
                                features:
                                  type: object
                                  properties:
                                    levels:
                                      type: object
                                      properties:
                                        title:
                                          type: string
                                          description: Levels feature title
                                        subtitle:
                                          type: string
                                          description: Levels feature subtitle
                                      required:
                                        - title
                                        - subtitle
                                    timer:
                                      type: object
                                      properties:
                                        title:
                                          type: string
                                          description: Timer feature title
                                        subtitle:
                                          type: string
                                          description: Timer feature subtitle
                                      required:
                                        - title
                                        - subtitle
                                    score:
                                      type: object
                                      properties:
                                        title:
                                          type: string
                                          description: Score feature title
                                        subtitle:
                                          type: string
                                          description: Score feature subtitle
                                      required:
                                        - title
                                        - subtitle
                                  required:
                                    - levels
                                    - timer
                                    - score
                                  description: Game features
                              required:
                                - startButton
                                - loadingText
                                - preparingText
                                - features
                            tutorial:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Tutorial title
                                subtitle:
                                  type: string
                                  description: Tutorial subtitle
                                startButton:
                                  type: string
                                  description: Start button text
                                logoAlt:
                                  type: string
                                  description: Logo alt text
                                instructions:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      icon:
                                        type: string
                                        description: Icon for the instruction
                                      title:
                                        type: string
                                        description: Title of the instruction
                                      description:
                                        type: string
                                        description: Description of the instruction
                                    required:
                                      - icon
                                      - title
                                      - description
                                  description: Tutorial instructions
                                proTips:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Pro tips title
                                    tips:
                                      type: array
                                      items:
                                        type: string
                                      description: Pro tips list
                                  required:
                                    - title
                                    - tips
                                  description: Pro tips section
                              required:
                                - title
                                - subtitle
                                - startButton
                                - logoAlt
                                - instructions
                                - proTips
                            gameUI:
                              type: object
                              properties:
                                scoreLabel:
                                  type: string
                                  description: Score label
                                timeLabel:
                                  type: string
                                  description: Time label
                                logoAlt:
                                  type: string
                                  description: Logo alt text
                                soundToggle:
                                  type: object
                                  properties:
                                    enable:
                                      type: string
                                      description: Enable sound text
                                    disable:
                                      type: string
                                      description: Disable sound text
                                  required:
                                    - enable
                                    - disable
                                  description: Sound toggle text
                                pauseToggle:
                                  type: object
                                  properties:
                                    pause:
                                      type: string
                                      description: Pause text
                                    resume:
                                      type: string
                                      description: Resume text
                                  required:
                                    - pause
                                    - resume
                                  description: Pause toggle text
                              required:
                                - scoreLabel
                                - timeLabel
                                - logoAlt
                                - soundToggle
                                - pauseToggle
                            modals:
                              type: object
                              properties:
                                levelComplete:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Level complete title
                                    levelPointsLabel:
                                      type: string
                                      description: Level points label
                                    totalScoreLabel:
                                      type: string
                                      description: Total score label
                                    timeBonusLabel:
                                      type: string
                                      description: Time bonus label
                                    quickMatchBonusLabel:
                                      type: string
                                      description: Quick match bonus label
                                    nextLevelButton:
                                      type: string
                                      description: Next level button text
                                    replayLevelButton:
                                      type: string
                                      description: Replay level button text
                                  required:
                                    - title
                                    - levelPointsLabel
                                    - totalScoreLabel
                                    - timeBonusLabel
                                    - quickMatchBonusLabel
                                    - nextLevelButton
                                    - replayLevelButton
                                  description: Level complete modal text
                                gameComplete:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Game complete title
                                    subtitle:
                                      type: string
                                      description: Game complete subtitle
                                    finalScoreLabel:
                                      type: string
                                      description: Final score label
                                    maximumScoreLabel:
                                      type: string
                                      description: Maximum score label
                                    playAgainButton:
                                      type: string
                                      description: Play again button text
                                    homeButton:
                                      type: string
                                      description: Home button text
                                    closeButton:
                                      type: string
                                      description: Close button text
                                  required:
                                    - title
                                    - subtitle
                                    - finalScoreLabel
                                    - maximumScoreLabel
                                    - playAgainButton
                                    - homeButton
                                    - closeButton
                                  description: Game complete modal text
                                gameOver:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Game over title
                                    subtitle:
                                      type: string
                                      description: Game over subtitle
                                    finalScoreLabel:
                                      type: string
                                      description: Final score label
                                    tryAgainButton:
                                      type: string
                                      description: Try again button text
                                    restartGameButton:
                                      type: string
                                      description: Restart game button text
                                    homeButton:
                                      type: string
                                      description: Home button text
                                    closeButton:
                                      type: string
                                      description: Close button text
                                  required:
                                    - title
                                    - subtitle
                                    - finalScoreLabel
                                    - tryAgainButton
                                    - restartGameButton
                                    - homeButton
                                    - closeButton
                                  description: Game over modal text
                                pause:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Pause title
                                    subtitle:
                                      type: string
                                      description: Pause subtitle
                                    resumeButton:
                                      type: string
                                      description: Resume button text
                                    restartLevelButton:
                                      type: string
                                      description: Restart level button text
                                    homeButton:
                                      type: string
                                      description: Home button text
                                  required:
                                    - title
                                    - subtitle
                                    - resumeButton
                                    - restartLevelButton
                                    - homeButton
                                  description: Pause modal text
                              required:
                                - levelComplete
                                - gameComplete
                                - gameOver
                                - pause
                            cards:
                              type: object
                              properties:
                                faceDownAlt:
                                  type: string
                                  description: Face down card alt text
                                showingImageAlt:
                                  type: string
                                  description: Showing image alt text
                                cardBackAlt:
                                  type: string
                                  description: Card back alt text
                                productAlt:
                                  type: string
                                  description: Product alt text
                              required:
                                - faceDownAlt
                                - showingImageAlt
                                - cardBackAlt
                                - productAlt
                            errors:
                              type: object
                              properties:
                                configurationError:
                                  type: string
                                  description: Configuration error title
                                configurationErrorMessage:
                                  type: string
                                  description: Configuration error message
                                retryButton:
                                  type: string
                                  description: Retry button text
                                imageLoadError:
                                  type: string
                                  description: Image load error message
                              required:
                                - configurationError
                                - configurationErrorMessage
                                - retryButton
                                - imageLoadError
                            accessibility:
                              type: object
                              properties:
                                playButton:
                                  type: string
                                  description: Play button aria label
                                pauseButton:
                                  type: string
                                  description: Pause button aria label
                                homeButton:
                                  type: string
                                  description: Home button aria label
                                replayButton:
                                  type: string
                                  description: Replay button aria label
                                cardButton:
                                  type: string
                                  description: Card button aria label
                                progressIndicator:
                                  type: string
                                  description: Progress indicator aria label
                              required:
                                - playButton
                                - pauseButton
                                - homeButton
                                - replayButton
                                - cardButton
                                - progressIndicator
                            status:
                              type: object
                              properties:
                                gameStarted:
                                  type: string
                                  description: Game started announcement
                                levelComplete:
                                  type: string
                                  description: Level complete announcement
                                gameComplete:
                                  type: string
                                  description: Game complete announcement
                                gameOver:
                                  type: string
                                  description: Game over announcement
                                gamePaused:
                                  type: string
                                  description: Game paused announcement
                                gameResumed:
                                  type: string
                                  description: Game resumed announcement
                              required:
                                - gameStarted
                                - levelComplete
                                - gameComplete
                                - gameOver
                                - gamePaused
                                - gameResumed
                          required:
                            - loading
                            - home
                            - tutorial
                            - gameUI
                            - modals
                            - cards
                            - errors
                            - accessibility
                            - status
                      required:
                        - clientBranding
                        - gameConfig
                        - textContent
                    - type: object
                      properties:
                        clientBranding:
                          type: object
                          properties:
                            gameTitle:
                              type: string
                              description: Title of the game
                            gameDescription:
                              type: string
                              description: Description of the game
                            clientName:
                              type: string
                              description: Name of the client
                            clientWebsite:
                              type: string
                              description: Website URL of the client
                            background:
                              type: object
                              properties:
                                image:
                                  type: string
                                  description: Background image URL or path
                                color:
                                  type: string
                                  description: Background color
                              required:
                                - image
                                - color
                              description: Background configuration
                            logo:
                              type: object
                              properties:
                                url:
                                  type: string
                                  description: Logo URL or path
                                alt:
                                  type: string
                                  description: Logo alt text
                              required:
                                - url
                                - alt
                              description: Logo configuration
                            favicon:
                              type: string
                              description: Favicon URL or path
                            font:
                              type: string
                              description: Font family name
                            colors:
                              type: object
                              properties:
                                primary:
                                  type: string
                                  description: Primary color
                                on-primary:
                                  type: string
                                  description: Text color on primary background
                                secondary:
                                  type: string
                                  description: Secondary color
                                on-secondary:
                                  type: string
                                  description: Text color on secondary background
                                accent:
                                  type: string
                                  description: Accent color
                                on-accent:
                                  type: string
                                  description: Text color on accent background
                              required:
                                - primary
                                - on-primary
                                - secondary
                                - on-secondary
                                - accent
                                - on-accent
                              description: Color scheme
                            style:
                              type: object
                              properties:
                                cornerRadius:
                                  type: number
                                  description: Corner radius for UI elements
                              required:
                                - cornerRadius
                              description: Style configuration
                            icons:
                              type: object
                              properties:
                                play:
                                  type: string
                                  description: Play icon
                                pause:
                                  type: string
                                  description: Pause icon
                                restart:
                                  type: string
                                  description: Restart icon
                                home:
                                  type: string
                                  description: Home icon
                                volume:
                                  type: string
                                  description: Volume icon
                                volume-off:
                                  type: string
                                  description: Volume off icon
                                level-completed:
                                  type: string
                                  description: Level completed icon
                                level-failed:
                                  type: string
                                  description: Level failed icon
                                game-completed:
                                  type: string
                                  description: Game completed icon
                                game-over:
                                  type: string
                                  description: Game over icon
                                star:
                                  type: string
                                  description: Star icon
                              required:
                                - play
                                - pause
                                - restart
                                - home
                                - volume
                                - volume-off
                                - level-completed
                                - level-failed
                                - game-completed
                                - game-over
                                - star
                              description: Icon configuration
                          required:
                            - gameTitle
                            - gameDescription
                            - clientName
                            - clientWebsite
                            - background
                            - logo
                            - favicon
                            - font
                            - colors
                            - style
                            - icons
                        gameConfig:
                          type: object
                          properties:
                            game:
                              type: string
                              const: catch
                              description: Game type identifier
                            levels:
                              type: array
                              items:
                                type: object
                                properties:
                                  level:
                                    type: integer
                                    exclusiveMinimum: 0
                                    description: Level number
                                  timeLimit:
                                    type: number
                                    exclusiveMinimum: 0
                                    description: Time limit in seconds
                                  points:
                                    type: number
                                    minimum: 0
                                    description: Total points for the level
                                  speed:
                                    type: number
                                    exclusiveMinimum: 0
                                    description: Speed in seconds to cross the screen
                                  minConcurrentItems:
                                    type: integer
                                    minimum: 0
                                    description: Minimum items on screen simultaneously
                                  maxConcurrentItems:
                                    type: integer
                                    exclusiveMinimum: 0
                                    description: Maximum items on screen simultaneously
                                  positiveItems:
                                    type: number
                                    minimum: 0
                                    maximum: 100
                                    description: Percentage of positive items
                                required:
                                  - level
                                  - timeLimit
                                  - points
                                  - speed
                                  - minConcurrentItems
                                  - maxConcurrentItems
                                  - positiveItems
                              minItems: 1
                              description: Array of level configurations
                            positiveItems:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: Unique identifier for the image
                                  url:
                                    type: string
                                    description: URL or path of the image
                                  alt:
                                    type: string
                                    description: Alt text for the image
                                required:
                                  - id
                                  - url
                                  - alt
                              minItems: 1
                              description: Array of positive items that give points
                            negativeItems:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: Unique identifier for the image
                                  url:
                                    type: string
                                    description: URL or path of the image
                                  alt:
                                    type: string
                                    description: Alt text for the image
                                required:
                                  - id
                                  - url
                                  - alt
                              minItems: 1
                              description: Array of negative items that reduce points
                            scorePerCatch:
                              type: number
                              minimum: 0
                              description: Points awarded per positive catch
                            scorePerNegativeCatch:
                              type: number
                              description: >-
                                Points deducted per negative catch (typically
                                negative)
                            timeBonus:
                              type: number
                              minimum: 0
                              description: Points per second remaining
                            catchItem:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: Unique identifier for the image
                                url:
                                  type: string
                                  description: URL or path of the image
                                alt:
                                  type: string
                                  description: Alt text for the image
                              required:
                                - id
                                - url
                                - alt
                              description: Image for the catcher element
                            ground:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: Unique identifier for the image
                                url:
                                  type: string
                                  description: URL or path of the image
                                alt:
                                  type: string
                                  description: Alt text for the image
                              required:
                                - id
                                - url
                                - alt
                              description: Image for the ground element
                            sounds:
                              type: object
                              properties:
                                levelCompleted:
                                  type: string
                                  description: Sound URL for level completion
                                gameOver:
                                  type: string
                                  description: Sound URL for game over
                                error:
                                  type: string
                                  description: Sound URL for catching negative items
                                success:
                                  type: string
                                  description: Sound URL for catching positive items
                              required:
                                - levelCompleted
                                - gameOver
                                - error
                                - success
                          required:
                            - game
                            - levels
                            - positiveItems
                            - negativeItems
                            - scorePerCatch
                            - scorePerNegativeCatch
                            - timeBonus
                            - catchItem
                            - ground
                            - sounds
                        textContent:
                          type: object
                          properties:
                            loading:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Loading title
                                subtitle:
                                  type: string
                                  description: Loading subtitle
                                progressText:
                                  type: string
                                  description: Progress text
                                logoAlt:
                                  type: string
                                  description: Logo alt text
                              required:
                                - title
                                - subtitle
                                - progressText
                                - logoAlt
                            home:
                              type: object
                              properties:
                                startButton:
                                  type: string
                                  description: Start button text
                                loadingText:
                                  type: string
                                  description: Loading text
                                preparingText:
                                  type: string
                                  description: Preparing text
                                features:
                                  type: object
                                  properties:
                                    levels:
                                      type: object
                                      properties:
                                        title:
                                          type: string
                                          description: Levels feature title
                                        subtitle:
                                          type: string
                                          description: Levels feature subtitle
                                      required:
                                        - title
                                        - subtitle
                                    timer:
                                      type: object
                                      properties:
                                        title:
                                          type: string
                                          description: Timer feature title
                                        subtitle:
                                          type: string
                                          description: Timer feature subtitle
                                      required:
                                        - title
                                        - subtitle
                                    score:
                                      type: object
                                      properties:
                                        title:
                                          type: string
                                          description: Score feature title
                                        subtitle:
                                          type: string
                                          description: Score feature subtitle
                                      required:
                                        - title
                                        - subtitle
                                  required:
                                    - levels
                                    - timer
                                    - score
                                  description: Game features
                              required:
                                - startButton
                                - loadingText
                                - preparingText
                                - features
                            tutorial:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Tutorial title
                                subtitle:
                                  type: string
                                  description: Tutorial subtitle
                                startButton:
                                  type: string
                                  description: Start button text
                                logoAlt:
                                  type: string
                                  description: Logo alt text
                                instructions:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      icon:
                                        type: string
                                        description: Icon for the instruction
                                      title:
                                        type: string
                                        description: Title of the instruction
                                      description:
                                        type: string
                                        description: Description of the instruction
                                    required:
                                      - icon
                                      - title
                                      - description
                                  description: Tutorial instructions
                                proTips:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Pro tips title
                                    tips:
                                      type: array
                                      items:
                                        type: string
                                      description: Pro tips list
                                  required:
                                    - title
                                    - tips
                                  description: Pro tips section
                              required:
                                - title
                                - subtitle
                                - startButton
                                - logoAlt
                                - instructions
                                - proTips
                            gameUI:
                              type: object
                              properties:
                                scoreLabel:
                                  type: string
                                  description: Score label
                                timeLabel:
                                  type: string
                                  description: Time label
                                logoAlt:
                                  type: string
                                  description: Logo alt text
                                soundToggle:
                                  type: object
                                  properties:
                                    enable:
                                      type: string
                                      description: Enable sound text
                                    disable:
                                      type: string
                                      description: Disable sound text
                                  required:
                                    - enable
                                    - disable
                                  description: Sound toggle text
                                pauseToggle:
                                  type: object
                                  properties:
                                    pause:
                                      type: string
                                      description: Pause text
                                    resume:
                                      type: string
                                      description: Resume text
                                  required:
                                    - pause
                                    - resume
                                  description: Pause toggle text
                              required:
                                - scoreLabel
                                - timeLabel
                                - logoAlt
                                - soundToggle
                                - pauseToggle
                            modals:
                              type: object
                              properties:
                                levelComplete:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Level complete title
                                    levelPointsLabel:
                                      type: string
                                      description: Level points label
                                    totalScoreLabel:
                                      type: string
                                      description: Total score label
                                    timeBonusLabel:
                                      type: string
                                      description: Time bonus label
                                    quickMatchBonusLabel:
                                      type: string
                                      description: Quick match bonus label
                                    nextLevelButton:
                                      type: string
                                      description: Next level button text
                                    replayLevelButton:
                                      type: string
                                      description: Replay level button text
                                  required:
                                    - title
                                    - levelPointsLabel
                                    - totalScoreLabel
                                    - timeBonusLabel
                                    - quickMatchBonusLabel
                                    - nextLevelButton
                                    - replayLevelButton
                                  description: Level complete modal text
                                gameComplete:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Game complete title
                                    subtitle:
                                      type: string
                                      description: Game complete subtitle
                                    finalScoreLabel:
                                      type: string
                                      description: Final score label
                                    maximumScoreLabel:
                                      type: string
                                      description: Maximum score label
                                    playAgainButton:
                                      type: string
                                      description: Play again button text
                                    homeButton:
                                      type: string
                                      description: Home button text
                                    closeButton:
                                      type: string
                                      description: Close button text
                                  required:
                                    - title
                                    - subtitle
                                    - finalScoreLabel
                                    - maximumScoreLabel
                                    - playAgainButton
                                    - homeButton
                                    - closeButton
                                  description: Game complete modal text
                                gameOver:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Game over title
                                    subtitle:
                                      type: string
                                      description: Game over subtitle
                                    finalScoreLabel:
                                      type: string
                                      description: Final score label
                                    tryAgainButton:
                                      type: string
                                      description: Try again button text
                                    restartGameButton:
                                      type: string
                                      description: Restart game button text
                                    homeButton:
                                      type: string
                                      description: Home button text
                                    closeButton:
                                      type: string
                                      description: Close button text
                                  required:
                                    - title
                                    - subtitle
                                    - finalScoreLabel
                                    - tryAgainButton
                                    - restartGameButton
                                    - homeButton
                                    - closeButton
                                  description: Game over modal text
                                pause:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                      description: Pause title
                                    subtitle:
                                      type: string
                                      description: Pause subtitle
                                    resumeButton:
                                      type: string
                                      description: Resume button text
                                    restartLevelButton:
                                      type: string
                                      description: Restart level button text
                                    homeButton:
                                      type: string
                                      description: Home button text
                                  required:
                                    - title
                                    - subtitle
                                    - resumeButton
                                    - restartLevelButton
                                    - homeButton
                                  description: Pause modal text
                              required:
                                - levelComplete
                                - gameComplete
                                - gameOver
                                - pause
                            cards:
                              type: object
                              properties:
                                faceDownAlt:
                                  type: string
                                  description: Face down card alt text
                                showingImageAlt:
                                  type: string
                                  description: Showing image alt text
                                cardBackAlt:
                                  type: string
                                  description: Card back alt text
                                productAlt:
                                  type: string
                                  description: Product alt text
                              required:
                                - faceDownAlt
                                - showingImageAlt
                                - cardBackAlt
                                - productAlt
                            errors:
                              type: object
                              properties:
                                configurationError:
                                  type: string
                                  description: Configuration error title
                                configurationErrorMessage:
                                  type: string
                                  description: Configuration error message
                                retryButton:
                                  type: string
                                  description: Retry button text
                                imageLoadError:
                                  type: string
                                  description: Image load error message
                              required:
                                - configurationError
                                - configurationErrorMessage
                                - retryButton
                                - imageLoadError
                            accessibility:
                              type: object
                              properties:
                                playButton:
                                  type: string
                                  description: Play button aria label
                                pauseButton:
                                  type: string
                                  description: Pause button aria label
                                homeButton:
                                  type: string
                                  description: Home button aria label
                                replayButton:
                                  type: string
                                  description: Replay button aria label
                                cardButton:
                                  type: string
                                  description: Card button aria label
                                progressIndicator:
                                  type: string
                                  description: Progress indicator aria label
                              required:
                                - playButton
                                - pauseButton
                                - homeButton
                                - replayButton
                                - cardButton
                                - progressIndicator
                            status:
                              type: object
                              properties:
                                gameStarted:
                                  type: string
                                  description: Game started announcement
                                levelComplete:
                                  type: string
                                  description: Level complete announcement
                                gameComplete:
                                  type: string
                                  description: Game complete announcement
                                gameOver:
                                  type: string
                                  description: Game over announcement
                                gamePaused:
                                  type: string
                                  description: Game paused announcement
                                gameResumed:
                                  type: string
                                  description: Game resumed announcement
                              required:
                                - gameStarted
                                - levelComplete
                                - gameComplete
                                - gameOver
                                - gamePaused
                                - gameResumed
                          required:
                            - loading
                            - home
                            - tutorial
                            - gameUI
                            - modals
                            - cards
                            - errors
                            - accessibility
                            - status
                      required:
                        - clientBranding
                        - gameConfig
                        - textContent
                  description: >-
                    Full game configuration including client branding,
                    game-specific config, and text content
                progressPeriod:
                  type: string
                  enum:
                    - daily
                    - weekly
                    - monthly
                    - yearly
                    - open
                  description: The progress period for repeat limits
                maxCompletionsPerPeriod:
                  anyOf:
                    - type: number
                      minimum: 0
                    - type: string
                      const: Infinity
                  description: >-
                    The maximum number of times this game can be completed per
                    period
                details:
                  $ref: '#/components/schemas/DetailsUpdateInput'
              description: The input required to update a game configuration
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GameConfig'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.NOT_FOUND'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
components:
  schemas:
    DetailsUpdateInput:
      type: object
      properties:
        title:
          type: string
          description: The title of the entity
        description:
          type:
            - string
            - 'null'
          description: The description of the entity
        light:
          type: object
          properties:
            primaryImageUrl:
              type:
                - string
                - 'null'
              description: The url of the primary image for this theme mode
            secondaryImageUrl:
              type:
                - string
                - 'null'
              description: The url of the secondary image for this theme mode
          description: Light theme images
        dark:
          type: object
          properties:
            primaryImageUrl:
              type:
                - string
                - 'null'
              description: The url of the primary image for this theme mode
            secondaryImageUrl:
              type:
                - string
                - 'null'
              description: The url of the secondary image for this theme mode
          description: Dark theme images
      description: Input for updating entity details with all fields optional
      title: Details Update Input
    GameConfig:
      type: object
      properties:
        id:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
          description: The id of the game configuration
        organisationId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
          description: The organisation that the game configuration belongs to
        details:
          allOf:
            - $ref: '#/components/schemas/Details'
          description: The details of this game configuration such as title and description
        gameType:
          type: string
          enum:
            - catch
            - memory
            - scratch
          description: The type of game
        config:
          anyOf:
            - type: object
              properties:
                clientBranding:
                  type: object
                  properties:
                    gameTitle:
                      type: string
                      description: Title of the game
                    gameDescription:
                      type: string
                      description: Description of the game
                    clientName:
                      type: string
                      description: Name of the client
                    clientWebsite:
                      type: string
                      description: Website URL of the client
                    background:
                      type: object
                      properties:
                        image:
                          type: string
                          description: Background image URL or path
                        color:
                          type: string
                          description: Background color
                      required:
                        - image
                        - color
                      description: Background configuration
                    logo:
                      type: object
                      properties:
                        url:
                          type: string
                          description: Logo URL or path
                        alt:
                          type: string
                          description: Logo alt text
                      required:
                        - url
                        - alt
                      description: Logo configuration
                    favicon:
                      type: string
                      description: Favicon URL or path
                    font:
                      type: string
                      description: Font family name
                    colors:
                      type: object
                      properties:
                        primary:
                          type: string
                          description: Primary color
                        on-primary:
                          type: string
                          description: Text color on primary background
                        secondary:
                          type: string
                          description: Secondary color
                        on-secondary:
                          type: string
                          description: Text color on secondary background
                        accent:
                          type: string
                          description: Accent color
                        on-accent:
                          type: string
                          description: Text color on accent background
                      required:
                        - primary
                        - on-primary
                        - secondary
                        - on-secondary
                        - accent
                        - on-accent
                      description: Color scheme
                    style:
                      type: object
                      properties:
                        cornerRadius:
                          type: number
                          description: Corner radius for UI elements
                      required:
                        - cornerRadius
                      description: Style configuration
                    icons:
                      type: object
                      properties:
                        play:
                          type: string
                          description: Play icon
                        pause:
                          type: string
                          description: Pause icon
                        restart:
                          type: string
                          description: Restart icon
                        home:
                          type: string
                          description: Home icon
                        volume:
                          type: string
                          description: Volume icon
                        volume-off:
                          type: string
                          description: Volume off icon
                        level-completed:
                          type: string
                          description: Level completed icon
                        level-failed:
                          type: string
                          description: Level failed icon
                        game-completed:
                          type: string
                          description: Game completed icon
                        game-over:
                          type: string
                          description: Game over icon
                        star:
                          type: string
                          description: Star icon
                      required:
                        - play
                        - pause
                        - restart
                        - home
                        - volume
                        - volume-off
                        - level-completed
                        - level-failed
                        - game-completed
                        - game-over
                        - star
                      description: Icon configuration
                  required:
                    - gameTitle
                    - gameDescription
                    - clientName
                    - clientWebsite
                    - background
                    - logo
                    - favicon
                    - font
                    - colors
                    - style
                    - icons
                gameConfig:
                  type: object
                  properties:
                    game:
                      type: string
                      const: scratch
                      description: Game type identifier
                    odds:
                      type: number
                      minimum: 0
                      maximum: 1
                      description: Probability of winning (0 to 1)
                    scratchCardImage:
                      type: string
                      description: URL or path of the scratch card image
                    backgroundImage:
                      type: string
                      description: URL or path of the background image
                    productImages:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Unique identifier for the image
                          url:
                            type: string
                            description: URL or path of the image
                          alt:
                            type: string
                            description: Alt text for the image
                          winning:
                            type: boolean
                            description: Whether this is a winning image
                          distributionEventId:
                            type:
                              - string
                              - 'null'
                            description: ID of the distribution event for this product
                        required:
                          - id
                          - url
                          - alt
                          - winning
                      minItems: 1
                      description: Array of product images with winning status
                    particlesColor:
                      type: string
                      description: Color for scratch particles effect
                    cardColor:
                      type: string
                      description: Color of the scratch card
                    cardGlowingColor:
                      type: string
                      description: Color for the card glow effect
                    cardTextColor:
                      type: string
                      description: Color of text on the card
                    sounds:
                      type: object
                      properties:
                        win:
                          type: string
                          description: Sound URL for winning
                        lose:
                          type: string
                          description: Sound URL for losing
                      required:
                        - win
                        - lose
                  required:
                    - game
                    - odds
                    - scratchCardImage
                    - backgroundImage
                    - productImages
                    - particlesColor
                    - cardColor
                    - cardGlowingColor
                    - cardTextColor
                    - sounds
                textContent:
                  type: object
                  properties:
                    loading:
                      type: object
                      properties:
                        title:
                          type: string
                          description: Loading title
                        subtitle:
                          type: string
                          description: Loading subtitle
                        progressText:
                          type: string
                          description: Progress text
                        logoAlt:
                          type: string
                          description: Logo alt text
                      required:
                        - title
                        - subtitle
                        - progressText
                        - logoAlt
                      description: Loading screen text
                    home:
                      type: object
                      properties:
                        startButton:
                          type: string
                          description: Start button text
                        loadingText:
                          type: string
                          description: Loading text
                        preparingText:
                          type: string
                          description: Preparing text
                        features:
                          type: array
                          items:
                            type: object
                            properties:
                              title:
                                type: string
                                description: Feature title
                              description:
                                type: string
                                description: Feature description
                            required:
                              - title
                              - description
                          description: Game features
                      required:
                        - startButton
                        - loadingText
                        - preparingText
                        - features
                      description: Home screen text
                    tutorial:
                      type: object
                      properties:
                        title:
                          type: string
                          description: Tutorial title
                        subtitle:
                          type: string
                          description: Tutorial subtitle
                        startButton:
                          type: string
                          description: Start button text
                        logoAlt:
                          type: string
                          description: Logo alt text
                        instructions:
                          type: array
                          items:
                            type: object
                            properties:
                              icon:
                                type: string
                                description: Icon for the instruction
                              title:
                                type: string
                                description: Title of the instruction
                              description:
                                type: string
                                description: Description of the instruction
                            required:
                              - icon
                              - title
                              - description
                          description: Tutorial instructions
                      required:
                        - title
                        - subtitle
                        - startButton
                        - logoAlt
                        - instructions
                      description: Tutorial screen text
                    gameUI:
                      type: object
                      properties:
                        soundToggle:
                          type: object
                          properties:
                            enable:
                              type: string
                              description: Enable sound text
                            disable:
                              type: string
                              description: Disable sound text
                          required:
                            - enable
                            - disable
                          description: Sound toggle text
                        pauseToggle:
                          type: object
                          properties:
                            pause:
                              type: string
                              description: Pause text
                            resume:
                              type: string
                              description: Resume text
                          required:
                            - pause
                            - resume
                          description: Pause toggle text
                      required:
                        - soundToggle
                        - pauseToggle
                      description: Game UI text
                    modals:
                      type: object
                      properties:
                        win:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Win title
                            subtitle:
                              type: string
                              description: Win subtitle
                            homeButton:
                              type: string
                              description: Home button text
                            closeButton:
                              type: string
                              description: Close button text
                          required:
                            - title
                            - subtitle
                            - homeButton
                            - closeButton
                          description: Win modal text
                        lose:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Lose title
                            subtitle:
                              type: string
                              description: Lose subtitle
                            homeButton:
                              type: string
                              description: Home button text
                            closeButton:
                              type: string
                              description: Close button text
                          required:
                            - title
                            - subtitle
                            - homeButton
                            - closeButton
                          description: Lose modal text
                      required:
                        - win
                        - lose
                      description: Modal text
                    errors:
                      type: object
                      properties:
                        configurationError:
                          type: string
                          description: Configuration error title
                        configurationErrorMessage:
                          type: string
                          description: Configuration error message
                        retryButton:
                          type: string
                          description: Retry button text
                        imageLoadError:
                          type: string
                          description: Image load error message
                      required:
                        - configurationError
                        - configurationErrorMessage
                        - retryButton
                        - imageLoadError
                    accessibility:
                      type: object
                      properties:
                        playButton:
                          type: string
                          description: Play button aria label
                        pauseButton:
                          type: string
                          description: Pause button aria label
                        homeButton:
                          type: string
                          description: Home button aria label
                        progressIndicator:
                          type: string
                          description: Progress indicator aria label
                      required:
                        - playButton
                        - pauseButton
                        - homeButton
                        - progressIndicator
                      description: Accessibility labels
                    status:
                      type: object
                      properties:
                        gameStarted:
                          type: string
                          description: Game started announcement
                        win:
                          type: string
                          description: Win announcement
                        lose:
                          type: string
                          description: Lose announcement
                      required:
                        - gameStarted
                        - win
                        - lose
                      description: Status announcements
                  required:
                    - loading
                    - home
                    - tutorial
                    - gameUI
                    - modals
                    - errors
                    - accessibility
                    - status
              required:
                - clientBranding
                - gameConfig
                - textContent
            - type: object
              properties:
                clientBranding:
                  type: object
                  properties:
                    gameTitle:
                      type: string
                      description: Title of the game
                    gameDescription:
                      type: string
                      description: Description of the game
                    clientName:
                      type: string
                      description: Name of the client
                    clientWebsite:
                      type: string
                      description: Website URL of the client
                    background:
                      type: object
                      properties:
                        image:
                          type: string
                          description: Background image URL or path
                        color:
                          type: string
                          description: Background color
                      required:
                        - image
                        - color
                      description: Background configuration
                    logo:
                      type: object
                      properties:
                        url:
                          type: string
                          description: Logo URL or path
                        alt:
                          type: string
                          description: Logo alt text
                      required:
                        - url
                        - alt
                      description: Logo configuration
                    favicon:
                      type: string
                      description: Favicon URL or path
                    font:
                      type: string
                      description: Font family name
                    colors:
                      type: object
                      properties:
                        primary:
                          type: string
                          description: Primary color
                        on-primary:
                          type: string
                          description: Text color on primary background
                        secondary:
                          type: string
                          description: Secondary color
                        on-secondary:
                          type: string
                          description: Text color on secondary background
                        accent:
                          type: string
                          description: Accent color
                        on-accent:
                          type: string
                          description: Text color on accent background
                      required:
                        - primary
                        - on-primary
                        - secondary
                        - on-secondary
                        - accent
                        - on-accent
                      description: Color scheme
                    style:
                      type: object
                      properties:
                        cornerRadius:
                          type: number
                          description: Corner radius for UI elements
                      required:
                        - cornerRadius
                      description: Style configuration
                    icons:
                      type: object
                      properties:
                        play:
                          type: string
                          description: Play icon
                        pause:
                          type: string
                          description: Pause icon
                        restart:
                          type: string
                          description: Restart icon
                        home:
                          type: string
                          description: Home icon
                        volume:
                          type: string
                          description: Volume icon
                        volume-off:
                          type: string
                          description: Volume off icon
                        level-completed:
                          type: string
                          description: Level completed icon
                        level-failed:
                          type: string
                          description: Level failed icon
                        game-completed:
                          type: string
                          description: Game completed icon
                        game-over:
                          type: string
                          description: Game over icon
                        star:
                          type: string
                          description: Star icon
                      required:
                        - play
                        - pause
                        - restart
                        - home
                        - volume
                        - volume-off
                        - level-completed
                        - level-failed
                        - game-completed
                        - game-over
                        - star
                      description: Icon configuration
                  required:
                    - gameTitle
                    - gameDescription
                    - clientName
                    - clientWebsite
                    - background
                    - logo
                    - favicon
                    - font
                    - colors
                    - style
                    - icons
                gameConfig:
                  type: object
                  properties:
                    game:
                      type: string
                      const: memory
                      description: Game type identifier
                    levels:
                      type: array
                      items:
                        type: object
                        properties:
                          level:
                            type: integer
                            exclusiveMinimum: 0
                            description: Level number
                          gridSize:
                            type: object
                            properties:
                              rows:
                                type: integer
                                exclusiveMinimum: 0
                                description: Number of rows in the grid
                              cols:
                                type: integer
                                exclusiveMinimum: 0
                                description: Number of columns in the grid
                            required:
                              - rows
                              - cols
                          totalCards:
                            type: integer
                            exclusiveMinimum: 0
                            description: Total number of cards
                          totalPairs:
                            type: integer
                            exclusiveMinimum: 0
                            description: Total number of pairs
                          timeLimit:
                            type: number
                            exclusiveMinimum: 0
                            description: Time limit in seconds
                        required:
                          - level
                          - gridSize
                          - totalCards
                          - totalPairs
                          - timeLimit
                      minItems: 1
                      description: Array of level configurations
                    productImages:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Unique identifier for the image
                          url:
                            type: string
                            description: URL or path of the image
                          alt:
                            type: string
                            description: Alt text for the image
                        required:
                          - id
                          - url
                          - alt
                      minItems: 1
                      description: Array of product images used in the game
                    cardBack:
                      type: string
                      description: URL or path of the card back image
                    scorePerMatch:
                      type: number
                      minimum: 0
                      description: Points awarded per match
                    levelCompletionBonus:
                      type: number
                      minimum: 0
                      description: Bonus points for completing a level
                    timeBonus:
                      type: number
                      minimum: 0
                      description: Points per second remaining
                    maxScore:
                      type: number
                      exclusiveMinimum: 0
                      description: Maximum possible score
                    sounds:
                      type: object
                      properties:
                        levelCompleted:
                          type: string
                          description: Sound URL for level completion
                        gameOver:
                          type: string
                          description: Sound URL for game over
                        cardFlip:
                          type: string
                          description: Sound URL for card flip
                        cardMatch:
                          type: string
                          description: Sound URL for card match
                      required:
                        - levelCompleted
                        - gameOver
                        - cardFlip
                        - cardMatch
                  required:
                    - game
                    - levels
                    - productImages
                    - cardBack
                    - scorePerMatch
                    - levelCompletionBonus
                    - timeBonus
                    - maxScore
                    - sounds
                textContent:
                  type: object
                  properties:
                    loading:
                      type: object
                      properties:
                        title:
                          type: string
                          description: Loading title
                        subtitle:
                          type: string
                          description: Loading subtitle
                        progressText:
                          type: string
                          description: Progress text
                        logoAlt:
                          type: string
                          description: Logo alt text
                      required:
                        - title
                        - subtitle
                        - progressText
                        - logoAlt
                    home:
                      type: object
                      properties:
                        startButton:
                          type: string
                          description: Start button text
                        loadingText:
                          type: string
                          description: Loading text
                        preparingText:
                          type: string
                          description: Preparing text
                        features:
                          type: object
                          properties:
                            levels:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Levels feature title
                                subtitle:
                                  type: string
                                  description: Levels feature subtitle
                              required:
                                - title
                                - subtitle
                            timer:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Timer feature title
                                subtitle:
                                  type: string
                                  description: Timer feature subtitle
                              required:
                                - title
                                - subtitle
                            score:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Score feature title
                                subtitle:
                                  type: string
                                  description: Score feature subtitle
                              required:
                                - title
                                - subtitle
                          required:
                            - levels
                            - timer
                            - score
                          description: Game features
                      required:
                        - startButton
                        - loadingText
                        - preparingText
                        - features
                    tutorial:
                      type: object
                      properties:
                        title:
                          type: string
                          description: Tutorial title
                        subtitle:
                          type: string
                          description: Tutorial subtitle
                        startButton:
                          type: string
                          description: Start button text
                        logoAlt:
                          type: string
                          description: Logo alt text
                        instructions:
                          type: array
                          items:
                            type: object
                            properties:
                              icon:
                                type: string
                                description: Icon for the instruction
                              title:
                                type: string
                                description: Title of the instruction
                              description:
                                type: string
                                description: Description of the instruction
                            required:
                              - icon
                              - title
                              - description
                          description: Tutorial instructions
                        proTips:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Pro tips title
                            tips:
                              type: array
                              items:
                                type: string
                              description: Pro tips list
                          required:
                            - title
                            - tips
                          description: Pro tips section
                      required:
                        - title
                        - subtitle
                        - startButton
                        - logoAlt
                        - instructions
                        - proTips
                    gameUI:
                      type: object
                      properties:
                        scoreLabel:
                          type: string
                          description: Score label
                        timeLabel:
                          type: string
                          description: Time label
                        logoAlt:
                          type: string
                          description: Logo alt text
                        soundToggle:
                          type: object
                          properties:
                            enable:
                              type: string
                              description: Enable sound text
                            disable:
                              type: string
                              description: Disable sound text
                          required:
                            - enable
                            - disable
                          description: Sound toggle text
                        pauseToggle:
                          type: object
                          properties:
                            pause:
                              type: string
                              description: Pause text
                            resume:
                              type: string
                              description: Resume text
                          required:
                            - pause
                            - resume
                          description: Pause toggle text
                      required:
                        - scoreLabel
                        - timeLabel
                        - logoAlt
                        - soundToggle
                        - pauseToggle
                    modals:
                      type: object
                      properties:
                        levelComplete:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Level complete title
                            levelPointsLabel:
                              type: string
                              description: Level points label
                            totalScoreLabel:
                              type: string
                              description: Total score label
                            timeBonusLabel:
                              type: string
                              description: Time bonus label
                            quickMatchBonusLabel:
                              type: string
                              description: Quick match bonus label
                            nextLevelButton:
                              type: string
                              description: Next level button text
                            replayLevelButton:
                              type: string
                              description: Replay level button text
                          required:
                            - title
                            - levelPointsLabel
                            - totalScoreLabel
                            - timeBonusLabel
                            - quickMatchBonusLabel
                            - nextLevelButton
                            - replayLevelButton
                          description: Level complete modal text
                        gameComplete:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Game complete title
                            subtitle:
                              type: string
                              description: Game complete subtitle
                            finalScoreLabel:
                              type: string
                              description: Final score label
                            maximumScoreLabel:
                              type: string
                              description: Maximum score label
                            playAgainButton:
                              type: string
                              description: Play again button text
                            homeButton:
                              type: string
                              description: Home button text
                            closeButton:
                              type: string
                              description: Close button text
                          required:
                            - title
                            - subtitle
                            - finalScoreLabel
                            - maximumScoreLabel
                            - playAgainButton
                            - homeButton
                            - closeButton
                          description: Game complete modal text
                        gameOver:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Game over title
                            subtitle:
                              type: string
                              description: Game over subtitle
                            finalScoreLabel:
                              type: string
                              description: Final score label
                            tryAgainButton:
                              type: string
                              description: Try again button text
                            restartGameButton:
                              type: string
                              description: Restart game button text
                            homeButton:
                              type: string
                              description: Home button text
                            closeButton:
                              type: string
                              description: Close button text
                          required:
                            - title
                            - subtitle
                            - finalScoreLabel
                            - tryAgainButton
                            - restartGameButton
                            - homeButton
                            - closeButton
                          description: Game over modal text
                        pause:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Pause title
                            subtitle:
                              type: string
                              description: Pause subtitle
                            resumeButton:
                              type: string
                              description: Resume button text
                            restartLevelButton:
                              type: string
                              description: Restart level button text
                            homeButton:
                              type: string
                              description: Home button text
                          required:
                            - title
                            - subtitle
                            - resumeButton
                            - restartLevelButton
                            - homeButton
                          description: Pause modal text
                      required:
                        - levelComplete
                        - gameComplete
                        - gameOver
                        - pause
                    cards:
                      type: object
                      properties:
                        faceDownAlt:
                          type: string
                          description: Face down card alt text
                        showingImageAlt:
                          type: string
                          description: Showing image alt text
                        cardBackAlt:
                          type: string
                          description: Card back alt text
                        productAlt:
                          type: string
                          description: Product alt text
                      required:
                        - faceDownAlt
                        - showingImageAlt
                        - cardBackAlt
                        - productAlt
                    errors:
                      type: object
                      properties:
                        configurationError:
                          type: string
                          description: Configuration error title
                        configurationErrorMessage:
                          type: string
                          description: Configuration error message
                        retryButton:
                          type: string
                          description: Retry button text
                        imageLoadError:
                          type: string
                          description: Image load error message
                      required:
                        - configurationError
                        - configurationErrorMessage
                        - retryButton
                        - imageLoadError
                    accessibility:
                      type: object
                      properties:
                        playButton:
                          type: string
                          description: Play button aria label
                        pauseButton:
                          type: string
                          description: Pause button aria label
                        homeButton:
                          type: string
                          description: Home button aria label
                        replayButton:
                          type: string
                          description: Replay button aria label
                        cardButton:
                          type: string
                          description: Card button aria label
                        progressIndicator:
                          type: string
                          description: Progress indicator aria label
                      required:
                        - playButton
                        - pauseButton
                        - homeButton
                        - replayButton
                        - cardButton
                        - progressIndicator
                    status:
                      type: object
                      properties:
                        gameStarted:
                          type: string
                          description: Game started announcement
                        levelComplete:
                          type: string
                          description: Level complete announcement
                        gameComplete:
                          type: string
                          description: Game complete announcement
                        gameOver:
                          type: string
                          description: Game over announcement
                        gamePaused:
                          type: string
                          description: Game paused announcement
                        gameResumed:
                          type: string
                          description: Game resumed announcement
                      required:
                        - gameStarted
                        - levelComplete
                        - gameComplete
                        - gameOver
                        - gamePaused
                        - gameResumed
                  required:
                    - loading
                    - home
                    - tutorial
                    - gameUI
                    - modals
                    - cards
                    - errors
                    - accessibility
                    - status
              required:
                - clientBranding
                - gameConfig
                - textContent
            - type: object
              properties:
                clientBranding:
                  type: object
                  properties:
                    gameTitle:
                      type: string
                      description: Title of the game
                    gameDescription:
                      type: string
                      description: Description of the game
                    clientName:
                      type: string
                      description: Name of the client
                    clientWebsite:
                      type: string
                      description: Website URL of the client
                    background:
                      type: object
                      properties:
                        image:
                          type: string
                          description: Background image URL or path
                        color:
                          type: string
                          description: Background color
                      required:
                        - image
                        - color
                      description: Background configuration
                    logo:
                      type: object
                      properties:
                        url:
                          type: string
                          description: Logo URL or path
                        alt:
                          type: string
                          description: Logo alt text
                      required:
                        - url
                        - alt
                      description: Logo configuration
                    favicon:
                      type: string
                      description: Favicon URL or path
                    font:
                      type: string
                      description: Font family name
                    colors:
                      type: object
                      properties:
                        primary:
                          type: string
                          description: Primary color
                        on-primary:
                          type: string
                          description: Text color on primary background
                        secondary:
                          type: string
                          description: Secondary color
                        on-secondary:
                          type: string
                          description: Text color on secondary background
                        accent:
                          type: string
                          description: Accent color
                        on-accent:
                          type: string
                          description: Text color on accent background
                      required:
                        - primary
                        - on-primary
                        - secondary
                        - on-secondary
                        - accent
                        - on-accent
                      description: Color scheme
                    style:
                      type: object
                      properties:
                        cornerRadius:
                          type: number
                          description: Corner radius for UI elements
                      required:
                        - cornerRadius
                      description: Style configuration
                    icons:
                      type: object
                      properties:
                        play:
                          type: string
                          description: Play icon
                        pause:
                          type: string
                          description: Pause icon
                        restart:
                          type: string
                          description: Restart icon
                        home:
                          type: string
                          description: Home icon
                        volume:
                          type: string
                          description: Volume icon
                        volume-off:
                          type: string
                          description: Volume off icon
                        level-completed:
                          type: string
                          description: Level completed icon
                        level-failed:
                          type: string
                          description: Level failed icon
                        game-completed:
                          type: string
                          description: Game completed icon
                        game-over:
                          type: string
                          description: Game over icon
                        star:
                          type: string
                          description: Star icon
                      required:
                        - play
                        - pause
                        - restart
                        - home
                        - volume
                        - volume-off
                        - level-completed
                        - level-failed
                        - game-completed
                        - game-over
                        - star
                      description: Icon configuration
                  required:
                    - gameTitle
                    - gameDescription
                    - clientName
                    - clientWebsite
                    - background
                    - logo
                    - favicon
                    - font
                    - colors
                    - style
                    - icons
                gameConfig:
                  type: object
                  properties:
                    game:
                      type: string
                      const: catch
                      description: Game type identifier
                    levels:
                      type: array
                      items:
                        type: object
                        properties:
                          level:
                            type: integer
                            exclusiveMinimum: 0
                            description: Level number
                          timeLimit:
                            type: number
                            exclusiveMinimum: 0
                            description: Time limit in seconds
                          points:
                            type: number
                            minimum: 0
                            description: Total points for the level
                          speed:
                            type: number
                            exclusiveMinimum: 0
                            description: Speed in seconds to cross the screen
                          minConcurrentItems:
                            type: integer
                            minimum: 0
                            description: Minimum items on screen simultaneously
                          maxConcurrentItems:
                            type: integer
                            exclusiveMinimum: 0
                            description: Maximum items on screen simultaneously
                          positiveItems:
                            type: number
                            minimum: 0
                            maximum: 100
                            description: Percentage of positive items
                        required:
                          - level
                          - timeLimit
                          - points
                          - speed
                          - minConcurrentItems
                          - maxConcurrentItems
                          - positiveItems
                      minItems: 1
                      description: Array of level configurations
                    positiveItems:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Unique identifier for the image
                          url:
                            type: string
                            description: URL or path of the image
                          alt:
                            type: string
                            description: Alt text for the image
                        required:
                          - id
                          - url
                          - alt
                      minItems: 1
                      description: Array of positive items that give points
                    negativeItems:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Unique identifier for the image
                          url:
                            type: string
                            description: URL or path of the image
                          alt:
                            type: string
                            description: Alt text for the image
                        required:
                          - id
                          - url
                          - alt
                      minItems: 1
                      description: Array of negative items that reduce points
                    scorePerCatch:
                      type: number
                      minimum: 0
                      description: Points awarded per positive catch
                    scorePerNegativeCatch:
                      type: number
                      description: Points deducted per negative catch (typically negative)
                    timeBonus:
                      type: number
                      minimum: 0
                      description: Points per second remaining
                    catchItem:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Unique identifier for the image
                        url:
                          type: string
                          description: URL or path of the image
                        alt:
                          type: string
                          description: Alt text for the image
                      required:
                        - id
                        - url
                        - alt
                      description: Image for the catcher element
                    ground:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Unique identifier for the image
                        url:
                          type: string
                          description: URL or path of the image
                        alt:
                          type: string
                          description: Alt text for the image
                      required:
                        - id
                        - url
                        - alt
                      description: Image for the ground element
                    sounds:
                      type: object
                      properties:
                        levelCompleted:
                          type: string
                          description: Sound URL for level completion
                        gameOver:
                          type: string
                          description: Sound URL for game over
                        error:
                          type: string
                          description: Sound URL for catching negative items
                        success:
                          type: string
                          description: Sound URL for catching positive items
                      required:
                        - levelCompleted
                        - gameOver
                        - error
                        - success
                  required:
                    - game
                    - levels
                    - positiveItems
                    - negativeItems
                    - scorePerCatch
                    - scorePerNegativeCatch
                    - timeBonus
                    - catchItem
                    - ground
                    - sounds
                textContent:
                  type: object
                  properties:
                    loading:
                      type: object
                      properties:
                        title:
                          type: string
                          description: Loading title
                        subtitle:
                          type: string
                          description: Loading subtitle
                        progressText:
                          type: string
                          description: Progress text
                        logoAlt:
                          type: string
                          description: Logo alt text
                      required:
                        - title
                        - subtitle
                        - progressText
                        - logoAlt
                    home:
                      type: object
                      properties:
                        startButton:
                          type: string
                          description: Start button text
                        loadingText:
                          type: string
                          description: Loading text
                        preparingText:
                          type: string
                          description: Preparing text
                        features:
                          type: object
                          properties:
                            levels:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Levels feature title
                                subtitle:
                                  type: string
                                  description: Levels feature subtitle
                              required:
                                - title
                                - subtitle
                            timer:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Timer feature title
                                subtitle:
                                  type: string
                                  description: Timer feature subtitle
                              required:
                                - title
                                - subtitle
                            score:
                              type: object
                              properties:
                                title:
                                  type: string
                                  description: Score feature title
                                subtitle:
                                  type: string
                                  description: Score feature subtitle
                              required:
                                - title
                                - subtitle
                          required:
                            - levels
                            - timer
                            - score
                          description: Game features
                      required:
                        - startButton
                        - loadingText
                        - preparingText
                        - features
                    tutorial:
                      type: object
                      properties:
                        title:
                          type: string
                          description: Tutorial title
                        subtitle:
                          type: string
                          description: Tutorial subtitle
                        startButton:
                          type: string
                          description: Start button text
                        logoAlt:
                          type: string
                          description: Logo alt text
                        instructions:
                          type: array
                          items:
                            type: object
                            properties:
                              icon:
                                type: string
                                description: Icon for the instruction
                              title:
                                type: string
                                description: Title of the instruction
                              description:
                                type: string
                                description: Description of the instruction
                            required:
                              - icon
                              - title
                              - description
                          description: Tutorial instructions
                        proTips:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Pro tips title
                            tips:
                              type: array
                              items:
                                type: string
                              description: Pro tips list
                          required:
                            - title
                            - tips
                          description: Pro tips section
                      required:
                        - title
                        - subtitle
                        - startButton
                        - logoAlt
                        - instructions
                        - proTips
                    gameUI:
                      type: object
                      properties:
                        scoreLabel:
                          type: string
                          description: Score label
                        timeLabel:
                          type: string
                          description: Time label
                        logoAlt:
                          type: string
                          description: Logo alt text
                        soundToggle:
                          type: object
                          properties:
                            enable:
                              type: string
                              description: Enable sound text
                            disable:
                              type: string
                              description: Disable sound text
                          required:
                            - enable
                            - disable
                          description: Sound toggle text
                        pauseToggle:
                          type: object
                          properties:
                            pause:
                              type: string
                              description: Pause text
                            resume:
                              type: string
                              description: Resume text
                          required:
                            - pause
                            - resume
                          description: Pause toggle text
                      required:
                        - scoreLabel
                        - timeLabel
                        - logoAlt
                        - soundToggle
                        - pauseToggle
                    modals:
                      type: object
                      properties:
                        levelComplete:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Level complete title
                            levelPointsLabel:
                              type: string
                              description: Level points label
                            totalScoreLabel:
                              type: string
                              description: Total score label
                            timeBonusLabel:
                              type: string
                              description: Time bonus label
                            quickMatchBonusLabel:
                              type: string
                              description: Quick match bonus label
                            nextLevelButton:
                              type: string
                              description: Next level button text
                            replayLevelButton:
                              type: string
                              description: Replay level button text
                          required:
                            - title
                            - levelPointsLabel
                            - totalScoreLabel
                            - timeBonusLabel
                            - quickMatchBonusLabel
                            - nextLevelButton
                            - replayLevelButton
                          description: Level complete modal text
                        gameComplete:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Game complete title
                            subtitle:
                              type: string
                              description: Game complete subtitle
                            finalScoreLabel:
                              type: string
                              description: Final score label
                            maximumScoreLabel:
                              type: string
                              description: Maximum score label
                            playAgainButton:
                              type: string
                              description: Play again button text
                            homeButton:
                              type: string
                              description: Home button text
                            closeButton:
                              type: string
                              description: Close button text
                          required:
                            - title
                            - subtitle
                            - finalScoreLabel
                            - maximumScoreLabel
                            - playAgainButton
                            - homeButton
                            - closeButton
                          description: Game complete modal text
                        gameOver:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Game over title
                            subtitle:
                              type: string
                              description: Game over subtitle
                            finalScoreLabel:
                              type: string
                              description: Final score label
                            tryAgainButton:
                              type: string
                              description: Try again button text
                            restartGameButton:
                              type: string
                              description: Restart game button text
                            homeButton:
                              type: string
                              description: Home button text
                            closeButton:
                              type: string
                              description: Close button text
                          required:
                            - title
                            - subtitle
                            - finalScoreLabel
                            - tryAgainButton
                            - restartGameButton
                            - homeButton
                            - closeButton
                          description: Game over modal text
                        pause:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Pause title
                            subtitle:
                              type: string
                              description: Pause subtitle
                            resumeButton:
                              type: string
                              description: Resume button text
                            restartLevelButton:
                              type: string
                              description: Restart level button text
                            homeButton:
                              type: string
                              description: Home button text
                          required:
                            - title
                            - subtitle
                            - resumeButton
                            - restartLevelButton
                            - homeButton
                          description: Pause modal text
                      required:
                        - levelComplete
                        - gameComplete
                        - gameOver
                        - pause
                    cards:
                      type: object
                      properties:
                        faceDownAlt:
                          type: string
                          description: Face down card alt text
                        showingImageAlt:
                          type: string
                          description: Showing image alt text
                        cardBackAlt:
                          type: string
                          description: Card back alt text
                        productAlt:
                          type: string
                          description: Product alt text
                      required:
                        - faceDownAlt
                        - showingImageAlt
                        - cardBackAlt
                        - productAlt
                    errors:
                      type: object
                      properties:
                        configurationError:
                          type: string
                          description: Configuration error title
                        configurationErrorMessage:
                          type: string
                          description: Configuration error message
                        retryButton:
                          type: string
                          description: Retry button text
                        imageLoadError:
                          type: string
                          description: Image load error message
                      required:
                        - configurationError
                        - configurationErrorMessage
                        - retryButton
                        - imageLoadError
                    accessibility:
                      type: object
                      properties:
                        playButton:
                          type: string
                          description: Play button aria label
                        pauseButton:
                          type: string
                          description: Pause button aria label
                        homeButton:
                          type: string
                          description: Home button aria label
                        replayButton:
                          type: string
                          description: Replay button aria label
                        cardButton:
                          type: string
                          description: Card button aria label
                        progressIndicator:
                          type: string
                          description: Progress indicator aria label
                      required:
                        - playButton
                        - pauseButton
                        - homeButton
                        - replayButton
                        - cardButton
                        - progressIndicator
                    status:
                      type: object
                      properties:
                        gameStarted:
                          type: string
                          description: Game started announcement
                        levelComplete:
                          type: string
                          description: Level complete announcement
                        gameComplete:
                          type: string
                          description: Game complete announcement
                        gameOver:
                          type: string
                          description: Game over announcement
                        gamePaused:
                          type: string
                          description: Game paused announcement
                        gameResumed:
                          type: string
                          description: Game resumed announcement
                      required:
                        - gameStarted
                        - levelComplete
                        - gameComplete
                        - gameOver
                        - gamePaused
                        - gameResumed
                  required:
                    - loading
                    - home
                    - tutorial
                    - gameUI
                    - modals
                    - cards
                    - errors
                    - accessibility
                    - status
              required:
                - clientBranding
                - gameConfig
                - textContent
          description: >-
            Full game configuration including client branding, game-specific
            config, and text content
        createdAt:
          type: string
          description: The date when this game configuration was created
        updatedAt:
          type: string
          description: The date when this game configuration was last updated
        rewardDistributions:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/EntityRewardDistribution'
          description: The reward distributions (prizes) for this game configuration
        progressPeriod:
          type: string
          enum:
            - daily
            - weekly
            - monthly
            - yearly
            - open
          description: The progress period for repeat limits
        maxCompletionsPerPeriod:
          anyOf:
            - type: number
              minimum: 0
            - type: string
              const: Infinity
          description: The maximum number of times this game can be completed per period
      required:
        - id
        - organisationId
        - details
        - gameType
        - config
        - createdAt
        - rewardDistributions
        - progressPeriod
        - maxCompletionsPerPeriod
      description: A Nudj game configuration
      title: GameConfig
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Invalid input data
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Error
      description: The error information
      example:
        code: BAD_REQUEST
        message: Invalid input data
        issues: []
    error.NOT_FOUND:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Not found
        code:
          type: string
          description: The error code
          example: NOT_FOUND
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Error
      description: The error information
      example:
        code: NOT_FOUND
        message: Not found
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Error
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
    Details:
      type: object
      properties:
        title:
          type: string
          description: The title of the entity
        description:
          type:
            - string
            - 'null'
          description: The description of the entity
        light:
          type: object
          properties:
            primaryImageUrl:
              type:
                - string
                - 'null'
              description: The url of the primary image for this theme mode
            secondaryImageUrl:
              type:
                - string
                - 'null'
              description: The url of the secondary image for this theme mode
          required:
            - primaryImageUrl
            - secondaryImageUrl
          description: Light theme images
        dark:
          type: object
          properties:
            primaryImageUrl:
              type:
                - string
                - 'null'
              description: The url of the primary image for this theme mode
            secondaryImageUrl:
              type:
                - string
                - 'null'
              description: The url of the secondary image for this theme mode
          required:
            - primaryImageUrl
            - secondaryImageUrl
          description: Dark theme images
      required:
        - title
        - description
        - light
        - dark
      description: Used to describe an entity
      title: Details
    EntityRewardDistribution:
      type: object
      properties:
        points:
          type: number
          minimum: 0
          description: Number of points awarded upon completion
        xp:
          type: number
          minimum: 0
          description: XP awarded upon completion
        rewardSelectionMethod:
          type: string
          enum:
            - all
            - priority
            - random
            - select
          description: Method for selecting rewards when multiple are available
        distributionEventId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
          description: ID of the distribution event managing these rewards
        rewardAllocations:
          type: array
          items:
            $ref: '#/components/schemas/RewardAllocationReference'
          description: >-
            Array of reward allocations with their types. Filter by
            allocationType to get counts: assets for tangible rewards, entries
            for giveaway entries
        numberOfRewardsToReceive:
          type: number
          minimum: 0
          description: Number of rewards the user will receive from the available rewards
      required:
        - points
        - xp
        - rewardSelectionMethod
        - distributionEventId
        - rewardAllocations
        - numberOfRewardsToReceive
      description: >-
        Reward distribution for a single entity with distribution event
        reference
      title: Entity Reward Distribution
    RewardAllocationReference:
      type: object
      properties:
        rewardId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
          description: ID of the reward
        allocationId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
          description: ID of the specific allocation within the reward
        allocationType:
          type: string
          enum:
            - assets
            - entries
          description: >-
            The type of allocation - either 'assets' for tangible rewards or
            'entries' for giveaway entries
        amountToDistribute:
          type: number
          minimum: 1
          description: >-
            The quantity of this specific reward to distribute when this
            allocation is selected
      required:
        - rewardId
        - allocationId
        - allocationType
        - amountToDistribute
      description: Reference to a specific reward and its allocation
      title: Reward Allocation Reference
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: x-api-token

````