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

# Get customer portal settings

> Retrieves customer portal configuration settings for the authenticated shop. These settings control the appearance, behavior, and text labels displayed in the customer self-service portal.

**Key Settings Returned:**
- **UI Text Labels**: Button text, form field labels, messages, tooltips
- **Feature Toggles**: Enable/disable portal features (shipping address edit, pause/resume, etc.)
- **Branding**: Custom HTML for header/footer, date formats, localization
- **Cancellation Controls**: Minimum days before cancellation, retention discounts
- **Address Management**: Shipping address field labels and configurations
- **Discount Display**: Discount note titles and descriptions for different cycles
- **Product Management**: Add product labels, variant change text, quantity controls
- **Order Management**: Order history labels, fulfillment status text
- **Pause/Resume**: Pause badge text, resume subscription messages
- **Rewards Integration**: Rewards text and points display labels

**Common Use Cases:**
- Retrieve portal settings for display in custom integrations
- Sync portal configuration with external systems
- Build custom customer portal interfaces using API-driven configuration
- Validate current portal settings programmatically
- Implement multi-language support by fetching localized labels

**Authentication:** Requires API key authentication via X-API-Key header or api_key parameter



## OpenAPI

````yaml /memberships/admin-api-swagger.json get /api/external/v2/customer-portal-settings/{id}
openapi: 3.0.1
info:
  description: >-
    Comprehensive API documentation for managing memberships, payments, and
    related operations. These APIs allow you to programmatically manage
    membership lifecycles, handle payments, configure products, and integrate
    membership functionality into your applications.
  title: Admin APIs
  version: 0.0.1
servers:
  - url: https://membership-admin.appstle.com
security: []
tags:
  - description: >-
      APIs for managing Shopify delivery profiles, shipping rates, zones, and
      free shipping configuration for subscription memberships
    name: Shipping & Delivery Profiles
  - description: >-
      APIs for retrieving historical discount code usage and redemption
      information for membership contracts
    name: Customer Discount History
  - description: >-
      APIs for managing membership cancellation flow settings including
      retention offers, survey questions, and cancel confirmation screens
    name: Cancellation Flow Configuration
  - description: >-
      APIs for managing membership billing attempts, recurring orders, payment
      retries, order history, and order skipping
    name: Billing & Orders
  - description: >-
      APIs for managing one-time product additions to upcoming subscription
      orders, including adding, retrieving, and removing one-off items
    name: One-Time Add-Ons
  - description: >-
      APIs for managing membership/subscription plan groups, including creating
      plans, configuring discounts, billing intervals, and assigning products to
      plans
    name: Membership Plans
  - description: >-
      APIs for managing subscription product bundles, bundle configurations,
      item grouping, and bundle-specific discount codes
    name: Product Bundles
  - description: >-
      APIs for retrieving custom CSS styles applied to subscription widgets and
      customer portal for theme customization
    name: Custom CSS Styling
  - description: >-
      APIs for managing customer portal settings including UI customization,
      text labels, feature toggles, and branding options for the member
      self-service portal
    name: Customer Portal Configuration
  - description: >-
      APIs for managing membership/subscription contracts including creation,
      updates, status changes, line items, discounts, and billing operations
    name: Membership Contracts
  - description: >-
      APIs for managing subscription bundle configuration settings including
      bundle behavior, pricing rules, and display options
    name: Bundle Settings
  - description: >-
      APIs for managing customer payment methods, payment tokens, and payment
      method retrieval for subscriptions
    name: Customer Payment Methods
  - description: >-
      APIs for retrieving product swap/substitution options allowing members to
      exchange subscription items based on configured swap rules and variant
      groups
    name: Product Swap Rules
  - description: >-
      APIs for retrieving product catalog, variants, pricing, and inventory
      information for subscription memberships.
    name: Product & Inventory Data
  - description: >-
      APIs for managing shop-level membership settings, configuration, and
      general store information.
    name: Shop Settings
  - description: >-
      APIs for performing bulk/mass operations on multiple membership contracts
      including status updates, product replacements, and billing date changes.
    name: Bulk Operations
paths:
  /api/external/v2/customer-portal-settings/{id}:
    get:
      tags:
        - Customer Portal Configuration
      summary: Get customer portal settings
      description: >-
        Retrieves customer portal configuration settings for the authenticated
        shop. These settings control the appearance, behavior, and text labels
        displayed in the customer self-service portal.


        **Key Settings Returned:**

        - **UI Text Labels**: Button text, form field labels, messages, tooltips

        - **Feature Toggles**: Enable/disable portal features (shipping address
        edit, pause/resume, etc.)

        - **Branding**: Custom HTML for header/footer, date formats,
        localization

        - **Cancellation Controls**: Minimum days before cancellation, retention
        discounts

        - **Address Management**: Shipping address field labels and
        configurations

        - **Discount Display**: Discount note titles and descriptions for
        different cycles

        - **Product Management**: Add product labels, variant change text,
        quantity controls

        - **Order Management**: Order history labels, fulfillment status text

        - **Pause/Resume**: Pause badge text, resume subscription messages

        - **Rewards Integration**: Rewards text and points display labels


        **Common Use Cases:**

        - Retrieve portal settings for display in custom integrations

        - Sync portal configuration with external systems

        - Build custom customer portal interfaces using API-driven configuration

        - Validate current portal settings programmatically

        - Implement multi-language support by fetching localized labels


        **Authentication:** Requires API key authentication via X-API-Key header
        or api_key parameter
      operationId: getCustomerPortalSettingsV2
      parameters:
        - description: Shop identifier (typically shop domain)
          example: mystore.myshopify.com
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: API Key (Deprecated - Use Header X-API-Key instead)
          in: query
          name: api_key
          required: false
          schema:
            type: string
        - description: >-
            API Key for authentication (Preferred method - use this instead of
            api_key parameter)
          in: header
          name: X-API-Key
          required: false
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPortalSettingsDTO'
          description: Customer portal settings successfully retrieved
        '401':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CustomerPortalSettingsDTO'
          description: Authentication required - invalid or missing API key
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CustomerPortalSettingsDTO'
          description: Customer portal settings not found for shop
components:
  schemas:
    CustomerPortalSettingsDTO:
      properties:
        acceptBtnText:
          type: string
        activeBadgeText:
          type: string
        addAdditionalProduct:
          type: boolean
        addNewButtonText:
          type: string
        addOneTimeProduct:
          type: boolean
        addProductButtonText:
          type: string
        addProductFinishedMessageText:
          type: string
        addProductLabelText:
          type: string
        addProductOnlyForSameProductVariant:
          type: boolean
        addToSubscriptionTitleCP:
          type: string
        additionalFeedbackLabel:
          type: string
        address1LabelText:
          type: string
        address2LabelText:
          type: string
        addressHeaderTitleText:
          type: string
        afterCycleDiscountNoteDescription:
          type: string
        allowCancellationBeforeDays:
          type: string
        amountLbl:
          type: string
        applySubscriptionDiscount:
          type: boolean
        attributeHeadingText:
          type: string
        attributeNameLabelText:
          type: string
        attributeValue:
          type: string
        backToAccountLabel:
          type: string
        bottomHtml:
          type: string
        cancelAccordionTitle:
          type: string
        cancelButtonText:
          type: string
        cancelChangeOrderBtnText:
          type: string
        cancelEditShippingButtonText:
          type: string
        cancelFreqBtnText:
          type: string
        cancelPendingDowngradeBtnText:
          type: string
        cancelPendingDowngradeText:
          type: string
        cancelPendingUpgradeBtnText:
          type: string
        cancelPendingUpgradeText:
          type: string
        cancelSub:
          type: boolean
        cancelSubscriptionBtnText:
          type: string
        cancelSubscriptionConfirmPayAsYouGoText:
          type: string
        cancelSubscriptionConfirmPrepaidText:
          type: string
        cancelSubscriptionMinimumBillingIterationsMessage:
          type: string
        cancelSubscriptionPayAsYouGoButtonText:
          type: string
        cancelSubscriptionPrepaidButtonText:
          type: string
        cancellationFeedbackLabelText:
          type: string
        cancellationReasonLabelText:
          type: string
        cancellationSecurityModalMessage:
          type: string
        cancellationSecurityModalTitle:
          type: string
        cancelledOnLabelText:
          type: string
        cardExpiryText:
          type: string
        cardHolderNameText:
          type: string
        cardLastFourDigitText:
          type: string
        cardTypeText:
          type: string
        changeNextOrderDate:
          type: boolean
        changeOrderFrequency:
          type: boolean
        changeShippingAddressFlag:
          type: boolean
        changeVariantLabelText:
          type: string
        chooseAnotherPaymentMethodText:
          type: string
        choosePurchaseOptionLabelText:
          type: string
        cityLabelText:
          type: string
        clickHereText:
          type: string
        closeBadgeText:
          type: string
        closeBtnText:
          type: string
        closeButtonLabel:
          type: string
        companyLabelText:
          type: string
        conformationPopupForCancellationDiscountText:
          type: string
        continueButtonLabel:
          type: string
        contractErrorMessageText:
          type: string
        contractUpdateMessageText:
          type: string
        countryCodeLabelText:
          type: string
        countryLabelText:
          type: string
        createAdditionalOrder:
          type: boolean
        creditCardText:
          type: string
        currentMembershipPlanText:
          type: string
        currentMembershipText:
          type: string
        customerIdText:
          type: string
        customerPortalSettingJson:
          type: string
        dateFormat:
          type: string
        dayText:
          type: string
        daysLabelText:
          type: string
        deleteButtonText:
          type: string
        deleteConfirmationMsgText:
          type: string
        deleteMsgText:
          type: string
        deleteProductFlag:
          type: boolean
        deliverLabelText:
          type: string
        deliveryFrequencyLabelText:
          type: string
        deliveryPriceText:
          type: string
        descriptionLength:
          type: string
        discountCode:
          type: boolean
        discountCodeApplyButtonText:
          type: string
        discountCodeText:
          type: string
        discountCouponAppliedText:
          type: string
        discountMessageOnCancellation:
          type: string
        discountNoteTitle:
          type: string
        discountRecurringCycleLimitOnCancellation:
          format: int32
          type: integer
        downgradeBadgeText:
          type: string
        downgradeMembershipLabel:
          type: string
        editChangeOrderBtnText:
          type: string
        editFrequencyBtnText:
          type: string
        editProductButtonText:
          type: string
        editProductFlag:
          type: boolean
        editQuantityLabelText:
          type: string
        editShippingModalLabel:
          type: string
        enableMembershipHistory:
          type: boolean
        enableRedirectMyAccountButton:
          type: boolean
        enableResendMagicLink:
          type: boolean
        enableShowProductDescription:
          type: boolean
        enableViewAttributes:
          type: boolean
        endingWithText:
          type: string
        errorText:
          type: string
        everyLabelText:
          type: string
        expiredTokenText:
          type: string
        failureStatusText:
          type: string
        finishLabelText:
          type: string
        firstNameLabelText:
          type: string
        freezeOrderTillMinCycle:
          type: boolean
        freezeUpdateSubscriptionMessage:
          type: string
        fulfilledText:
          type: string
        goBackButtonText:
          type: string
        goBackRedirectLink:
          type: string
        helloNameText:
          type: string
        hideDetailsText:
          type: string
        historyLabelText:
          type: string
        id:
          format: int64
          type: integer
        includeOutOfStockProduct:
          type: boolean
        initialDiscountNoteDescription:
          type: string
        lastAttemptDateLabelText:
          type: string
        lastBillingAttemptFailedText:
          type: string
        lastNameLabelText:
          type: string
        loadMoreProductsText:
          type: string
        loadingProductsText:
          type: string
        localeDate:
          type: string
        manageBtnText:
          type: string
        manageSubscriptionButtonText:
          type: string
        membershipExpireDescription:
          type: string
        membershipExpireText:
          type: string
        membershipPerksDetailsText:
          type: string
        membershipSwap:
          enum:
            - UPGRADE_ONLY
            - DOWNGRADE_ONLY
            - UPGRADE_AND_DOWNGRADE
            - NONE
          type: string
        missedBillingAlertText:
          type: string
        monthText:
          type: string
        monthsLabelText:
          type: string
        newPlanText:
          type: string
        nextBtnText:
          type: string
        nextDeliveryDate:
          type: string
        nextOrderDateLbl:
          type: string
        nextOrderText:
          type: string
        noBtnText:
          type: string
        noPaymentMethodFoundText:
          type: string
        noProductsAvailableText:
          type: string
        noSubscriptionMessage:
          type: string
        oneTimePurchaseDisplayMessageText:
          type: string
        oneTimePurchaseMessageText:
          type: string
        oneTimePurchaseNoteText:
          type: string
        oneTimePurchaseTitleCP:
          type: string
        openBadgeText:
          type: string
        orderDateLabelText:
          type: string
        orderFrequencyText:
          type: string
        orderNoLabelText:
          type: string
        orderNoLbl:
          type: string
        orderNoteFlag:
          type: boolean
        orderNoteText:
          type: string
        pauseBadgeText:
          type: string
        pauseMembershipLabel:
          type: string
        pauseMembershipMessageText:
          type: string
        pauseResumeSub:
          type: boolean
        pauseSubscriptionText:
          type: string
        paymentDetailAccordionTitle:
          type: string
        paymentInfoText:
          type: string
        paymentMethodTypeText:
          type: string
        paymentNotificationText:
          type: string
        pendingDowngradeTitleText:
          type: string
        phoneLabelText:
          type: string
        pleaseWaitLoaderText:
          type: string
        portalLoginLinkText:
          type: string
        preventCancellationBeforeDays:
          type: string
        preventCancellationBeforeDaysMessage:
          type: string
        previousBtnText:
          type: string
        productAddMessageText:
          type: string
        productConfirmationButtonLabel:
          type: string
        productInSubscriptionText:
          type: string
        productLabelText:
          type: string
        productRemovedTooltip:
          type: string
        productReplaceWarningText:
          type: string
        productSelectionOption:
          enum:
            - ALL_PRODUCTS
            - PRODUCTS_FROM_ALL_PLANS
            - PRODUCTS_FROM_CURRENT_PLAN
          type: string
        provinceCodeLabelText:
          type: string
        provinceLabelText:
          type: string
        purchaseOptionLabelText:
          type: string
        quantityLbl:
          type: string
        queueBadgeText:
          type: string
        redeemRewardsText:
          type: string
        removeButtonText:
          type: string
        removedTagOnFreeTrial:
          type: string
        resumeMembershipLabel:
          type: string
        resumeSub:
          type: boolean
        resumeSubscriptionDescriptionText:
          type: string
        resumeSubscriptionText:
          type: string
        retrieveMagicLinkDescription:
          type: string
        retrieveMagicLinkText:
          type: string
        rewardsText:
          type: string
        samePriceText:
          type: string
        saveButtonLabel:
          type: string
        scheduleDowngradeText:
          type: string
        scheduleUpgradeText:
          type: string
        seeMoreDetailsText:
          type: string
        seeMoreProductBtnText:
          type: string
        selectCancellationReasonLabelText:
          type: string
        selectDeliveryMethodLabel:
          type: string
        selectNewPlanText:
          type: string
        selectProductLabelText:
          type: string
        sendEmailTextV2:
          type: string
        shippingAddressLabel:
          type: string
        shippingLabelText:
          type: string
        shippingMethodLabel:
          type: string
        shippingOptionText:
          type: string
        shop:
          type: string
        showShipment:
          type: boolean
        showUpcomingOrdersLabel:
          type: string
        skipBadgeText:
          type: string
        skipFirstPage:
          type: boolean
        skipOrderButtonText:
          type: string
        statusLbl:
          type: string
        statusText:
          type: string
        subTotalLabelText:
          type: string
        subscriptionActivatedMessageText:
          type: string
        subscriptionDiscount:
          format: double
          type: number
        subscriptionDiscountTypeUnit:
          enum:
            - PERCENTAGE
            - AMOUNT
          type: string
        subscriptionNoText:
          type: string
        subscriptionPausedMessageText:
          type: string
        subtotalLabel:
          type: string
        successStatusText:
          type: string
        successText:
          type: string
        topHtml:
          type: string
        totalPricePerDeliveryText:
          type: string
        totalProductsText:
          type: string
        translationUpdateRequest:
          $ref: '#/components/schemas/TranslationUpdateRequest'
        unableToUpdateSubscriptionStatusMessageText:
          type: string
        upSellMessage:
          type: string
        upcomingFulfillmentText:
          type: string
        upcomingOrderAccordionTitle:
          type: string
        upcomingOrderChangePopupFailureClosebtnText:
          type: string
        upcomingOrderChangePopupFailureDescriptionText:
          type: string
        upcomingOrderChangePopupFailureTitleText:
          type: string
        upcomingOrderChangePopupSuccessClosebtnText:
          type: string
        upcomingOrderChangePopupSuccessDescriptionText:
          type: string
        upcomingOrderChangePopupSuccessTitleText:
          type: string
        updateButtonText:
          type: string
        updateChangeOrderBtnText:
          type: string
        updateEditShippingButtonText:
          type: string
        updateFreqBtnText:
          type: string
        updatePaymentBtnText:
          type: string
        updatePaymentMessage:
          type: string
        updateShipmentBillingDate:
          type: boolean
        upgradeBadgeText:
          type: string
        useUrlWithCustomerId:
          type: boolean
        viewAttributeLabelText:
          type: string
        weekText:
          type: string
        weeksLabelText:
          type: string
        welcomeText:
          type: string
        yearText:
          type: string
        yearsLabelText:
          type: string
        yesBtnText:
          type: string
        yourAvailableRewardsPointsText:
          type: string
        yourRewardsText:
          type: string
        zipLabelText:
          type: string
      required:
        - amountLbl
        - cancelAccordionTitle
        - cancelFreqBtnText
        - cancelSubscriptionBtnText
        - cardExpiryText
        - cardHolderNameText
        - cardLastFourDigitText
        - cardTypeText
        - editFrequencyBtnText
        - nextOrderDateLbl
        - nextOrderText
        - noSubscriptionMessage
        - orderFrequencyText
        - orderNoLbl
        - paymentDetailAccordionTitle
        - paymentInfoText
        - paymentMethodTypeText
        - quantityLbl
        - shop
        - statusLbl
        - statusText
        - subscriptionNoText
        - totalProductsText
        - upcomingOrderAccordionTitle
        - updateFreqBtnText
        - updatePaymentBtnText
        - updatePaymentMessage
      type: object
    TranslationUpdateRequest:
      properties:
        id:
          format: int64
          type: integer
        labelType:
          enum:
            - WIDGET_LABEL
            - CUSTOMER_PORTAL_LABEL
          type: string
        value:
          type: string
      type: object

````