Schema for Saleor Configurator YAML configuration files. This defines all available fields, their types, and validation rules for managing Saleor e-commerce store configuration as code.
Tip
For a complete configuration example, see example.yml.
- shop
- channels
- warehouses
- shippingZones
- taxClasses
- productTypes
- pageTypes
- modelTypes
- categories
- collections
- products
- models
- menus
- attributes
Global shop configuration settings that apply across all channels and define store-wide behavior
Type: object (optional)
Properties:
- headerText (
string): Text displayed in the shop header - description (
string): General description of the shop - trackInventoryByDefault (
boolean): Whether new products should track inventory by default - defaultWeightUnit (
string (enum)): Default unit for product weights - automaticFulfillmentDigitalProducts (
boolean): Automatically fulfill digital products upon payment - fulfillmentAutoApprove (
boolean): Automatically approve fulfillments - fulfillmentAllowUnpaid (
boolean): Allow fulfillment of unpaid orders - defaultDigitalMaxDownloads (
number | null): Maximum downloads allowed for digital products - defaultDigitalUrlValidDays (
number | null): Days that download links remain valid - defaultMailSenderName (
string | null): Default name for outgoing emails - defaultMailSenderAddress (
string | null): Default email address for outgoing emails - customerSetPasswordUrl (
string): URL where customers can set their password - reserveStockDurationAnonymousUser (
number | null): Minutes to reserve stock for anonymous users - reserveStockDurationAuthenticatedUser (
number | null): Minutes to reserve stock for authenticated users - limitQuantityPerCheckout (
number): Maximum quantity per checkout - enableAccountConfirmationByEmail (
boolean): Require email confirmation for new accounts - allowLoginWithoutConfirmation (
boolean): Allow login before email confirmation - displayGrossPrices (
boolean): Show prices including taxes
Sales channels define different storefronts or markets with their own currency, country, and settings. Each channel can have different pricing, availability, and configuration
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: Display name of the channel - currencyCode (
string (enum)) required: Currency used for pricing in this channel- Allowed values:
USD,EUR,GBP,JPY,AUD,CAD,CHF,CNY,SEK,NZD,MXN,SGD,HKD,NOK,KRW,TRY,RUB,INR,BRL,ZAR,PLN,CZK,DKK,HUF,ILS,THB,IDR,MYR,PHP,VND,EGP,SAR,AED,NGN,ARS,CLP,COP,PEN,BAM,HRK,RSD
- Allowed values:
- defaultCountry (
string (enum)) required: Default country for shipping and tax calculations- Allowed values:
AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,AU,AW,AX,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BL,BM,BN,BO,BQ,BR,BS,BT,BV,BW,BY,BZ,CA,CC,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CU,CV,CW,CX,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,EH,ER,ES,ET,FI,FJ,FK,FM,FO,FR,GA,GB,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,GY,HK,HM,HN,HR,HT,HU,ID,IE,IL,IM,IN,IO,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PN,PR,PS,PT,PW,PY,QA,RE,RO,RS,RU,RW,SA,SB,SC,SD,SE,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SR,SS,ST,SV,SX,SY,SZ,TC,TD,TF,TG,TH,TJ,TK,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW
- Allowed values:
- slug (
string) required: URL-friendly identifier (used in URLs and API calls) - isActive (
boolean) required: Whether this channel is currently active and accepting orders - settings (
object): Advanced channel configuration options - taxConfiguration (
object): Tax settings specific to this channel
Warehouse definitions with physical locations for storing and fulfilling products. Each warehouse can be assigned to shipping zones and channels for multi-location fulfillment
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: Warehouse.name - slug (
string) required: Warehouse.slug - email (
string): Warehouse.email - isPrivate (
boolean) required: Warehouse.isPrivate - address (
object) required: Warehouse.address - clickAndCollectOption (
string (enum)) required: Warehouse.clickAndCollectOption- Allowed values:
DISABLED|LOCAL|ALL
- Allowed values:
- shippingZones (
array<string>): Warehouse.shippingZones
Shipping zone configurations that define geographical regions, associated warehouses, and available shipping methods with pricing rules
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: ShippingZone.name - description (
string): ShippingZone.description - default (
boolean) required: ShippingZone.default - countries (
array<string (enum)>) required: ShippingZone.countries - warehouses (
array<string>): ShippingZone.warehouses - channels (
array<string>): ShippingZone.channels - shippingMethods (
array<object>): ShippingZone.shippingMethods
Tax class definitions that specify tax rates per country. Tax classes can be assigned to products, product types, and shipping methods to control tax calculation
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: TaxClass.name - Unique identifier for the tax class - countryRates (
array<object>): TaxClass.countries - Tax rates per country for this tax class
Product type templates that define the structure and attributes for groups of similar products. Each product must be assigned to a product type
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: Name of the product type (e.g., 'Book', 'T-Shirt', 'Electronics') - isShippingRequired (
boolean) required: Whether products of this type require shipping (false for digital products) - taxClass (
string): Reference to a tax class name for default tax calculation on products of this type - productAttributes (
array<AttributeInput>): Attributes that apply to the entire product (e.g., Brand, Material) - variantAttributes (
array<AttributeInput>): Attributes that can vary between product variants (e.g., Size, Color)
Page type templates that define the structure and attributes for CMS pages. Useful for creating structured content like blog posts, landing pages, etc
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: Name of the page type (e.g., 'Blog Post', 'Landing Page', 'Help Article') - attributes (
array<AttributeInput>) required: Attributes available for pages of this type (e.g., Author, Published Date, Tags)
Model type templates that define the structure and attributes for content models (renamed from page types). Useful for creating structured content with custom fields
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: ModelType.name - slug (
string): ModelType.slug - attributes (
array<AttributeInput>): ModelType.attributes
Hierarchical product categorization system. Categories can have subcategories and help organize products for navigation and filtering
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: Display name of the category - slug (
string) required: URL-friendly identifier (used in URLs and API calls) - subcategories (
array<object>): Child categories nested under this category
Product collections for grouping and merchandising products. Collections can be published to specific channels and contain curated product lists
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: Collection.name - slug (
string) required: Collection.slug - description (
string): Collection.description - isPublished (
boolean): Collection.isPublished - products (
array<string>): Collection.products - References to product slugs - channelListings (
array<object>): Collection.channelListings - Channel-specific visibility settings
Individual product definitions including variants, attributes, and channel-specific settings like pricing and availability
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: Product name as displayed to customers - slug (
string) required: URL-friendly identifier (used in URLs and API calls) - description (
string): Product description - productType (
string) required: Reference to the product type (must match a productType name) - category (
string) required: Reference to the product category (must match a category slug) - taxClass (
string): Reference to a tax class name - overrides the product type's default tax class - attributes (
object): Product-specific attribute values - channelListings (
array<object>): Channel-specific settings like pricing and availability - media (
array<object>): External media assets associated with the product. Provide an externalUrl for images or videos hosted outside of Saleor - variants (
array<object>) required: Product variants with different SKUs, attributes, or pricing
Content models/pages with structured data based on model types. Models can have custom attributes and content for flexible CMS functionality
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- title (
string) required: Model.title - slug (
string) required: Model.slug - modelType (
string) required: Model.modelType - Reference to model type name - content (
string): Model.content - Page content - isPublished (
boolean): Model.isPublished - publishedAt (
string): Model.publishedAt - attributes (
object): Model.attributes - Attribute values keyed by attribute slug
Navigation menu structures with hierarchical menu items. Menu items can link to categories, collections, pages, or external URLs
Type: array<object> (optional)
Array items:
Each item is of type: object
Item properties:
- name (
string) required: Menu.name - slug (
string) required: Menu.slug - items (
array<object>): Menu.items - Top-level menu items
Unassigned attributes (typically PRODUCT_TYPE) that exist globally but are not assigned to any product type. These will be created/updated without assignment
Type: array<unknown> (optional)
Array items:
Each item is of type: unknown