---
title: "Savemerchanttheme"
method: PUT
path: "/v2/giftcards/merchants/theme"
tags: ["Gift Card Merchants"]
---

# Savemerchanttheme

`PUT /v2/giftcards/merchants/theme`

## Request

- Base URL: `https://api.loyalty.dog`
- URL: `https://api.loyalty.dog/v2/giftcards/merchants/theme`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/loyalty/apis/loyaltydog/docs/v2/giftcards/merchants/theme/put.ts> (a function with typed inputs; its response is checked against the schema)

Validate and persist the authenticated merchant's portal theme.

## Headers

- `X-Eposn-Merchant-Token` string, nullable

## Request body

- GiftCardMerchantTheme: Persisted merchant-facing theme configuration for the EPOSN portal.
  - `presetId` string
  - `primary` string
  - `primaryFg` string
  - `sidebarBg` string
  - `sidebarText` string
  - `sidebarActiveBg` string
  - `sidebarActiveText` string
  - `sidebarBadge` string
  - `background` string
  - `foreground` string
  - `surface` string
  - `border` string
  - `muted` string
  - `logoUrl` string, nullable
  - `logoAlt` string, nullable
  - `fontFamily` string, nullable
  - `borderRadius` 'none' | 'sm' | 'md' | 'lg' | 'full'

## Response `200`

Successful Response

- SaveMerchantThemeResponse
  - `theme` GiftCardMerchantTheme, required: Persisted merchant-facing theme configuration for the EPOSN portal.
    - `presetId` string
    - `primary` string
    - `primaryFg` string
    - `sidebarBg` string
    - `sidebarText` string
    - `sidebarActiveBg` string
    - `sidebarActiveText` string
    - `sidebarBadge` string
    - `background` string
    - `foreground` string
    - `surface` string
    - `border` string
    - `muted` string
    - `logoUrl` string, nullable
    - `logoAlt` string, nullable
    - `fontFamily` string, nullable
    - `borderRadius` 'none' | 'sm' | 'md' | 'lg' | 'full'
  - `validation` object, required
  - `performance` ThemePerformanceReport, required
    - `cssVarChanges` integer, required
    - `hasCustomFont` boolean, required
    - `hasLargeLogo` boolean, required
    - `issues` ThemePerformanceIssue[], required
      - `severity` string, required
      - `code` string, required
      - `message` string, required
      - `estimatedMs` integer, nullable
    - `score` integer, required

## Other responses

- `422`: Theme validation failed

---

[API](https://skmtc.dev/loyalty/apis/loyaltydog.md) - [All operations](https://skmtc.dev/loyalty/apis/loyaltydog/llms.txt) - [OpenAPI document](https://skmtc.dev/loyalty/apis/loyaltydog/revisions/5803242b0551?raw)
