---
title: "Create customization"
method: POST
path: "/api/sites/multiscreen/{site_name}/ecommerce/customizations"
tags: ["Product customizations API"]
---

# Create customization

`POST /api/sites/multiscreen/{site_name}/ecommerce/customizations`

## Request

- Base URL: `https://api.duda.co`
- URL: `https://api.duda.co/api/sites/multiscreen/{site_name}/ecommerce/customizations`
- Auth: HTTP basic

Creates a new product customization for given catalog

## Path parameters

- `site_name` string, required

## Request body

- CreateCustomization: Request used to create a product customization
  - `button_label` string: Label of the upload button, allowed only for the FILE type
  - `choices` CreateCustomizationChoice[]: Selectable choices, required for the CHECKBOX type
    - `label` string: Choice label displayed to site visitors
    - `price` number: Additional price applied when the choice is selected
    - `quantity_enabled` boolean: Whether site visitors can pick a quantity for this choice
  - `hint` string: Placeholder displayed to site visitors, allowed only for the TEXT type
  - `label` string: Label displayed to site visitors
  - `limitations` CreateCustomizationLimitations: Selection limitations applied to a CHECKBOX customization
    - `max_choices` integer: Maximum number of choices a site visitor may select
    - `min_choices` integer: Minimum number of choices a site visitor must select
  - `mandatory` boolean: Whether site visitors must fill in this customization
  - `price` number: Additional price applied when the customization is used
  - `title` string, required: Internal name used by the store owner to manage the customization
  - `type` 'TEXT' | 'CHECKBOX' | 'FILE', required: Product customization type

## Response `200`

OK

- Customization: Model representing a customization that can be assigned to products to collect input from buyers
  - `button_label` string: Label of the upload button, available only for the FILE type
  - `choices` CustomizationChoice[]: Selectable choices, available only for the CHECKBOX type
    - `id` string: Immutable identifier for referencing
    - `label` string: Choice label displayed to site visitors
    - `price` number: Additional price applied when the choice is selected
    - `quantity_enabled` boolean: Whether site visitors can pick a quantity for this choice
  - `hint` string: Placeholder displayed to site visitors as a pre-filler for the input
  - `id` string: Immutable identifier for referencing
  - `label` string: Label displayed to site visitors
  - `limitations` CustomizationLimitations: Selection limitations applied to a CHECKBOX customization
    - `max_choices` integer: Maximum number of choices a site visitor may select
    - `min_choices` integer: Minimum number of choices a site visitor must select
  - `mandatory` boolean: Whether site visitors must fill in this customization
  - `price` number: Additional price applied when the customization is used
  - `title` string: Internal name used by the store owner to manage the customization
  - `type` 'TEXT' | 'CHECKBOX' | 'FILE': Product customization type

## Other responses

- `400`: Non-OK response from the server
- `401`: Unauthorized request - missing or invalid credentials
- `429`: Rate limit exceeded - please refer to api documentation for limits

---

[API](https://skmtc.dev/duda/apis/duda-partner-api.md) - [All operations](https://skmtc.dev/duda/apis/duda-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/duda/apis/duda-partner-api/revisions/52be4d41cb12?raw)
