> ## 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.

# Update Portal

> Update an existing claim portal. Same version-discriminated body as Create Portal.



## OpenAPI

````yaml /apis/admin/openapi.json post /api/external/v1/portals/{id}/update
openapi: 3.1.0
info:
  title: Magna Admin API
  version: 1.0.0
  description: >-
    The private, server-to-server API for managing allocations, funding and
    claims, transactions, portals, and token data. Authenticated with a project
    API key sent in the `x-magna-api-token` header.
servers:
  - url: https://app.magna.so
    description: Production
security:
  - apiToken: []
paths:
  /api/external/v1/portals/{id}/update:
    post:
      tags:
        - Portals
      summary: Update Portal
      description: >-
        Update an existing claim portal. Same version-discriminated body as
        Create Portal.
      operationId: postPortalsByIdUpdate
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type:
              - string
            minLength: 1
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              discriminator:
                propertyName: version
              oneOf:
                - type:
                    - object
                  properties:
                    version:
                      type:
                        - string
                      enum:
                        - V1
                    name:
                      type:
                        - string
                      minLength: 1
                    tokenId:
                      type:
                        - string
                      minLength: 1
                      format: uuid
                    domain:
                      type:
                        - string
                      minLength: 1
                    googleAnalyticsId:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                    auth:
                      type:
                        - object
                        - 'null'
                      properties:
                        magnaApiToken:
                          type:
                            - boolean
                        terminal3:
                          type:
                            - boolean
                        x:
                          type:
                            - boolean
                    claimConfig:
                      type:
                        - object
                        - 'null'
                      properties:
                        startTimestamp:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          format: date-time
                        endTimestamp:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          format: date-time
                        contractId:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          format: uuid
                        claimStartMessage:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                    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
                            - 'null'
                          minLength: 1
                        paymentFiatEnabled:
                          type:
                            - boolean
                        showSocialIconsInFooter:
                          type:
                            - boolean
                        staking:
                          type:
                            - boolean
                        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
                        colors:
                          type:
                            - object
                          properties:
                            accent:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            buttonText:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            mainGradient:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            background:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                        metadata:
                          type:
                            - object
                          properties:
                            title:
                              type:
                                - string
                              minLength: 1
                            description:
                              type:
                                - string
                              minLength: 1
                            companyName:
                              type:
                                - string
                              minLength: 1
                            ogImageUrl:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            faviconUrl:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            websiteUrl:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                    images:
                      type:
                        - object
                      properties:
                        background:
                          type:
                            - object
                            - 'null'
                          properties:
                            url:
                              type:
                                - string
                              minLength: 1
                            width:
                              type:
                                - number
                            height:
                              type:
                                - number
                          required:
                            - url
                            - width
                            - height
                        backgroundMobile:
                          type:
                            - object
                            - 'null'
                          properties:
                            url:
                              type:
                                - string
                              minLength: 1
                            width:
                              type:
                                - number
                            height:
                              type:
                                - number
                          required:
                            - url
                            - width
                            - height
                        logo:
                          type:
                            - object
                            - 'null'
                          properties:
                            url:
                              type:
                                - string
                              minLength: 1
                            width:
                              type:
                                - number
                            height:
                              type:
                                - number
                          required:
                            - url
                            - width
                            - height
                        logoIcon:
                          type:
                            - object
                            - 'null'
                          properties:
                            url:
                              type:
                                - string
                              minLength: 1
                            width:
                              type:
                                - number
                            height:
                              type:
                                - number
                          required:
                            - url
                            - width
                            - height
                        coin:
                          type:
                            - object
                            - 'null'
                          properties:
                            url:
                              type:
                                - string
                              minLength: 1
                            width:
                              type:
                                - number
                            height:
                              type:
                                - number
                          required:
                            - url
                            - width
                            - height
                        moreInfo:
                          type:
                            - object
                            - 'null'
                          properties:
                            url:
                              type:
                                - string
                              minLength: 1
                            width:
                              type:
                                - number
                            height:
                              type:
                                - number
                          required:
                            - url
                            - width
                            - height
                        banner:
                          type:
                            - object
                            - 'null'
                          properties:
                            url:
                              type:
                                - string
                              minLength: 1
                            width:
                              type:
                                - number
                            height:
                              type:
                                - number
                          required:
                            - url
                            - width
                            - height
                    content:
                      type:
                        - object
                      properties:
                        title:
                          type:
                            - object
                          properties:
                            title:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            subtitle:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                        coinInfo:
                          type:
                            - object
                            - 'null'
                          properties:
                            title:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            description:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            readMoreCTA:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            readMoreUrl:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                        projectInfo:
                          type:
                            - object
                          properties:
                            title:
                              type:
                                - string
                              minLength: 1
                            description:
                              type:
                                - string
                              minLength: 1
                            readMoreUrl:
                              type:
                                - string
                              minLength: 1
                          required:
                            - title
                            - description
                        qa:
                          type:
                            - object
                            - 'null'
                          properties:
                            title:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            description:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            questions:
                              type:
                                - array
                              items:
                                type:
                                  - object
                                properties:
                                  question:
                                    type:
                                      - string
                                    minLength: 1
                                  answer:
                                    type:
                                      - string
                                    minLength: 1
                                required:
                                  - question
                                  - answer
                        tags:
                          type:
                            - array
                            - 'null'
                          items:
                            type:
                              - string
                            minLength: 1
                        banner:
                          type:
                            - object
                            - 'null'
                          properties:
                            level:
                              type:
                                - string
                              enum:
                                - info
                                - warning
                                - error
                            content:
                              type:
                                - string
                              minLength: 1
                            position:
                              type:
                                - string
                              enum:
                                - top
                                - middle
                          required:
                            - level
                            - content
                            - position
                        sidebarContent:
                          type:
                            - object
                            - 'null'
                          properties:
                            publicPhaseText:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            whitelistPhaseText:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                        wideHeader:
                          type:
                            - boolean
                        successPage:
                          type:
                            - object
                            - 'null'
                          properties:
                            title:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            subtitle:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            goToUrl:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            learnMoreUrl:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            description:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                        showImportTokenButton:
                          type:
                            - boolean
                        postClaimCTAs:
                          type:
                            - array
                            - 'null'
                          items:
                            type:
                              - object
                            properties:
                              label:
                                type:
                                  - string
                                minLength: 1
                              url:
                                type:
                                  - string
                                minLength: 1
                            required:
                              - label
                              - url
                        postClaimTweet:
                          type:
                            - object
                            - 'null'
                          properties:
                            label:
                              type:
                                - string
                              minLength: 1
                            postBody:
                              type:
                                - string
                              minLength: 1
                          required:
                            - label
                            - postBody
                  required:
                    - version
                    - name
                    - tokenId
                - type:
                    - object
                  properties:
                    version:
                      type:
                        - string
                      enum:
                        - V2
                    name:
                      type:
                        - string
                      minLength: 1
                    tokenId:
                      type:
                        - string
                      minLength: 1
                      format: uuid
                    domain:
                      type:
                        - string
                      minLength: 1
                    googleAnalyticsId:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                    auth:
                      type:
                        - object
                        - 'null'
                      properties:
                        magnaApiToken:
                          type:
                            - boolean
                        terminal3:
                          type:
                            - boolean
                        x:
                          type:
                            - boolean
                    xHandle:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 15
                      pattern: ^[a-zA-Z0-9_]+$
                    blogUrl:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                    discordInviteLink:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                    paragraphHandle:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                    posthogKey:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                    tosMdUrl:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                    enabledWallets:
                      type:
                        - array
                        - 'null'
                      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
                    themeConfig:
                      type:
                        - object
                      properties:
                        font:
                          type:
                            - object
                            - 'null'
                          properties:
                            primary:
                              type:
                                - string
                              minLength: 1
                            secondary:
                              type:
                                - string
                              minLength: 1
                          required:
                            - primary
                            - secondary
                        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
                        homePageContentAlignment:
                          type:
                            - string
                          enum:
                            - LEFT
                            - CENTER
                        buttons:
                          type:
                            - object
                          properties:
                            radius:
                              type:
                                - string
                              enum:
                                - SUBTLE
                                - SOFT
                                - FULL
                            animated:
                              type:
                                - boolean
                          required:
                            - radius
                            - animated
                      required:
                        - colors
                        - homePageContentAlignment
                        - buttons
                    metadata:
                      type:
                        - object
                      properties:
                        title:
                          type:
                            - string
                          minLength: 1
                        description:
                          type:
                            - string
                          minLength: 1
                        faviconUrl:
                          type:
                            - string
                          minLength: 1
                        ogImageUrl:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                      required:
                        - title
                        - description
                        - faviconUrl
                    mediaConfig:
                      type:
                        - object
                      properties:
                        logoUrl:
                          type:
                            - string
                          minLength: 1
                        backgroundUrl:
                          type:
                            - string
                          minLength: 1
                        backgroundUrlType:
                          type:
                            - string
                          enum:
                            - STILL
                            - UNICORN
                        backgroundMusicUrl:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                        eligibilityShareBannerUrl:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          format: uri
                        claimedShareBannerUrl:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          format: uri
                        coinImageUrl:
                          type:
                            - string
                          minLength: 1
                      required:
                        - logoUrl
                        - backgroundUrl
                        - backgroundUrlType
                        - coinImageUrl
                    content:
                      type:
                        - object
                      properties:
                        title:
                          type:
                            - string
                          minLength: 1
                        eligibilityShareText:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                      required:
                        - title
                    claimConfig:
                      type:
                        - object
                        - 'null'
                      properties:
                        startTimestamp:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          format: date-time
                        endTimestamp:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          format: date-time
                        contractId:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          format: uuid
                        claimStartMessage:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                        notEligibleCta:
                          type:
                            - object
                            - 'null'
                          properties:
                            title:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            text:
                              type:
                                - string
                              minLength: 1
                            ctaLabel:
                              type:
                                - string
                              minLength: 1
                            ctaUrl:
                              type:
                                - string
                              minLength: 1
                          required:
                            - text
                            - ctaLabel
                            - ctaUrl
                    registrationConfig:
                      type:
                        - object
                        - 'null'
                      properties:
                        enabled:
                          type:
                            - boolean
                        maxWallets:
                          type:
                            - number
                        maxSocials:
                          type:
                            - number
                        startTimestamp:
                          type:
                            - string
                          minLength: 1
                          format: date-time
                        endTimestamp:
                          type:
                            - string
                          minLength: 1
                          format: date-time
                        notEligibleCta:
                          type:
                            - object
                            - 'null'
                          properties:
                            title:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            text:
                              type:
                                - string
                              minLength: 1
                            ctaLabel:
                              type:
                                - string
                              minLength: 1
                            ctaUrl:
                              type:
                                - string
                              minLength: 1
                          required:
                            - text
                            - ctaLabel
                            - ctaUrl
                        eligibleCta:
                          type:
                            - object
                            - 'null'
                          properties:
                            title:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            text:
                              type:
                                - string
                              minLength: 1
                            ctaLabel:
                              type:
                                - string
                              minLength: 1
                            ctaUrl:
                              type:
                                - string
                              minLength: 1
                          required:
                            - text
                            - ctaLabel
                            - ctaUrl
                      required:
                        - enabled
                        - maxWallets
                        - maxSocials
                        - startTimestamp
                        - endTimestamp
                    stakingConfig:
                      type:
                        - object
                        - 'null'
                      properties:
                        provider:
                          type:
                            - string
                          enum:
                            - EXTERNAL
                        externalStakingPortalUrl:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          format: uri
                        cta:
                          type:
                            - object
                          properties:
                            title:
                              type:
                                - string
                                - 'null'
                              minLength: 1
                            text:
                              type:
                                - string
                              minLength: 1
                            ctaLabel:
                              type:
                                - string
                              minLength: 1
                            ctaUrl:
                              type:
                                - string
                              minLength: 1
                          required:
                            - text
                            - ctaLabel
                            - ctaUrl
                      required:
                        - provider
                        - cta
                    faqs:
                      type:
                        - array
                        - 'null'
                      items:
                        type:
                          - object
                        properties:
                          question:
                            type:
                              - string
                            minLength: 1
                          answer:
                            type:
                              - string
                            minLength: 1
                          placement:
                            type:
                              - string
                            enum:
                              - REGISTRATION
                              - CLAIM
                          sortOrder:
                            type:
                              - number
                        required:
                          - question
                          - answer
                          - placement
                          - sortOrder
                    helpLinks:
                      type:
                        - array
                        - 'null'
                      items:
                        type:
                          - object
                        properties:
                          label:
                            type:
                              - string
                            minLength: 1
                          url:
                            type:
                              - string
                            minLength: 1
                          sortOrder:
                            type:
                              - number
                          description:
                            type:
                              - string
                              - 'null'
                            minLength: 1
                        required:
                          - label
                          - url
                          - sortOrder
                    socialProviders:
                      type:
                        - array
                        - 'null'
                      items:
                        type:
                          - object
                        properties:
                          type:
                            type:
                              - string
                            enum:
                              - X
                              - DISCORD
                          clientId:
                            type:
                              - string
                            minLength: 1
                        required:
                          - type
                          - clientId
                  required:
                    - version
                    - name
                    - tokenId
                    - themeConfig
                    - metadata
                    - mediaConfig
                    - content
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  isProcessed:
                    type: boolean
                  result:
                    description: Endpoint-specific result payload.
              example:
                isProcessed: true
                result:
                  id: po...uuid
                  name: Acme Claim Portal
                  version: V2
                  updatedAt: '2024-04-16T10:00:00.000Z'
        '400':
          description: Validation error
        '401':
          description: Missing or invalid API token
        '403':
          description: API token lacks the required scope or project access
components:
  securitySchemes:
    apiToken:
      type: apiKey
      in: header
      name: x-magna-api-token

````