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

# UI Config

> Returns the UI config to render the portal



## OpenAPI

````yaml /apis/portal/openapi.json get /api/ui-config
openapi: 3.0.2
info:
  title: Magna Portal API
  version: 1.0.0
servers: []
security: []
tags:
  - name: Auth
    description: Authentication related endpoints
  - name: Token
    description: Token claiming
  - name: Config
    description: Portal configuration
  - name: Misc
    description: Miscellaneous operational endpoints
  - name: Staking
    description: Staking pool operations
  - name: Compliance
    description: Wallet compliance operations
paths:
  /api/ui-config:
    get:
      tags:
        - Config
      summary: UI Config
      description: Returns the UI config to render the portal
      parameters:
        - name: domain
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                discriminator:
                  propertyName: version
                oneOf:
                  - type: object
                    properties:
                      version:
                        type: string
                        enum:
                          - V1
                      id:
                        type: string
                        minLength: 1
                        format: uuid
                      name:
                        type: string
                        minLength: 1
                      googleAnalyticsId:
                        type: string
                        minLength: 1
                        nullable: true
                      configuration:
                        type: object
                        properties:
                          allowClaimWithAlternateWallet:
                            type: boolean
                          showVestingDetails:
                            type: boolean
                          unifiedAllocationClaimView:
                            type: boolean
                          requireAcceptingTermsBeforeClaim:
                            type: boolean
                          showCategory:
                            type: boolean
                          showDescription:
                            type: boolean
                          hideConnectWalletSubtext:
                            type: boolean
                          allowConnectBeforeClaimWindow:
                            type: boolean
                          blockedCountryText:
                            type: string
                            minLength: 1
                            nullable: true
                          paymentFiatEnabled:
                            type: boolean
                          showSocialIconsInFooter:
                            type: boolean
                          collectNewWallets:
                            type: object
                            properties:
                              targetTokenId:
                                type: string
                                minLength: 1
                                format: uuid
                              chainPlatform:
                                type: string
                                enum:
                                  - EVM
                                  - MOVE
                                  - SOLANA
                                  - OTHER
                            required:
                              - targetTokenId
                              - chainPlatform
                            nullable: true
                          staking:
                            type: boolean
                          minSocialAccountsConnectedToClaim:
                            type: integer
                            nullable: true
                          rewards:
                            type: object
                            properties:
                              whitelistedCategoryId:
                                type: string
                                minLength: 1
                                format: uuid
                                nullable: true
                              showStats:
                                type: boolean
                              multiplier:
                                type: number
                              futureRewards:
                                type: number
                              statsData:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    tokenPrice:
                                      type: number
                                    xCategory:
                                      type: string
                                      minLength: 1
                                  required:
                                    - tokenPrice
                                    - xCategory
                              delegateMainnetContent:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    minLength: 1
                                  description:
                                    type: string
                                    minLength: 1
                                  url:
                                    type: string
                                    minLength: 1
                                  cta:
                                    type: string
                                    minLength: 1
                                required:
                                  - title
                                  - description
                                  - url
                                  - cta
                                nullable: true
                              delegateFutureContent:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    minLength: 1
                                  description:
                                    type: string
                                    minLength: 1
                                  url:
                                    type: string
                                    minLength: 1
                                  cta:
                                    type: string
                                    minLength: 1
                                required:
                                  - title
                                  - description
                                  - url
                                  - cta
                                nullable: true
                            required:
                              - whitelistedCategoryId
                              - showStats
                              - multiplier
                              - futureRewards
                              - statsData
                              - delegateMainnetContent
                              - delegateFutureContent
                            nullable: true
                          cryptoPaymentMethods:
                            type: array
                            items:
                              type: object
                              properties:
                                token:
                                  type: string
                                  minLength: 1
                                  nullable: true
                                network:
                                  type: string
                                  enum:
                                    - SepoliaTestnet
                                    - Bitcoin
                                    - Solana
                                    - Ethereum
                                    - Polygon
                                    - Arbitrum
                                    - BNB
                                    - Avalanche
                                    - Base
                                    - Optimism
                              required:
                                - token
                                - network
                          metadata:
                            type: object
                            properties:
                              title:
                                type: string
                                minLength: 1
                              description:
                                type: string
                                minLength: 1
                              ogImageUrl:
                                type: string
                                minLength: 1
                                nullable: true
                              faviconUrl:
                                type: string
                                minLength: 1
                                nullable: true
                              companyName:
                                type: string
                                minLength: 1
                              websiteUrl:
                                type: string
                                minLength: 1
                                nullable: true
                            required:
                              - title
                              - description
                              - ogImageUrl
                              - faviconUrl
                              - companyName
                              - websiteUrl
                          customWalletAdapters:
                            type: object
                            properties:
                              metaMask:
                                type: boolean
                              coinbase:
                                type: boolean
                              rainbow:
                                type: boolean
                              trust:
                                type: boolean
                              rabby:
                                type: boolean
                              mew:
                                type: boolean
                              ronin:
                                type: boolean
                              safe:
                                type: boolean
                              injected:
                                type: boolean
                              phantom:
                                type: boolean
                              solflare:
                                type: boolean
                              walletConnect:
                                type: boolean
                              ledger:
                                type: boolean
                              okx:
                                type: boolean
                              sonic:
                                type: boolean
                              backpack:
                                type: boolean
                              bitget:
                                type: boolean
                              kaia:
                                type: boolean
                              mockWallet:
                                type: boolean
                            required:
                              - metaMask
                              - coinbase
                              - rainbow
                              - trust
                              - rabby
                              - mew
                              - ronin
                              - safe
                              - injected
                              - phantom
                              - solflare
                              - walletConnect
                              - ledger
                              - okx
                              - sonic
                              - backpack
                              - bitget
                              - kaia
                              - mockWallet
                            nullable: true
                          colors:
                            type: object
                            properties:
                              accent:
                                type: string
                                minLength: 1
                                nullable: true
                              buttonText:
                                type: string
                                minLength: 1
                                nullable: true
                              mainGradient:
                                type: string
                                minLength: 1
                                nullable: true
                              background:
                                type: string
                                minLength: 1
                                nullable: true
                            required:
                              - accent
                              - buttonText
                              - mainGradient
                              - background
                          images:
                            type: object
                            properties:
                              background:
                                type: object
                                properties:
                                  url:
                                    type: string
                                    minLength: 1
                                  width:
                                    type: number
                                  height:
                                    type: number
                                required:
                                  - url
                                  - width
                                  - height
                                nullable: true
                              backgroundMobile:
                                type: object
                                properties:
                                  url:
                                    type: string
                                    minLength: 1
                                  width:
                                    type: number
                                  height:
                                    type: number
                                required:
                                  - url
                                  - width
                                  - height
                                nullable: true
                              logo:
                                type: object
                                properties:
                                  url:
                                    type: string
                                    minLength: 1
                                  width:
                                    type: number
                                  height:
                                    type: number
                                required:
                                  - url
                                  - width
                                  - height
                                nullable: true
                              logoIcon:
                                type: object
                                properties:
                                  url:
                                    type: string
                                    minLength: 1
                                  width:
                                    type: number
                                  height:
                                    type: number
                                required:
                                  - url
                                  - width
                                  - height
                                nullable: true
                              coin:
                                type: object
                                properties:
                                  url:
                                    type: string
                                    minLength: 1
                                  width:
                                    type: number
                                  height:
                                    type: number
                                required:
                                  - url
                                  - width
                                  - height
                                nullable: true
                              moreInfo:
                                type: object
                                properties:
                                  url:
                                    type: string
                                    minLength: 1
                                  width:
                                    type: number
                                  height:
                                    type: number
                                required:
                                  - url
                                  - width
                                  - height
                                nullable: true
                              banner:
                                type: object
                                properties:
                                  url:
                                    type: string
                                    minLength: 1
                                  width:
                                    type: number
                                  height:
                                    type: number
                                required:
                                  - url
                                  - width
                                  - height
                                nullable: true
                            required:
                              - background
                              - backgroundMobile
                              - logo
                              - logoIcon
                              - coin
                              - moreInfo
                              - banner
                          content:
                            type: object
                            properties:
                              title:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  subtitle:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                required:
                                  - title
                                  - subtitle
                              coinInfo:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  description:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  readMoreCTA:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  readMoreUrl:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                required:
                                  - title
                                  - description
                                  - readMoreCTA
                                  - readMoreUrl
                                nullable: true
                              projectInfo:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    minLength: 1
                                  description:
                                    type: string
                                    minLength: 1
                                  readMoreUrl:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                required:
                                  - title
                                  - description
                                  - readMoreUrl
                                nullable: true
                              qa:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  description:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  questions:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        question:
                                          type: string
                                          minLength: 1
                                        answer:
                                          type: string
                                          minLength: 1
                                      required:
                                        - question
                                        - answer
                                required:
                                  - title
                                  - description
                                  - questions
                                nullable: true
                              tags:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                nullable: true
                              banner:
                                type: object
                                properties:
                                  level:
                                    type: string
                                    enum:
                                      - info
                                      - warning
                                      - error
                                  content:
                                    type: string
                                    minLength: 1
                                  position:
                                    type: string
                                    enum:
                                      - top
                                      - middle
                                required:
                                  - level
                                  - content
                                  - position
                                nullable: true
                              sidebarContent:
                                type: object
                                properties:
                                  publicPhaseText:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  whitelistPhaseText:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                required:
                                  - publicPhaseText
                                  - whitelistPhaseText
                                nullable: true
                              wideHeader:
                                type: boolean
                              successPage:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  subtitle:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  goToUrl:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  learnMoreUrl:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                  description:
                                    type: string
                                    minLength: 1
                                    nullable: true
                                required:
                                  - title
                                  - subtitle
                                  - goToUrl
                                  - learnMoreUrl
                                  - description
                                nullable: true
                              showImportTokenButton:
                                type: boolean
                              postClaimCTAs:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    label:
                                      type: string
                                      minLength: 1
                                    url:
                                      type: string
                                      minLength: 1
                                  required:
                                    - label
                                    - url
                                nullable: true
                              postClaimTweet:
                                type: object
                                properties:
                                  label:
                                    type: string
                                    minLength: 1
                                  postBody:
                                    type: string
                                    minLength: 1
                                required:
                                  - label
                                  - postBody
                                nullable: true
                            required:
                              - title
                              - coinInfo
                              - projectInfo
                              - qa
                              - tags
                              - banner
                              - sidebarContent
                              - wideHeader
                              - successPage
                              - showImportTokenButton
                              - postClaimCTAs
                              - postClaimTweet
                          socials:
                            type: object
                            properties:
                              xHandle:
                                type: string
                                minLength: 1
                                nullable: true
                              blogUrl:
                                type: string
                                minLength: 1
                                nullable: true
                              telegramHandle:
                                type: string
                                minLength: 1
                                nullable: true
                              discordUrl:
                                type: string
                                minLength: 1
                                nullable: true
                              linkedinCompany:
                                type: string
                                minLength: 1
                                nullable: true
                              instagramHandle:
                                type: string
                                minLength: 1
                                nullable: true
                              facebookHandle:
                                type: string
                                minLength: 1
                                nullable: true
                              youtubeHandle:
                                type: string
                                minLength: 1
                                nullable: true
                              githubUrl:
                                type: string
                                minLength: 1
                                nullable: true
                              openSeaUrl:
                                type: string
                                minLength: 1
                                nullable: true
                              whitepaperUrl:
                                type: string
                                minLength: 1
                                nullable: true
                            required:
                              - xHandle
                              - blogUrl
                              - telegramHandle
                              - discordUrl
                              - linkedinCompany
                              - instagramHandle
                              - facebookHandle
                              - youtubeHandle
                              - githubUrl
                              - openSeaUrl
                              - whitepaperUrl
                            nullable: true
                          offChainClaiming:
                            type: object
                            properties:
                              isEditable:
                                type: boolean
                              startTimestamp:
                                type: string
                                minLength: 1
                                nullable: true
                              endTimestamp:
                                type: string
                                minLength: 1
                                nullable: true
                              cexList:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                      minLength: 1
                                      format: uuid
                                    name:
                                      type: string
                                      minLength: 1
                                    logoUrl:
                                      type: string
                                      minLength: 1
                                    website:
                                      type: string
                                      minLength: 1
                                    explainerUrl:
                                      type: string
                                      minLength: 1
                                      nullable: true
                                    categoryIds:
                                      type: array
                                      items:
                                        type: string
                                        minLength: 1
                                        format: uuid
                                  required:
                                    - id
                                    - name
                                    - logoUrl
                                    - website
                                    - explainerUrl
                                    - categoryIds
                            required:
                              - isEditable
                              - startTimestamp
                              - endTimestamp
                              - cexList
                            nullable: true
                        required:
                          - allowClaimWithAlternateWallet
                          - showVestingDetails
                          - unifiedAllocationClaimView
                          - requireAcceptingTermsBeforeClaim
                          - showCategory
                          - showDescription
                          - hideConnectWalletSubtext
                          - allowConnectBeforeClaimWindow
                          - blockedCountryText
                          - paymentFiatEnabled
                          - showSocialIconsInFooter
                          - collectNewWallets
                          - staking
                          - minSocialAccountsConnectedToClaim
                          - rewards
                          - cryptoPaymentMethods
                          - metadata
                          - customWalletAdapters
                          - colors
                          - images
                          - content
                          - socials
                          - offChainClaiming
                      claim:
                        type: object
                        properties:
                          allowClaimWithAlternateWallet:
                            type: boolean
                          allowConnectBeforeClaimWindow:
                            type: boolean
                          showVestingDetails:
                            type: boolean
                          showDescription:
                            type: boolean
                          hideConnectWalletSubtext:
                            type: boolean
                          unifiedAllocationClaimView:
                            type: boolean
                          staking:
                            type: boolean
                          showCategory:
                            type: boolean
                          requireAcceptingTermsBeforeClaim:
                            type: boolean
                          tokenSymbol:
                            type: string
                            minLength: 1
                          tokenDecimals:
                            type: number
                          tokenAddress:
                            type: string
                            minLength: 1
                            nullable: true
                          claimStartTimestamp: {}
                          claimEndTimestamp:
                            nullable: true
                          showImportTokenButton:
                            type: boolean
                          claimFee:
                            type: object
                            properties:
                              amount: {}
                              collectOnce:
                                type: boolean
                            required:
                              - amount
                              - collectOnce
                            nullable: true
                          postClaimCTAs:
                            type: array
                            items:
                              type: object
                              properties:
                                label:
                                  type: string
                                  minLength: 1
                                url:
                                  type: string
                                  minLength: 1
                              required:
                                - label
                                - url
                          postClaimTweet:
                            type: object
                            properties:
                              label:
                                type: string
                                minLength: 1
                              postBody:
                                type: string
                                minLength: 1
                            required:
                              - label
                              - postBody
                            nullable: true
                          termsUrl:
                            type: string
                            minLength: 1
                            nullable: true
                          chain:
                            type: object
                            properties:
                              id:
                                type: string
                                minLength: 1
                              chainId:
                                type: string
                                minLength: 1
                                nullable: true
                              name:
                                type: string
                                minLength: 1
                              nativeCurrencyName:
                                type: string
                                minLength: 1
                              nativeCurrencySymbol:
                                type: string
                                minLength: 1
                              nativeCurrencyDecimals:
                                type: number
                              publicRpc:
                                type: string
                                minLength: 1
                                format: uri
                              blockExplorerToken:
                                type: string
                                minLength: 1
                                format: uri
                              blockExplorerTx:
                                type: string
                                minLength: 1
                                format: uri
                              testnet:
                                type: boolean
                              platform:
                                type: string
                                enum:
                                  - EVM
                                  - MOVE
                                  - SOLANA
                                  - OTHER
                              network:
                                type: string
                                minLength: 1
                              transactionExecutor:
                                type: string
                                enum:
                                  - WALLET
                                  - DAPP
                            required:
                              - id
                              - chainId
                              - name
                              - nativeCurrencyName
                              - nativeCurrencySymbol
                              - nativeCurrencyDecimals
                              - publicRpc
                              - blockExplorerToken
                              - blockExplorerTx
                              - testnet
                              - platform
                              - network
                              - transactionExecutor
                          activeProtocolHooks:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  minLength: 1
                                  format: uuid
                                name:
                                  type: string
                                  minLength: 1
                                contractId:
                                  type: string
                                  minLength: 1
                                  format: uuid
                                hookAddress:
                                  type: string
                                  minLength: 1
                                  nullable: true
                                strategyManagerAddress:
                                  type: string
                                  minLength: 1
                                  nullable: true
                                strategyAddress:
                                  type: string
                                  minLength: 1
                                  nullable: true
                                status:
                                  type: string
                                  enum:
                                    - NOT_ACTIVATED
                                    - ACTIVATED
                                    - DEACTIVATED
                                successMessage:
                                  type: string
                                  minLength: 1
                              required:
                                - id
                                - name
                                - contractId
                                - hookAddress
                                - strategyManagerAddress
                                - strategyAddress
                                - status
                                - successMessage
                        required:
                          - allowClaimWithAlternateWallet
                          - allowConnectBeforeClaimWindow
                          - showVestingDetails
                          - showDescription
                          - hideConnectWalletSubtext
                          - unifiedAllocationClaimView
                          - staking
                          - showCategory
                          - requireAcceptingTermsBeforeClaim
                          - tokenSymbol
                          - tokenDecimals
                          - tokenAddress
                          - claimStartTimestamp
                          - claimEndTimestamp
                          - showImportTokenButton
                          - claimFee
                          - postClaimCTAs
                          - postClaimTweet
                          - termsUrl
                          - chain
                          - activeProtocolHooks
                        nullable: true
                      project:
                        type: object
                        properties:
                          id:
                            type: string
                            minLength: 1
                          defaultCurrencySymbol:
                            type: string
                            minLength: 1
                            nullable: true
                          defaultCurrencyDecimals:
                            type: integer
                            nullable: true
                          defaultCurrencyToUsdRate:
                            type: integer
                            nullable: true
                          customClaimTermsUrl:
                            type: string
                            minLength: 1
                            format: uri
                            nullable: true
                          restrictedCountries:
                            type: array
                            items:
                              type: string
                              minLength: 2
                              maxLength: 2
                        required:
                          - id
                          - defaultCurrencySymbol
                          - defaultCurrencyDecimals
                          - defaultCurrencyToUsdRate
                          - customClaimTermsUrl
                          - restrictedCountries
                      auth:
                        type: object
                        properties:
                          isEnabled:
                            type: boolean
                          providers:
                            type: object
                            properties:
                              terminal3:
                                type: boolean
                              x:
                                type: boolean
                            required:
                              - terminal3
                              - x
                        required:
                          - isEnabled
                          - providers
                    required:
                      - version
                      - id
                      - name
                      - googleAnalyticsId
                      - configuration
                      - claim
                      - project
                      - auth
                  - type: object
                    properties:
                      version:
                        type: string
                        enum:
                          - V2
                      id:
                        type: string
                        minLength: 1
                        format: uuid
                      name:
                        type: string
                        minLength: 1
                      googleAnalyticsId:
                        type: string
                        minLength: 1
                        nullable: true
                      posthogKey:
                        type: string
                        minLength: 1
                        nullable: true
                      restrictedCountries:
                        type: array
                        items:
                          type: string
                          minLength: 1
                      ui:
                        type: object
                        properties:
                          font:
                            oneOf:
                              - type: string
                                minLength: 1
                              - type: object
                                properties:
                                  primary:
                                    type: string
                                    minLength: 1
                                  secondary:
                                    type: string
                                    minLength: 1
                                required:
                                  - primary
                                  - secondary
                            nullable: true
                          colors:
                            type: object
                            properties:
                              primary:
                                type: string
                                minLength: 1
                              secondary:
                                type: string
                                minLength: 1
                              warning:
                                type: string
                                minLength: 1
                              success:
                                type: string
                                minLength: 1
                              error:
                                type: string
                                minLength: 1
                            required:
                              - primary
                              - secondary
                              - warning
                              - success
                              - error
                          buttons:
                            type: object
                            properties:
                              animated:
                                type: boolean
                              radius:
                                type: string
                                enum:
                                  - SUBTLE
                                  - SOFT
                                  - FULL
                            required:
                              - animated
                              - radius
                          homePageContentAlignment:
                            type: string
                            enum:
                              - LEFT
                              - CENTER
                        required:
                          - font
                          - colors
                          - buttons
                          - homePageContentAlignment
                      meta:
                        type: object
                        properties:
                          title:
                            type: string
                            minLength: 1
                          description:
                            type: string
                            minLength: 1
                          favicon:
                            type: string
                            minLength: 1
                          ogImage:
                            type: string
                            minLength: 1
                            nullable: true
                        required:
                          - title
                          - description
                          - favicon
                          - ogImage
                      media:
                        type: object
                        properties:
                          background:
                            discriminator:
                              propertyName: type
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - STILL
                                  url:
                                    type: string
                                    minLength: 1
                                    format: uri
                                required:
                                  - type
                                  - url
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - UNICORN
                                  url:
                                    type: string
                                    minLength: 1
                                    format: uri
                                required:
                                  - type
                                  - url
                          backgroundMusic:
                            type: string
                            minLength: 1
                            format: uri
                            nullable: true
                          eligibilityShareBanner:
                            type: string
                            minLength: 1
                            format: uri
                            nullable: true
                          claimedShareBannerUrl:
                            type: string
                            minLength: 1
                            format: uri
                            nullable: true
                          logo:
                            type: string
                            minLength: 1
                            format: uri
                          coin:
                            type: string
                            minLength: 1
                            format: uri
                        required:
                          - background
                          - backgroundMusic
                          - eligibilityShareBanner
                          - claimedShareBannerUrl
                          - logo
                          - coin
                      content:
                        type: object
                        properties:
                          title:
                            type: string
                            minLength: 1
                          eligibilityShareText:
                            type: string
                            minLength: 1
                            nullable: true
                          faq:
                            type: array
                            items:
                              type: object
                              properties:
                                question:
                                  type: string
                                  minLength: 1
                                answer:
                                  type: string
                                  minLength: 1
                                placement:
                                  type: string
                                  enum:
                                    - REGISTRATION
                                    - CLAIM
                              required:
                                - question
                                - answer
                                - placement
                          helpLinks:
                            type: array
                            items:
                              type: object
                              properties:
                                label:
                                  type: string
                                  minLength: 1
                                url:
                                  type: string
                                  minLength: 1
                                description:
                                  type: string
                                  minLength: 1
                                  nullable: true
                              required:
                                - label
                                - url
                                - description
                        required:
                          - title
                          - eligibilityShareText
                          - faq
                          - helpLinks
                      socials:
                        type: object
                        properties:
                          xHandle:
                            type: string
                            minLength: 1
                            nullable: true
                          discordInviteLink:
                            type: string
                            minLength: 1
                            nullable: true
                          blog:
                            type: string
                            minLength: 1
                            nullable: true
                          paragraphHandle:
                            type: string
                            minLength: 1
                            nullable: true
                        required:
                          - xHandle
                          - discordInviteLink
                          - blog
                          - paragraphHandle
                      legal:
                        type: object
                        properties:
                          entityName:
                            type: string
                            minLength: 1
                          termsOfServiceFileUrl:
                            type: string
                            minLength: 1
                            nullable: true
                        required:
                          - entityName
                          - termsOfServiceFileUrl
                      token:
                        type: object
                        properties:
                          symbol:
                            type: string
                            minLength: 1
                          decimals:
                            type: number
                          address:
                            type: string
                            minLength: 1
                            nullable: true
                        required:
                          - symbol
                          - decimals
                          - address
                      chain:
                        type: object
                        properties:
                          id:
                            type: string
                            minLength: 1
                          chainId:
                            type: string
                            minLength: 1
                            nullable: true
                          name:
                            type: string
                            minLength: 1
                          nativeCurrencyName:
                            type: string
                            minLength: 1
                          nativeCurrencySymbol:
                            type: string
                            minLength: 1
                          nativeCurrencyDecimals:
                            type: number
                          publicRpc:
                            type: string
                            minLength: 1
                            format: uri
                          blockExplorerToken:
                            type: string
                            minLength: 1
                            format: uri
                          blockExplorerTx:
                            type: string
                            minLength: 1
                            format: uri
                          testnet:
                            type: boolean
                          platform:
                            type: string
                            enum:
                              - EVM
                              - MOVE
                              - SOLANA
                              - OTHER
                          network:
                            type: string
                            minLength: 1
                        required:
                          - id
                          - chainId
                          - name
                          - nativeCurrencyName
                          - nativeCurrencySymbol
                          - nativeCurrencyDecimals
                          - publicRpc
                          - blockExplorerToken
                          - blockExplorerTx
                          - testnet
                          - platform
                          - network
                      customWalletAdapters:
                        type: array
                        items:
                          type: string
                          enum:
                            - METAMASK
                            - COINBASE
                            - RAINBOW
                            - TRUST
                            - RABBY
                            - MEW
                            - RONIN
                            - SAFE
                            - INJECTED
                            - PHANTOM
                            - LEDGER
                            - WALLET_CONNECT
                            - OKX
                            - SOLFLARE
                            - SONIC
                            - BACKPACK
                            - BIT_GET
                            - KAIA
                            - MOCK_WALLET
                        nullable: true
                      registration:
                        type: object
                        properties:
                          maxWallets:
                            type: number
                          maxSocials:
                            type: number
                          start:
                            type: string
                            minLength: 1
                          end:
                            type: string
                            minLength: 1
                          socialProviders:
                            type: object
                            additionalProperties:
                              type: object
                              properties:
                                clientId:
                                  type: string
                                  minLength: 1
                              required:
                                - clientId
                          humanityCheckProvider:
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - AUTHENA
                              name:
                                type: string
                                minLength: 1
                              redirectUrl:
                                type: string
                                minLength: 1
                                format: uri
                            required:
                              - type
                              - name
                              - redirectUrl
                            nullable: true
                          notEligibleContent:
                            type: object
                            properties:
                              title:
                                type: string
                                minLength: 1
                                nullable: true
                              text:
                                type: string
                                minLength: 1
                              ctaLabel:
                                type: string
                                minLength: 1
                              ctaUrl:
                                type: string
                                minLength: 1
                                format: uri
                            required:
                              - title
                              - text
                              - ctaLabel
                              - ctaUrl
                            nullable: true
                          eligibleContent:
                            type: object
                            properties:
                              title:
                                type: string
                                minLength: 1
                                nullable: true
                              text:
                                type: string
                                minLength: 1
                              ctaLabel:
                                type: string
                                minLength: 1
                              ctaUrl:
                                type: string
                                minLength: 1
                                format: uri
                            required:
                              - title
                              - text
                              - ctaLabel
                              - ctaUrl
                            nullable: true
                        required:
                          - maxWallets
                          - maxSocials
                          - start
                          - end
                          - socialProviders
                          - humanityCheckProvider
                          - notEligibleContent
                          - eligibleContent
                        nullable: true
                      claim:
                        type: object
                        properties:
                          start:
                            type: string
                            minLength: 1
                            nullable: true
                          end:
                            type: string
                            minLength: 1
                            nullable: true
                          claimStartMessage:
                            type: string
                            minLength: 1
                            nullable: true
                          nonEligibleContent:
                            type: object
                            properties:
                              title:
                                type: string
                                minLength: 1
                                nullable: true
                              text:
                                type: string
                                minLength: 1
                              ctaLabel:
                                type: string
                                minLength: 1
                              ctaUrl:
                                type: string
                                minLength: 1
                                format: uri
                            required:
                              - title
                              - text
                              - ctaLabel
                              - ctaUrl
                            nullable: true
                          fee:
                            type: object
                            properties:
                              amount: {}
                              collectOnce:
                                type: boolean
                            required:
                              - amount
                              - collectOnce
                            nullable: true
                        required:
                          - start
                          - end
                          - claimStartMessage
                          - nonEligibleContent
                          - fee
                      staking:
                        type: object
                        properties:
                          cta:
                            type: object
                            properties:
                              title:
                                type: string
                                minLength: 1
                                nullable: true
                              text:
                                type: string
                                minLength: 1
                              ctaLabel:
                                type: string
                                minLength: 1
                              ctaUrl:
                                type: string
                                minLength: 1
                                format: uri
                            required:
                              - title
                              - text
                              - ctaLabel
                              - ctaUrl
                          provider:
                            type: string
                            enum:
                              - EXTERNAL
                          externalStakingPortalUrl:
                            type: string
                            minLength: 1
                            format: uri
                            nullable: true
                        required:
                          - cta
                          - provider
                          - externalStakingPortalUrl
                        nullable: true
                    required:
                      - version
                      - id
                      - name
                      - googleAnalyticsId
                      - posthogKey
                      - restrictedCountries
                      - ui
                      - meta
                      - media
                      - content
                      - socials
                      - legal
                      - token
                      - chain
                      - customWalletAdapters
                      - registration
                      - claim
                      - staking
                description: Ok
              examples:
                claim:
                  summary: Token Portal
                  value:
                    type: token
                    configuration: {}
                    project: {}
                    projectName: Magna
                    claimConfig: {}
        '400':
          description: Client Error
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      errors:
                        type: array
                        items:
                          type: object
                          properties:
                            path:
                              type: string
                            message:
                              type: string
                          required:
                            - path
                            - message
                    required:
                      - errors
                  - type: object
                    properties:
                      error:
                        oneOf:
                          - type: string
                            enum:
                              - DISTRIBUTION_NOT_FOUND
                              - HUMANITY_CHECK_INCOMPLETE
                              - DISTRIBUTION_NOT_STARTED
                              - STAKING_POOL_NOT_FOUND
                              - STAKE_NOT_FOUND
                          - type: string
                    required:
                      - error
                description: Client Error
                example:
                  errors:
                    - path: query.wallet
                      message: Required
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: error message
                required:
                  - error
                description: Server Error
                example:
                  error: internal server error

````