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

# Update Styling & SDK Settings

> Updates styling and SDK configuration. The BFF deep-merges what you send with the existing config — only include the sections you want to change. Changes take effect immediately; there is no separate publish step.

<Note>This API is in **Beta**. Endpoints and schemas may change without prior notice.</Note>


## OpenAPI

````yaml openapi/checkout-builder/update-styling-settings.json PATCH /v1/checkouts/builder/settings
openapi: 3.1.0
info:
  title: checkout-builder
  version: 1.0.0
servers:
  - url: https://api.y.uno
security:
  - publicApiKey: []
    privateSecretKey: []
    accountCode: []
paths:
  /v1/checkouts/builder/settings:
    patch:
      summary: Update Styling & SDK Settings
      description: >-
        Updates styling and SDK configuration. The BFF deep-merges what you send
        with the existing config — only include the sections you want to change.
        Changes take effect immediately; there is no separate publish step.
      operationId: patch-builder-settings
      parameters:
        - name: X-Idempotency-Key
          in: header
          description: >-
            Client-generated UUID. Re-sending the same request with the same key
            is safe and will not double-publish.
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                styles:
                  type: object
                  description: >-
                    Visual styles for the checkout SDK. Send {} to leave
                    unchanged.
                  properties:
                    global:
                      type: object
                      description: Global color and font settings applied to every screen.
                      properties:
                        accent_color:
                          type: string
                          description: >-
                            Highlights, focus rings, active states, links.
                            6-char hex.
                          example: '#282A30'
                        primary_background_color:
                          type: string
                          description: Main checkout surface background.
                          example: '#FFFFFF'
                        primary_text_color:
                          type: string
                          description: Body text, headings, input labels.
                          example: '#282A30'
                        primary_button_text_color:
                          type: string
                          description: Text inside the Pay button and primary actions.
                          example: '#FFFFFF'
                        secondary_background_color:
                          type: string
                          description: Cards, info panels, sub-sections.
                          example: '#ECEFF2'
                        secondary_text_color:
                          type: string
                          description: Captions, helper text, secondary labels.
                          example: '#84807F'
                        secondary_button_background_color:
                          type: string
                          description: Background of secondary buttons.
                          example: '#FFFFFF'
                        secondary_button_text_color:
                          type: string
                          description: Text inside secondary buttons.
                          example: '#282A30'
                        font_family:
                          type: string
                          description: >-
                            Font name. Must match a family_name in
                            external_fonts.
                          example: Inter
                    header:
                      type: object
                      description: Header band styles (where the merchant logo sits).
                      properties:
                        logo_border_size:
                          type: number
                          description: Width (px) of the border around the logo.
                          example: 0
                        logo_border_color:
                          type: string
                          description: Color of the logo border.
                          example: '#282A30'
                        logo_corner_radius:
                          type: number
                          description: Corner-radius (px) of the logo container.
                          example: 8
                        font_size:
                          type: number
                          description: Header title text size (px).
                          example: 18
                        font_weight:
                          type: number
                          description: Header title weight. Use multiples of 100 (100–900).
                          example: 700
                    button:
                      type: object
                      description: Styles applied to all SDK buttons.
                      properties:
                        corner_radius:
                          type: number
                          description: Border-radius (px) for all buttons.
                          example: 8
                        border_size:
                          type: number
                          description: Border width (px) on all buttons.
                          example: 0
                        primary_border_color:
                          type: string
                          description: Border color for primary buttons.
                          example: '#282A30'
                        secondary_border_color:
                          type: string
                          description: Border color for secondary buttons.
                          example: '#282A30'
                        font_size:
                          type: number
                          description: Button text size (px).
                          example: 18
                        font_weight:
                          type: number
                          description: Button text weight.
                          example: 400
                settings:
                  type: object
                  description: SDK behavior and UI options. Send {} to leave unchanged.
                  properties:
                    card:
                      type: object
                      description: Card-payment-specific behavior.
                      properties:
                        credit_card_only_processing:
                          type: boolean
                          description: >-
                            Block debit cards — only credit-card transactions
                            accepted.
                          example: false
                        default_network:
                          type: string
                          description: Preferred routing network for dual-network cards.
                          example: DOM
                        enable_ocr:
                          type: boolean
                          description: >-
                            Enable card-number OCR scan on mobile. Ignored on
                            web.
                          example: false
                        enable_payment_retry:
                          type: boolean
                          nullable: true
                          description: >-
                            Auto-retry for failed transactions. null inherits
                            BFF default.
                          example: null
                        save_on_success:
                          type: boolean
                          description: Offer/perform save-card after a successful payment.
                          example: false
                        visualization_mode:
                          type: string
                          description: ONE_STEP (single screen) or STEP_BY_STEP (wizard).
                          enum:
                            - ONE_STEP
                            - STEP_BY_STEP
                          example: ONE_STEP
                    sdk_type:
                      type: object
                      description: >-
                        Top-level SDK rendering type — independent for web and
                        mobile.
                      properties:
                        web:
                          type: string
                          description: >-
                            "SEAMLESS" (embedded in your page) or "FULL"
                            (Yuno-hosted full-page checkout). Switching to FULL
                            may require URL allow-listing on the merchant
                            account — coordinate with your Yuno TAM before
                            changing this value.
                          enum:
                            - SEAMLESS
                            - FULL
                          example: SEAMLESS
                        mobile:
                          type: string
                          description: >-
                            "SEAMLESS" (embedded in your app) or "FULL"
                            (Yuno-presented native checkout). Switching to FULL
                            may require URL allow-listing on the merchant
                            account — coordinate with your Yuno TAM before
                            changing this value.
                          enum:
                            - SEAMLESS
                            - FULL
                          example: SEAMLESS
                    web_sdk:
                      type: object
                      description: Web-SDK-only options. Ignored on mobile.
                      properties:
                        render_mode:
                          type: string
                          description: >-
                            MODAL (overlay) or RENDER (inline into a DOM
                            container).
                          enum:
                            - MODAL
                            - RENDER
                          example: MODAL
                        hide_pay_button:
                          type: boolean
                          description: >-
                            If true, the SDK's Pay button is hidden — your page
                            must call .pay() directly.
                          example: true
                    payment_method_list:
                      type: object
                      description: Controls the payment-method picker.
                      properties:
                        unfolded_display:
                          type: boolean
                          description: >-
                            Render the first method expanded (form visible)
                            instead of collapsed.
                          example: true
                        condensed_checkout_view:
                          type: boolean
                          description: >-
                            Compact list layout — smaller logos, tighter
                            spacing.
                          example: false
                        preselected_payment_method:
                          type: boolean
                          description: Auto-select the first available method on load.
                          example: false
                        edit_payment_method_list:
                          type: boolean
                          description: >-
                            Allow customers to add/remove saved methods from the
                            picker.
                          example: false
                        blik_unfolded_display:
                          type: boolean
                          nullable: true
                          description: >-
                            BLIK-specific override of unfolded_display. null to
                            inherit.
                          example: null
                        moon_active_experience:
                          type: boolean
                          nullable: true
                          description: >-
                            Moon-Active-specific UI variant. Leave null unless
                            explicitly enabled.
                          example: null
                    payment_link:
                      type: object
                      description: Behavior of the hosted Payment Link page.
                      properties:
                        show_result_screen:
                          type: boolean
                          description: >-
                            Show a Yuno-hosted result screen after payment
                            before any merchant redirect.
                          example: false
                    ui:
                      type: object
                      description: Top-level UI toggles.
                      properties:
                        dark_mode:
                          type: boolean
                          description: >-
                            Use the SDK's dark theme. When enabled, custom
                            styles are suppressed.
                          example: false
                        show_secure_payment_tag:
                          type: boolean
                          description: Show the Secured by Yuno footer tag.
                          example: true
                    click_to_pay:
                      type: object
                      nullable: true
                      description: >-
                        Click-to-Pay (EMVCo) integration options. Confirm shape
                        with Yuno BFF team.
                    form:
                      type: object
                      nullable: true
                      description: >-
                        Form-field collection / validation overrides. Confirm
                        shape with Yuno BFF team.
                    google_pay:
                      type: object
                      nullable: true
                      description: >-
                        Google Pay-specific config. Confirm shape with Yuno BFF
                        team.
                    urls:
                      type: object
                      nullable: true
                      description: >-
                        Custom redirect URLs (success / failure / cancel).
                        Confirm shape with Yuno BFF team.
                payment_link_styles:
                  type: object
                  description: >-
                    Visual styles for the hosted Payment Link page. Independent
                    from styles — does not inherit from it.
                  properties:
                    panel:
                      type: object
                      properties:
                        left:
                          type: object
                          properties:
                            logo:
                              type: string
                              nullable: true
                              description: >-
                                Merchant logo for the left panel. HTTPS URL or
                                base64 data: URI. null = no logo.
                            background:
                              type: object
                              properties:
                                color:
                                  type: string
                                  description: Left panel background color.
                                  example: '#ECEFF2'
                    checkbox:
                      type: object
                      properties:
                        color:
                          type: string
                          description: Checkbox active color.
                          example: '#282A30'
                    border:
                      type: object
                      properties:
                        color:
                          type: string
                          description: Input and divider border color.
                          example: '#282A30'
                    radio_button:
                      type: object
                      properties:
                        color:
                          type: string
                          description: Radio button active color.
                          example: '#282A30'
                    button:
                      type: object
                      properties:
                        background:
                          type: object
                          properties:
                            color:
                              type: string
                              description: Primary action button background.
                              example: '#282A30'
                        text:
                          type: object
                          properties:
                            color:
                              type: string
                              description: Primary action button text color.
                              example: '#FFFFFF'
                flags:
                  type: object
                  description: Feature flags.
                  properties:
                    force_default_styles:
                      type: boolean
                      description: >-
                        If true, custom styles are bypassed and the SDK renders
                        with built-in defaults. Stored styles are preserved —
                        set back to false to restore them.
                      example: false
                external_fonts:
                  type: array
                  description: >-
                    Font families available to the SDK. The default catalog
                    includes 18 Yuno-hosted families (17 are constant; the 18th
                    varies by account — run a GET to confirm the full list for
                    your account). Custom entries can be added; they must be
                    HTTPS and CORS-enabled.
                  items:
                    type: object
                    properties:
                      family_name:
                        type: string
                        description: Font family name.
                        example: Inter
                      files:
                        type: array
                        description: One entry per font weight.
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              description: HTTPS URL to the .ttf font file.
                              example: >-
                                https://prod.y.uno/sdk-static-bundles-ms/v1/static/fonts/Inter-Regular.ttf
                            weight:
                              type: integer
                              description: CSS font-weight (100–900).
                              example: 400
            examples:
              Change accent color:
                summary: Change only the accent color
                value:
                  styles:
                    global:
                      accent_color: '#1A73E8'
              Enable dark mode:
                summary: Turn dark mode on
                value:
                  settings:
                    ui:
                      dark_mode: true
              Reset to defaults:
                summary: Reset styling and SDK settings to defaults
                value:
                  styles:
                    global:
                      accent_color: '#282A30'
                      primary_background_color: '#FFFFFF'
                      primary_text_color: '#282A30'
                      primary_button_text_color: '#FFFFFF'
                      secondary_background_color: '#ECEFF2'
                      secondary_text_color: '#84807F'
                      secondary_button_background_color: '#FFFFFF'
                      secondary_button_text_color: '#282A30'
                      font_family: Inter
                    header:
                      logo_border_size: 0
                      logo_border_color: '#282A30'
                      logo_corner_radius: 8
                      font_size: 18
                      font_weight: 700
                    button:
                      corner_radius: 8
                      border_size: 0
                      primary_border_color: '#282A30'
                      secondary_border_color: '#282A30'
                      font_size: 18
                      font_weight: 400
                  settings:
                    card:
                      credit_card_only_processing: false
                      default_network: DOM
                      enable_ocr: false
                      enable_payment_retry: null
                      save_on_success: false
                      visualization_mode: ONE_STEP
                    sdk_type:
                      web: SEAMLESS
                      mobile: SEAMLESS
                    web_sdk:
                      render_mode: MODAL
                      hide_pay_button: true
                    payment_method_list:
                      unfolded_display: true
                      condensed_checkout_view: false
                      preselected_payment_method: false
                      edit_payment_method_list: false
                      blik_unfolded_display: null
                      moon_active_experience: null
                    payment_link:
                      show_result_screen: false
                    ui:
                      dark_mode: false
                      show_secure_payment_tag: true
                    click_to_pay: null
                    form: null
                    google_pay: null
                    urls: null
                  flags:
                    force_default_styles: false
              Reset Payment Link styling to defaults:
                summary: >-
                  Reset only the Payment Link branding to defaults (styles and
                  settings untouched)
                value:
                  styles: {}
                  settings: {}
                  payment_link_styles:
                    panel:
                      left:
                        logo: null
                        background:
                          color: '#ECEFF2'
                    checkbox:
                      color: '#282A30'
                    border:
                      color: '#282A30'
                    radio_button:
                      color: '#282A30'
                    button:
                      background:
                        color: '#282A30'
                      text:
                        color: '#FFFFFF'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Success:
                  value:
                    updated_at: '2026-05-18T14:00:00Z'
              schema:
                type: object
                properties:
                  updated_at:
                    type: string
                    description: Timestamp of the update.
                    example: '2026-05-18T14:00:00Z'
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Bad Request:
                  value:
                    code: INVALID_REQUEST
                    messages:
                      - Invalid request
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: INVALID_REQUEST
                  messages:
                    type: array
                    items:
                      type: string
        '401':
          description: '401'
          content:
            application/json:
              examples:
                Unauthorized:
                  value:
                    code: INVALID_CREDENTIALS
                    messages:
                      - Invalid credentials
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: INVALID_CREDENTIALS
                  messages:
                    type: array
                    items:
                      type: string
        '403':
          description: '403'
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    code: AUTHORIZATION_REQUIRED
                    messages:
                      - The merchant has no authorization to use this API.
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: AUTHORIZATION_REQUIRED
                  messages:
                    type: array
                    items:
                      type: string
      deprecated: false
components:
  securitySchemes:
    publicApiKey:
      type: apiKey
      in: header
      name: PUBLIC-API-KEY
      description: Merchant public API key. Found in Yuno dashboard → Settings → API Keys.
    privateSecretKey:
      type: apiKey
      in: header
      name: PRIVATE-SECRET-KEY
      description: >-
        Merchant private secret key, paired with the public key. Never embed in
        client-side code.
    accountCode:
      type: apiKey
      in: header
      name: X-Account-Code
      description: UUID of the merchant account scope for the request.

````