Skip to main content
POST
/
game-configs
Create a game config
curl --request POST \
  --url https://{subdomain}.nudj.cx/api/v2/admin/game-configs \
  --header 'Content-Type: application/json' \
  --header 'x-api-token: <api-key>' \
  --data '
{
  "gameType": "catch",
  "progressPeriod": "daily",
  "maxCompletionsPerPeriod": 1,
  "details": {
    "title": "<string>",
    "description": "<string>",
    "light": {
      "primaryImageUrl": "<string>",
      "secondaryImageUrl": "<string>"
    },
    "dark": {
      "primaryImageUrl": "<string>",
      "secondaryImageUrl": "<string>"
    }
  },
  "config": {
    "clientBranding": {
      "gameTitle": "<string>",
      "gameDescription": "<string>",
      "clientName": "<string>",
      "clientWebsite": "<string>",
      "background": {
        "image": "<string>",
        "color": "<string>"
      },
      "logo": {
        "url": "<string>",
        "alt": "<string>"
      },
      "favicon": "<string>",
      "font": "<string>",
      "colors": {
        "primary": "<string>",
        "on-primary": "<string>",
        "secondary": "<string>",
        "on-secondary": "<string>",
        "accent": "<string>",
        "on-accent": "<string>"
      },
      "style": {
        "cornerRadius": 123
      },
      "icons": {
        "play": "<string>",
        "pause": "<string>",
        "restart": "<string>",
        "home": "<string>",
        "volume": "<string>",
        "volume-off": "<string>",
        "level-completed": "<string>",
        "level-failed": "<string>",
        "game-completed": "<string>",
        "game-over": "<string>",
        "star": "<string>"
      }
    },
    "gameConfig": {
      "game": "<string>",
      "odds": 0.5,
      "scratchCardImage": "<string>",
      "backgroundImage": "<string>",
      "productImages": [
        {
          "id": "<string>",
          "url": "<string>",
          "alt": "<string>",
          "winning": true,
          "distributionEventId": "<string>"
        }
      ],
      "particlesColor": "<string>",
      "cardColor": "<string>",
      "cardGlowingColor": "<string>",
      "cardTextColor": "<string>",
      "sounds": {
        "win": "<string>",
        "lose": "<string>"
      }
    },
    "textContent": {
      "loading": {
        "title": "<string>",
        "subtitle": "<string>",
        "progressText": "<string>",
        "logoAlt": "<string>"
      },
      "home": {
        "startButton": "<string>",
        "loadingText": "<string>",
        "preparingText": "<string>",
        "features": [
          {
            "title": "<string>",
            "description": "<string>"
          }
        ]
      },
      "tutorial": {
        "title": "<string>",
        "subtitle": "<string>",
        "startButton": "<string>",
        "logoAlt": "<string>",
        "instructions": [
          {
            "icon": "<string>",
            "title": "<string>",
            "description": "<string>"
          }
        ]
      },
      "gameUI": {
        "soundToggle": {
          "enable": "<string>",
          "disable": "<string>"
        },
        "pauseToggle": {
          "pause": "<string>",
          "resume": "<string>"
        }
      },
      "modals": {
        "win": {
          "title": "<string>",
          "subtitle": "<string>",
          "homeButton": "<string>",
          "closeButton": "<string>"
        },
        "lose": {
          "title": "<string>",
          "subtitle": "<string>",
          "homeButton": "<string>",
          "closeButton": "<string>"
        }
      },
      "errors": {
        "configurationError": "<string>",
        "configurationErrorMessage": "<string>",
        "retryButton": "<string>",
        "imageLoadError": "<string>"
      },
      "accessibility": {
        "playButton": "<string>",
        "pauseButton": "<string>",
        "homeButton": "<string>",
        "progressIndicator": "<string>"
      },
      "status": {
        "gameStarted": "<string>",
        "win": "<string>",
        "lose": "<string>"
      }
    }
  }
}
'
{
  "id": "<string>",
  "organisationId": "<string>",
  "details": {
    "title": "<string>",
    "description": "<string>",
    "light": {
      "primaryImageUrl": "<string>",
      "secondaryImageUrl": "<string>"
    },
    "dark": {
      "primaryImageUrl": "<string>",
      "secondaryImageUrl": "<string>"
    }
  },
  "gameType": "catch",
  "config": {
    "clientBranding": {
      "gameTitle": "<string>",
      "gameDescription": "<string>",
      "clientName": "<string>",
      "clientWebsite": "<string>",
      "background": {
        "image": "<string>",
        "color": "<string>"
      },
      "logo": {
        "url": "<string>",
        "alt": "<string>"
      },
      "favicon": "<string>",
      "font": "<string>",
      "colors": {
        "primary": "<string>",
        "on-primary": "<string>",
        "secondary": "<string>",
        "on-secondary": "<string>",
        "accent": "<string>",
        "on-accent": "<string>"
      },
      "style": {
        "cornerRadius": 123
      },
      "icons": {
        "play": "<string>",
        "pause": "<string>",
        "restart": "<string>",
        "home": "<string>",
        "volume": "<string>",
        "volume-off": "<string>",
        "level-completed": "<string>",
        "level-failed": "<string>",
        "game-completed": "<string>",
        "game-over": "<string>",
        "star": "<string>"
      }
    },
    "gameConfig": {
      "game": "<string>",
      "odds": 0.5,
      "scratchCardImage": "<string>",
      "backgroundImage": "<string>",
      "productImages": [
        {
          "id": "<string>",
          "url": "<string>",
          "alt": "<string>",
          "winning": true,
          "distributionEventId": "<string>"
        }
      ],
      "particlesColor": "<string>",
      "cardColor": "<string>",
      "cardGlowingColor": "<string>",
      "cardTextColor": "<string>",
      "sounds": {
        "win": "<string>",
        "lose": "<string>"
      }
    },
    "textContent": {
      "loading": {
        "title": "<string>",
        "subtitle": "<string>",
        "progressText": "<string>",
        "logoAlt": "<string>"
      },
      "home": {
        "startButton": "<string>",
        "loadingText": "<string>",
        "preparingText": "<string>",
        "features": [
          {
            "title": "<string>",
            "description": "<string>"
          }
        ]
      },
      "tutorial": {
        "title": "<string>",
        "subtitle": "<string>",
        "startButton": "<string>",
        "logoAlt": "<string>",
        "instructions": [
          {
            "icon": "<string>",
            "title": "<string>",
            "description": "<string>"
          }
        ]
      },
      "gameUI": {
        "soundToggle": {
          "enable": "<string>",
          "disable": "<string>"
        },
        "pauseToggle": {
          "pause": "<string>",
          "resume": "<string>"
        }
      },
      "modals": {
        "win": {
          "title": "<string>",
          "subtitle": "<string>",
          "homeButton": "<string>",
          "closeButton": "<string>"
        },
        "lose": {
          "title": "<string>",
          "subtitle": "<string>",
          "homeButton": "<string>",
          "closeButton": "<string>"
        }
      },
      "errors": {
        "configurationError": "<string>",
        "configurationErrorMessage": "<string>",
        "retryButton": "<string>",
        "imageLoadError": "<string>"
      },
      "accessibility": {
        "playButton": "<string>",
        "pauseButton": "<string>",
        "homeButton": "<string>",
        "progressIndicator": "<string>"
      },
      "status": {
        "gameStarted": "<string>",
        "win": "<string>",
        "lose": "<string>"
      }
    }
  },
  "createdAt": "<string>",
  "rewardDistributions": [
    {
      "points": 1,
      "xp": 1,
      "rewardSelectionMethod": "all",
      "distributionEventId": "<string>",
      "rewardAllocations": [
        {
          "rewardId": "<string>",
          "allocationId": "<string>",
          "allocationType": "assets",
          "amountToDistribute": 2
        }
      ],
      "numberOfRewardsToReceive": 1
    }
  ],
  "progressPeriod": "daily",
  "maxCompletionsPerPeriod": 1,
  "updatedAt": "<string>"
}

Authorizations

x-api-token
string
header
required

Headers

x-language
string

The language for the initial content of the game config. If not provided, the default organisation language is used.

Body

application/json

The input required to create a game configuration

gameType
enum<string>
required

The type of game

Available options:
catch,
memory,
scratch
progressPeriod
enum<string>
required

The progress period for repeat limits

Available options:
daily,
weekly,
monthly,
yearly,
open
maxCompletionsPerPeriod
required

The maximum number of times this game can be completed per period

Required range: x >= 0
details
Details Create Input · object
required

Input for creating entity details with required title

config
object
required

Response

Successful response

A Nudj game configuration

id
string
required

The id of the game configuration

organisationId
string
required

The organisation that the game configuration belongs to

details
Details · object
required

The details of this game configuration such as title and description

gameType
enum<string>
required

The type of game

Available options:
catch,
memory,
scratch
config
object
required

Full game configuration including client branding, game-specific config, and text content

createdAt
string
required

The date when this game configuration was created

rewardDistributions
Entity Reward Distribution · object[] | null
required

The reward distributions (prizes) for this game configuration

progressPeriod
enum<string>
required

The progress period for repeat limits

Available options:
daily,
weekly,
monthly,
yearly,
open
maxCompletionsPerPeriod
required

The maximum number of times this game can be completed per period

Required range: x >= 0
updatedAt
string

The date when this game configuration was last updated