---
title: "UI Config"
method: GET
path: "/api/ui-config"
tags: ["Config"]
---

# UI Config

`GET /api/ui-config`

## Request

- Base URL: `https://portal-api.magna.so`
- URL: `https://portal-api.magna.so/api/ui-config`
- Auth: none declared

Returns the UI config to render the portal

## Query parameters

- `domain` string, required

## Response `200`

Ok

- union: Ok
  - object
    - `version` 'V1', required
    - `id` string, uuid, required
    - `name` string, required
    - `googleAnalyticsId` string, nullable, required
    - `configuration` object, required
      - `allowClaimWithAlternateWallet` boolean, required
      - `showVestingDetails` boolean, required
      - `unifiedAllocationClaimView` boolean, required
      - `requireAcceptingTermsBeforeClaim` boolean, required
      - `showCategory` boolean, required
      - `showDescription` boolean, required
      - `hideConnectWalletSubtext` boolean, required
      - `allowConnectBeforeClaimWindow` boolean, required
      - `blockedCountryText` string, nullable, required
      - `paymentFiatEnabled` boolean, required
      - `showSocialIconsInFooter` boolean, required
      - `collectNewWallets` object, nullable, required
        - `targetTokenId` string, uuid, required
        - `chainPlatform` 'EVM' | 'MOVE' | 'SOLANA' | 'OTHER', required
      - `staking` boolean, required
      - `minSocialAccountsConnectedToClaim` integer, nullable, required
      - `rewards` object, nullable, required
        - `whitelistedCategoryId` string, uuid, nullable, required
        - `showStats` boolean, required
        - `multiplier` number, required
        - `futureRewards` number, required
        - `statsData` object[], required
          - `tokenPrice` number, required
          - `xCategory` string, required
        - `delegateMainnetContent` object, nullable, required
          - `title` string, required
          - `description` string, required
          - `url` string, required
          - `cta` string, required
        - `delegateFutureContent` object, nullable, required
          - `title` string, required
          - `description` string, required
          - `url` string, required
          - `cta` string, required
      - `cryptoPaymentMethods` object[], required
        - `token` string, nullable, required
        - `network` 'SepoliaTestnet' | 'Bitcoin' | 'Solana' | 'Ethereum' | 'Polygon' | 'Arbitrum' | 'BNB' | 'Avalanche' | 'Base' | 'Optimism', required
      - `metadata` object, required
        - `title` string, required
        - `description` string, required
        - `ogImageUrl` string, nullable, required
        - `faviconUrl` string, nullable, required
        - `companyName` string, required
        - `websiteUrl` string, nullable, required
      - `customWalletAdapters` object, nullable, required
        - `metaMask` boolean, required
        - `coinbase` boolean, required
        - `rainbow` boolean, required
        - `trust` boolean, required
        - `rabby` boolean, required
        - `mew` boolean, required
        - `ronin` boolean, required
        - `safe` boolean, required
        - `injected` boolean, required
        - `phantom` boolean, required
        - `solflare` boolean, required
        - `walletConnect` boolean, required
        - `ledger` boolean, required
        - `okx` boolean, required
        - `sonic` boolean, required
        - `backpack` boolean, required
        - `bitget` boolean, required
        - `kaia` boolean, required
        - `mockWallet` boolean, required
      - `colors` object, required
        - `accent` string, nullable, required
        - `buttonText` string, nullable, required
        - `mainGradient` string, nullable, required
        - `background` string, nullable, required
      - `images` object, required
        - `background` object, nullable, required
          - `url` string, required
          - `width` number, required
          - `height` number, required
        - `backgroundMobile` object, nullable, required
          - `url` string, required
          - `width` number, required
          - `height` number, required
        - `logo` object, nullable, required
          - `url` string, required
          - `width` number, required
          - `height` number, required
        - `logoIcon` object, nullable, required
          - `url` string, required
          - `width` number, required
          - `height` number, required
        - `coin` object, nullable, required
          - `url` string, required
          - `width` number, required
          - `height` number, required
        - `moreInfo` object, nullable, required
          - `url` string, required
          - `width` number, required
          - `height` number, required
        - `banner` object, nullable, required
          - `url` string, required
          - `width` number, required
          - `height` number, required
      - `content` object, required
        - `title` object, required
          - `title` string, nullable, required
          - `subtitle` string, nullable, required
        - `coinInfo` object, nullable, required
          - `title` string, nullable, required
          - `description` string, nullable, required
          - `readMoreCTA` string, nullable, required
          - `readMoreUrl` string, nullable, required
        - `projectInfo` object, nullable, required
          - `title` string, required
          - `description` string, required
          - `readMoreUrl` string, nullable, required
        - `qa` object, nullable, required
          - `title` string, nullable, required
          - `description` string, nullable, required
          - `questions` object[], required
            - `question` string, required
            - `answer` string, required
        - `tags` string[], nullable, required
        - `banner` object, nullable, required
          - `level` 'info' | 'warning' | 'error', required
          - `content` string, required
          - `position` 'top' | 'middle', required
        - `sidebarContent` object, nullable, required
          - `publicPhaseText` string, nullable, required
          - `whitelistPhaseText` string, nullable, required
        - `wideHeader` boolean, required
        - `successPage` object, nullable, required
          - `title` string, nullable, required
          - `subtitle` string, nullable, required
          - `goToUrl` string, nullable, required
          - `learnMoreUrl` string, nullable, required
          - `description` string, nullable, required
        - `showImportTokenButton` boolean, required
        - `postClaimCTAs` object[], nullable, required
          - `label` string, required
          - `url` string, required
        - `postClaimTweet` object, nullable, required
          - `label` string, required
          - `postBody` string, required
      - `socials` object, nullable, required
        - `xHandle` string, nullable, required
        - `blogUrl` string, nullable, required
        - `telegramHandle` string, nullable, required
        - `discordUrl` string, nullable, required
        - `linkedinCompany` string, nullable, required
        - `instagramHandle` string, nullable, required
        - `facebookHandle` string, nullable, required
        - `youtubeHandle` string, nullable, required
        - `githubUrl` string, nullable, required
        - `openSeaUrl` string, nullable, required
        - `whitepaperUrl` string, nullable, required
      - `offChainClaiming` object, nullable, required
        - `isEditable` boolean, required
        - `startTimestamp` string, nullable, required
        - `endTimestamp` string, nullable, required
        - `cexList` object[], required
          - `id` string, uuid, required
          - `name` string, required
          - `logoUrl` string, required
          - `website` string, required
          - `explainerUrl` string, nullable, required
          - `categoryIds` string[], required
    - `claim` object, nullable, required
      - `allowClaimWithAlternateWallet` boolean, required
      - `allowConnectBeforeClaimWindow` boolean, required
      - `showVestingDetails` boolean, required
      - `showDescription` boolean, required
      - `hideConnectWalletSubtext` boolean, required
      - `unifiedAllocationClaimView` boolean, required
      - `staking` boolean, required
      - `showCategory` boolean, required
      - `requireAcceptingTermsBeforeClaim` boolean, required
      - `tokenSymbol` string, required
      - `tokenDecimals` number, required
      - `tokenAddress` string, nullable, required
      - `claimStartTimestamp` string, date-time, required
      - `claimEndTimestamp` string, date-time, nullable, required
      - `showImportTokenButton` boolean, required
      - `claimFee` object, nullable, required
        - `amount` string, required: decimal
        - `collectOnce` boolean, required
      - `postClaimCTAs` object[], required
        - `label` string, required
        - `url` string, required
      - `postClaimTweet` object, nullable, required
        - `label` string, required
        - `postBody` string, required
      - `termsUrl` string, nullable, required
      - `chain` object, required
        - `id` string, required
        - `externalChainId` string, required
        - `name` string, required
        - `nativeCurrencyName` string, required
        - `nativeCurrencySymbol` string, required
        - `nativeCurrencyDecimals` number, required
        - `publicRpc` string, uri, required
        - `blockExplorerToken` string, uri, required
        - `blockExplorerTx` string, uri, required
        - `testnet` boolean, required
        - `platform` 'EVM' | 'MOVE' | 'SOLANA' | 'OTHER', required
        - `network` string, required
        - `transactionExecutor` 'WALLET' | 'DAPP', required
      - `activeProtocolHooks` object[], required
        - `id` string, uuid, required
        - `name` string, required
        - `contractId` string, uuid, required
        - `hookAddress` string, nullable, required
        - `strategyManagerAddress` string, nullable, required
        - `strategyAddress` string, nullable, required
        - `status` 'NOT_ACTIVATED' | 'ACTIVATED' | 'DEACTIVATED', required
        - `successMessage` string, required
    - `project` object, required
      - `id` string, required
      - `defaultCurrencySymbol` string, nullable, required
      - `defaultCurrencyDecimals` integer, nullable, required
      - `defaultCurrencyToUsdRate` integer, nullable, required
      - `customClaimTermsUrl` string, uri, nullable, required
      - `restrictedCountries` string[], required
    - `auth` object, required
      - `isEnabled` boolean, required
      - `providers` object, required
        - `terminal3` boolean, required
        - `x` boolean, required
  - object
    - `version` 'V2', required
    - `id` string, uuid, required
    - `name` string, required
    - `googleAnalyticsId` string, nullable, required
    - `restrictedCountries` string[], required
    - `ui` object, required
      - `font` union, required
        - string
        - object
          - `primary` string, required
          - `secondary` string, required
      - `colors` object, required
        - `primary` string, required
        - `secondary` string, required
        - `warning` string, required
        - `success` string, required
        - `error` string, required
      - `buttons` object, required
        - `animated` boolean, required
        - `radius` 'SUBTLE' | 'SOFT' | 'FULL', required
      - `homePageContentAlignment` 'LEFT' | 'CENTER', required
    - `meta` object, required
      - `title` string, required
      - `description` string, required
      - `favicon` string, required
      - `ogImage` string, nullable, required
    - `media` object, required
      - `background` union, required
        - object
          - `type` 'STILL', required
          - `url` string, uri, required
        - object
          - `type` 'UNICORN', required
          - `url` string, uri, required
      - `backgroundMusic` string, uri, nullable, required
      - `eligibilityShareBanner` string, uri, nullable, required
      - `claimedShareBannerUrl` string, uri, nullable, required
      - `logo` string, uri, required
      - `coin` string, uri, required
    - `content` object, required
      - `title` string, required
      - `eligibilityShareText` string, nullable, required
      - `faq` object[], required
        - `question` string, required
        - `answer` string, required
        - `placement` 'REGISTRATION' | 'CLAIM', required
      - `helpLinks` object[], required
        - `label` string, required
        - `url` string, required
        - `description` string, nullable, required
    - `socials` object, required
      - `xHandle` string, nullable, required
      - `discordInviteLink` string, nullable, required
      - `blog` string, nullable, required
      - `paragraphHandle` string, nullable, required
    - `legal` object, required
      - `entityName` string, required
      - `termsOfServiceFileUrl` string, nullable, required
    - `token` object, required
      - `symbol` string, required
      - `decimals` number, required
      - `address` string, nullable, required
    - `chain` object, required
      - `id` string, required
      - `externalChainId` string, required
      - `name` string, required
      - `nativeCurrencyName` string, required
      - `nativeCurrencySymbol` string, required
      - `nativeCurrencyDecimals` number, required
      - `publicRpc` string, uri, required
      - `blockExplorerToken` string, uri, required
      - `blockExplorerTx` string, uri, required
      - `testnet` boolean, required
      - `platform` 'EVM' | 'MOVE' | 'SOLANA' | 'OTHER', required
      - `network` string, required
    - `customWalletAdapters` string[], nullable, required
    - `registration` object, nullable, required
      - `maxWallets` number, required
      - `maxSocials` number, required
      - `start` string, required
      - `end` string, required
      - `socialProviders` object, required
      - `humanityCheckProvider` object, nullable, required
        - `type` 'AUTHENA', required
        - `name` string, required
        - `redirectUrl` string, uri, required
      - `notEligibleContent` object, nullable, required
        - `title` string, nullable, required
        - `text` string, required
        - `ctaLabel` string, required
        - `ctaUrl` string, uri, required
      - `eligibleContent` object, nullable, required
        - `title` string, nullable, required
        - `text` string, required
        - `ctaLabel` string, required
        - `ctaUrl` string, uri, required
    - `claim` object, required
      - `start` string, nullable, required
      - `end` string, nullable, required
      - `claimStartMessage` string, nullable, required
      - `nonEligibleContent` object, nullable, required
        - `title` string, nullable, required
        - `text` string, required
        - `ctaLabel` string, required
        - `ctaUrl` string, uri, required
      - `fee` object, nullable, required
        - `amount` string, required: decimal
        - `collectOnce` boolean, required
    - `staking` object, nullable, required
      - `cta` object, required
        - `title` string, nullable, required
        - `text` string, required
        - `ctaLabel` string, required
        - `ctaUrl` string, uri, required
      - `provider` 'EXTERNAL', required
      - `externalStakingPortalUrl` string, uri, nullable, required

## Other responses

- `400`: Client Error
- `500`: Server Error
- `502`: Upstream Error — the portal configuration service could not be reached. Safe to retry.

---

[API](https://skmtc.dev/magna/apis/magna-portal-api.md) - [All operations](https://skmtc.dev/magna/apis/magna-portal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/magna/apis/magna-portal-api/revisions/50f736d73198?raw)
