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

# Update theme configuration

> Update the theme and styling configuration.



## OpenAPI

````yaml /openapi/admin.json patch /themes
openapi: 3.1.0
info:
  title: Nudj Admin API
  version: 1.0.0
servers:
  - url: https://{subdomain}.nudj.cx/api/v2/admin
    description: Organization API Server
    variables:
      subdomain:
        description: Your organization's subdomain (required)
        default: your-org
security:
  - ApiToken: []
paths:
  /themes:
    patch:
      tags:
        - Theme
      summary: Update theme configuration
      description: Update the theme and styling configuration.
      operationId: updateTheme
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                themeAssets:
                  type:
                    - object
                    - 'null'
                  properties:
                    light:
                      type:
                        - object
                        - 'null'
                      properties:
                        logo:
                          type:
                            - string
                            - 'null'
                          description: Logo URL for this theme mode
                        navbarLogo:
                          type:
                            - string
                            - 'null'
                          description: Navbar logo URL for this theme mode
                        favicon:
                          type:
                            - string
                            - 'null'
                          description: Favicon URL for this theme mode
                        appleTouchIcon:
                          type:
                            - string
                            - 'null'
                          description: Apple touch icon URL for this theme mode
                      description: Light mode assets
                    dark:
                      type:
                        - object
                        - 'null'
                      properties:
                        logo:
                          type:
                            - string
                            - 'null'
                          description: Logo URL for this theme mode
                        navbarLogo:
                          type:
                            - string
                            - 'null'
                          description: Navbar logo URL for this theme mode
                        favicon:
                          type:
                            - string
                            - 'null'
                          description: Favicon URL for this theme mode
                        appleTouchIcon:
                          type:
                            - string
                            - 'null'
                          description: Apple touch icon URL for this theme mode
                      description: Dark mode assets
                  description: Theme assets configuration
                theme:
                  type: object
                  properties:
                    font:
                      type: object
                      properties:
                        family:
                          type: string
                          description: Font family
                        sizes:
                          type:
                            - object
                            - 'null'
                          properties:
                            xs:
                              type:
                                - string
                                - 'null'
                              description: Extra small font size (e.g., '12px', '0.75rem')
                            sm:
                              type:
                                - string
                                - 'null'
                              description: Small font size (e.g., '14px', '0.875rem')
                            base:
                              type:
                                - string
                                - 'null'
                              description: Base font size (e.g., '16px', '1rem')
                            lg:
                              type:
                                - string
                                - 'null'
                              description: Large font size (e.g., '18px', '1.125rem')
                            xl:
                              type:
                                - string
                                - 'null'
                              description: Extra large font size (e.g., '20px', '1.25rem')
                            2xl:
                              type:
                                - string
                                - 'null'
                              description: 2x large font size (e.g., '24px', '1.5rem')
                            3xl:
                              type:
                                - string
                                - 'null'
                              description: 3x large font size (e.g., '30px', '1.875rem')
                            4xl:
                              type:
                                - string
                                - 'null'
                              description: 4x large font size (e.g., '36px', '2.25rem')
                            5xl:
                              type:
                                - string
                                - 'null'
                              description: 5x large font size (e.g., '48px', '3rem')
                            6xl:
                              type:
                                - string
                                - 'null'
                              description: 6x large font size (e.g., '60px', '3.75rem')
                          description: >-
                            Font size configuration for different text sizes
                            following Tailwind CSS naming convention
                    borderRadius:
                      type: string
                      description: Border radius value
                    colors:
                      type: object
                      properties:
                        light:
                          type: object
                          properties:
                            background:
                              type: string
                              description: Background color
                            card:
                              type: string
                              description: Card background color
                            cardForeground:
                              type: string
                              description: Card text color
                            foreground:
                              type: string
                              description: Text color
                            popover:
                              type: string
                              description: Popover color
                            popoverForeground:
                              type: string
                              description: Popover text color
                            primary:
                              type: string
                              description: Primary color
                            primaryForeground:
                              type: string
                              description: Primary text color
                            secondary:
                              type: string
                              description: Secondary color
                            secondaryForeground:
                              type: string
                              description: Secondary text color
                            muted:
                              type: string
                              description: Muted color
                            mutedForeground:
                              type: string
                              description: Muted text color
                            accent:
                              type: string
                              description: Accent color
                            accentForeground:
                              type: string
                              description: Accent text color
                            destructive:
                              type: string
                              description: Destructive color
                            destructiveForeground:
                              type: string
                              description: Destructive text color
                            border:
                              type: string
                              description: Border color
                            input:
                              type: string
                              description: Input color
                            ring:
                              type: string
                              description: Ring color
                            success:
                              type: string
                              description: Success color
                            successForeground:
                              type: string
                              description: Success text color
                        dark:
                          type: object
                          properties:
                            background:
                              type: string
                              description: Background color
                            card:
                              type: string
                              description: Card background color
                            cardForeground:
                              type: string
                              description: Card text color
                            foreground:
                              type: string
                              description: Text color
                            popover:
                              type: string
                              description: Popover color
                            popoverForeground:
                              type: string
                              description: Popover text color
                            primary:
                              type: string
                              description: Primary color
                            primaryForeground:
                              type: string
                              description: Primary text color
                            secondary:
                              type: string
                              description: Secondary color
                            secondaryForeground:
                              type: string
                              description: Secondary text color
                            muted:
                              type: string
                              description: Muted color
                            mutedForeground:
                              type: string
                              description: Muted text color
                            accent:
                              type: string
                              description: Accent color
                            accentForeground:
                              type: string
                              description: Accent text color
                            destructive:
                              type: string
                              description: Destructive color
                            destructiveForeground:
                              type: string
                              description: Destructive text color
                            border:
                              type: string
                              description: Border color
                            input:
                              type: string
                              description: Input color
                            ring:
                              type: string
                              description: Ring color
                            success:
                              type: string
                              description: Success color
                            successForeground:
                              type: string
                              description: Success text color
                    forcedTheme:
                      type:
                        - string
                        - 'null'
                      enum:
                        - light
                        - dark
                      description: Forces theme to light or dark mode
                    disableCardGradients:
                      type:
                        - boolean
                        - 'null'
                      description: >-
                        Disable gradient on reward card, scheduled challenges
                        card and post card
                    rewardCardVersion:
                      type:
                        - string
                        - 'null'
                      enum:
                        - textual
                        - iconic
                      description: >-
                        Choose which version of the reward card to use. If not
                        specified, the latest version will be used
                    hideCommunityDetailsOnCards:
                      type:
                        - boolean
                        - 'null'
                      description: >-
                        When enabled, hides community details on all cards at
                        org level
                    postCardVersion:
                      type:
                        - string
                        - 'null'
                      pattern: ^v\d+$
                      description: >-
                        Choose which version of the post card to use. If not
                        specified, the latest version will be used
                    achievementCardVersion:
                      type:
                        - string
                        - 'null'
                      pattern: ^v\d+$
                      description: >-
                        Choose which version of the achievement card to use. If
                        not specified, the latest version will be used
                    challengeCardVersion:
                      type:
                        - string
                        - 'null'
                      pattern: ^v\d+$
                      description: >-
                        Choose which version of the challenge card to use. If
                        not specified, the latest version will be used
                    rewardDetailsVersion:
                      type:
                        - string
                        - 'null'
                      enum:
                        - grid
                        - modern
                      description: >-
                        Choose which version of the reward details to use. If
                        not specified, the latest version will be used
                    postDetailsVersion:
                      type:
                        - string
                        - 'null'
                      enum:
                        - grid
                        - modern
                      description: >-
                        Choose which version of the post details to use. If not
                        specified, the latest version will be used
                    achievementDetailsVersion:
                      type:
                        - string
                        - 'null'
                      enum:
                        - grid
                        - modern
                      description: >-
                        Choose which version of the achievement details to use.
                        If not specified, the latest version will be used
                    challengeDetailsVersion:
                      type:
                        - string
                        - 'null'
                      enum:
                        - grid
                        - modern
                      description: >-
                        Choose which version of the challenge details to use. If
                        not specified, the latest version will be used
                    mobileNav:
                      type:
                        - object
                        - 'null'
                      properties:
                        iconOnly:
                          type:
                            - boolean
                            - 'null'
                          description: >-
                            When enabled, shows only icons without text labels
                            in the mobile navigation bar to save space
                        fontSize:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Font size for mobile navigation menu text (e.g.,
                            '14px', '1rem', '0.875rem')
                      description: >-
                        Configuration options for mobile navigation bar
                        appearance and behavior
                    homeButtonOverrideUrl:
                      type:
                        - string
                        - 'null'
                      format: uri
                      description: >-
                        Override the default home button URL. If not specified,
                        the default home button URL will be used.
                    orgLogoOverrideUrl:
                      type:
                        - string
                        - 'null'
                      format: uri
                      description: >-
                        Override the default organization logo URL. If not
                        specified, the default organization logo will be used.
                    icons:
                      type:
                        - object
                        - 'null'
                      additionalProperties:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - lucide
                              - svg
                            description: Type of icon - either Lucide icon or custom SVG
                          value:
                            type: string
                            description: >-
                              Icon value - Lucide icon name (e.g. 'Heart') or
                              custom SVG content
                        required:
                          - type
                          - value
                      description: >-
                        Custom icon mappings to override default platform icons.
                        Each key represents an icon identifier, and the value
                        specifies either a Lucide icon name or custom SVG
                        content
                    backgroundImage:
                      type:
                        - string
                        - 'null'
                      format: uri
                      description: >-
                        Background image URL for the application. Recommended
                        size: 1920x1080px (laptop screen size) or larger for
                        optimal display across devices
              description: The input required to update the style configuration
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StyleConfig'
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.NOT_FOUND'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
components:
  schemas:
    StyleConfig:
      type: object
      properties:
        themeAssets:
          type:
            - object
            - 'null'
          properties:
            light:
              type:
                - object
                - 'null'
              properties:
                logo:
                  type:
                    - string
                    - 'null'
                  description: Logo URL for this theme mode
                navbarLogo:
                  type:
                    - string
                    - 'null'
                  description: Navbar logo URL for this theme mode
                favicon:
                  type:
                    - string
                    - 'null'
                  description: Favicon URL for this theme mode
                appleTouchIcon:
                  type:
                    - string
                    - 'null'
                  description: Apple touch icon URL for this theme mode
              description: Light mode assets
            dark:
              type:
                - object
                - 'null'
              properties:
                logo:
                  type:
                    - string
                    - 'null'
                  description: Logo URL for this theme mode
                navbarLogo:
                  type:
                    - string
                    - 'null'
                  description: Navbar logo URL for this theme mode
                favicon:
                  type:
                    - string
                    - 'null'
                  description: Favicon URL for this theme mode
                appleTouchIcon:
                  type:
                    - string
                    - 'null'
                  description: Apple touch icon URL for this theme mode
              description: Dark mode assets
          description: Theme assets configuration
        theme:
          type:
            - object
            - 'null'
          properties:
            font:
              type:
                - object
                - 'null'
              properties:
                family:
                  type: string
                  description: Font family
                sizes:
                  type:
                    - object
                    - 'null'
                  properties:
                    xs:
                      type:
                        - string
                        - 'null'
                      description: Extra small font size (e.g., '12px', '0.75rem')
                    sm:
                      type:
                        - string
                        - 'null'
                      description: Small font size (e.g., '14px', '0.875rem')
                    base:
                      type:
                        - string
                        - 'null'
                      description: Base font size (e.g., '16px', '1rem')
                    lg:
                      type:
                        - string
                        - 'null'
                      description: Large font size (e.g., '18px', '1.125rem')
                    xl:
                      type:
                        - string
                        - 'null'
                      description: Extra large font size (e.g., '20px', '1.25rem')
                    2xl:
                      type:
                        - string
                        - 'null'
                      description: 2x large font size (e.g., '24px', '1.5rem')
                    3xl:
                      type:
                        - string
                        - 'null'
                      description: 3x large font size (e.g., '30px', '1.875rem')
                    4xl:
                      type:
                        - string
                        - 'null'
                      description: 4x large font size (e.g., '36px', '2.25rem')
                    5xl:
                      type:
                        - string
                        - 'null'
                      description: 5x large font size (e.g., '48px', '3rem')
                    6xl:
                      type:
                        - string
                        - 'null'
                      description: 6x large font size (e.g., '60px', '3.75rem')
                  description: >-
                    Font size configuration for different text sizes following
                    Tailwind CSS naming convention
              required:
                - family
              description: Font configuration
            borderRadius:
              type:
                - string
                - 'null'
              description: Border radius value
            colors:
              type:
                - object
                - 'null'
              properties:
                light:
                  type:
                    - object
                    - 'null'
                  additionalProperties:
                    type: string
                  description: Color values for light mode
                dark:
                  type:
                    - object
                    - 'null'
                  additionalProperties:
                    type: string
                  description: Color values for dark mode
              description: Theme colors configuration
            forcedTheme:
              type:
                - string
                - 'null'
              enum:
                - light
                - dark
              description: Forces theme to light or dark mode
            disableCardGradients:
              type:
                - boolean
                - 'null'
              description: >-
                Disable gradient on reward card, scheduled challenges card and
                post card
            rewardCardVersion:
              type:
                - string
                - 'null'
              enum:
                - textual
                - iconic
              description: >-
                Choose which version of the reward card to use. If not
                specified, the latest version will be used
            hideCommunityDetailsOnCards:
              type:
                - boolean
                - 'null'
              description: When enabled, hides community details on all cards at org level
            postCardVersion:
              type:
                - string
                - 'null'
              pattern: ^v\d+$
              description: >-
                Choose which version of the post card to use. If not specified,
                the latest version will be used
            achievementCardVersion:
              type:
                - string
                - 'null'
              pattern: ^v\d+$
              description: >-
                Choose which version of the achievement card to use. If not
                specified, the latest version will be used
            challengeCardVersion:
              type:
                - string
                - 'null'
              pattern: ^v\d+$
              description: >-
                Choose which version of the challenge card to use. If not
                specified, the latest version will be used
            rewardDetailsVersion:
              type:
                - string
                - 'null'
              enum:
                - grid
                - modern
              description: >-
                Choose which version of the reward details to use. If not
                specified, the latest version will be used
            postDetailsVersion:
              type:
                - string
                - 'null'
              enum:
                - grid
                - modern
              description: >-
                Choose which version of the post details to use. If not
                specified, the latest version will be used
            achievementDetailsVersion:
              type:
                - string
                - 'null'
              enum:
                - grid
                - modern
              description: >-
                Choose which version of the achievement details to use. If not
                specified, the latest version will be used
            challengeDetailsVersion:
              type:
                - string
                - 'null'
              enum:
                - grid
                - modern
              description: >-
                Choose which version of the challenge details to use. If not
                specified, the latest version will be used
            challengeCompleteVersion:
              type:
                - string
                - 'null'
              enum:
                - classic
                - immersive
              description: >-
                Choose which version of the challenge complete screen to use.
                Classic offers a traditional compact layout, while Immersive
                provides a cinematic full-screen experience. If not specified,
                the latest version will be used
            mobileNav:
              type:
                - object
                - 'null'
              properties:
                iconOnly:
                  type:
                    - boolean
                    - 'null'
                  description: >-
                    When enabled, shows only icons without text labels in the
                    mobile navigation bar to save space
                fontSize:
                  type:
                    - string
                    - 'null'
                  description: >-
                    Font size for mobile navigation menu text (e.g., '14px',
                    '1rem', '0.875rem')
              description: >-
                Configuration options for mobile navigation bar appearance and
                behavior
            homeButtonOverrideUrl:
              type:
                - string
                - 'null'
              format: uri
              description: >-
                Override the default home button URL. If not specified, the
                default home button URL will be used.
            orgLogoOverrideUrl:
              type:
                - string
                - 'null'
              format: uri
              description: >-
                Override the default organization logo URL. If not specified,
                the default organization logo will be used.
            icons:
              type:
                - object
                - 'null'
              additionalProperties:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - lucide
                      - svg
                    description: Type of icon - either Lucide icon or custom SVG
                  value:
                    type: string
                    description: >-
                      Icon value - Lucide icon name (e.g. 'Heart') or custom SVG
                      content
                required:
                  - type
                  - value
              description: >-
                Custom icon mappings to override default platform icons. Each
                key represents an icon identifier, and the value specifies
                either a Lucide icon name or custom SVG content
            backgroundImage:
              type:
                - string
                - 'null'
              format: uri
              description: >-
                Background image URL for the application. Recommended size:
                1920x1080px (laptop screen size) or larger for optimal display
                across devices
          description: Theme configuration
      title: Style Configuration
      description: Configuration for UI styling and theming
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Invalid input data
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Error
      description: The error information
      example:
        code: BAD_REQUEST
        message: Invalid input data
        issues: []
    error.NOT_FOUND:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Not found
        code:
          type: string
          description: The error code
          example: NOT_FOUND
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Error
      description: The error information
      example:
        code: NOT_FOUND
        message: Not found
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Error
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: x-api-token

````