openapi: 3.0.0 info: title: Site Settings Service version: '' description: |- Sites are used as virtual entities within a tenant. They can represent a web store, a physical store, a branded store or a store for a specific market. contact: email: documentation@emporix.com servers: - url: 'https://api.emporix.io' paths: '/site/{tenant}/sites': parameters: - $ref: '#/components/parameters/tenant' get: summary: Retrieving sites tags: - Site settings responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/SiteDto' examples: Response example: value: - code: main name: United States active: true defaultLanguage: en languages: - ar - en - fr - de currency: USD availableCurrencies: - EUR - GBP - USD - THB - RUB - SAR homeBase: address: street: Broadway streetNumber: '1500' zipCode: '10036' city: New York country: US state: NY location: latitude: 40.7568658044745 longitude: -73.9858713458565 shipToCountries: - US assistedBuying: storefrontUrl: '' metadata: mixins: productSettings: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/productSettingsSiteMixIn.v1' generalShopSettings: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/generalShopSettingsSiteMixIn.v10' customerSettings: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/customerSettingsSiteMixIn.v3' orderProcessSettings: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/orderProcessSettingsSiteMixIn.v7' couponSettings: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/couponSettingsSiteMixIn.v4' feeService: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/siteFeeService.json' imageSize: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/imageSize.v6' merchantInfo: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/merchantAddressMixin.v10' version: 14 default: true headers: X-Count: schema: type: integer description: Total number of sites that fulfill the criteria. '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' operationId: GET-site-settings-list-site-configurations description: |- Retrieves a list of site configurations. *** ### Additional scopes info * The `site.site_manage` scope is only required if you want to retrieve inactive sites. security: - OAuth2: [] parameters: - $ref: '#/components/parameters/totalCount' - $ref: '#/components/parameters/includeInactiveSites' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/pageNumber' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/q_parameter' - $ref: '#/components/parameters/expand' post: summary: Creating a site operationId: POST-site-settings-create-site responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ResourceLocation' example: Response example: value: id: mixin '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' security: - OAuth2: - site.site_manage description: |- Creates a new site configuration. requestBody: content: application/json: schema: $ref: '#/components/schemas/SiteDto' examples: Create site: value: code: test2 name: postmanTestSiteName active: false default: false defaultLanguage: en languages: - en currency: GBP homeBase: address: country: GB zipCode: '12345' shipToCountries: - GB mixins: {} metadata: {} description: '' parameters: [] tags: - Site settings '/site/{tenant}/sites/{siteCode}': parameters: - $ref: '#/components/parameters/tenant' - $ref: '#/components/parameters/siteCode' get: summary: Retrieving a site tags: - Site settings responses: '200': $ref: '#/components/responses/200_get_site' '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' '404': $ref: '#/components/responses/404_siteNotFound' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' operationId: GET-site-settings-retrieve-site-config description: |- Retrieves a specified site configuration. **Note:** The `site.site_manage` scope is only required if you want to retrieve an inactive site. security: - OAuth2: [] parameters: - $ref: '#/components/parameters/expand' put: summary: Fully updating a site operationId: PUT-site-settings-update-site-config responses: '200': description: The request was successful. The services configuration has been updated. '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' '404': $ref: '#/components/responses/404_siteNotFound' '409': description: Conflict '500': description: Internal Server Error description: |- Fully updates a specified site configuration. You can also use this endpoint to update the configuration of the following services: * `payment` * `shipping` * `tax` **Note**: To update an inactive service configuration, you need to use the `expand` query parameter. security: - OAuth2: - site.site_manage requestBody: content: application/json: schema: $ref: '#/components/schemas/SiteDto' examples: Update site: value: name: test active: true default: false defaultLanguage: de languages: - en - de currency: EUR homeBase: address: country: GB zipCode: '12345' shipToCountries: - GB mixins: {} metadata: {} description: '' parameters: - $ref: '#/components/parameters/expand' tags: - Site settings delete: summary: Deleting a site operationId: DELETE-site-settings-remove-site responses: '204': description: The request was successful. The site has been deleted. '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' '404': $ref: '#/components/responses/404_siteNotFound' '500': description: Internal Server Error description: |- Deletes a specified site. **Important**: You cannot delete a site for which the `default` property is set to `true`. security: - OAuth2: - site.site_manage tags: - Site settings patch: summary: Partially updating a site operationId: PATCH-site-settings-update-site responses: '200': description: The request was successful. The site has been updated. '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' '404': $ref: '#/components/responses/404_siteNotFound' '409': description: Conflict '500': description: Internal Server Error description: |- Partially updates a specified site configuration. requestBody: content: application/json: schema: $ref: '#/components/schemas/SiteDto' examples: Patch Site: value: defaultLanguage: en Adding and modifying mixin: value: metadata: mixins: exampleMixin: 'https://res.cloudinary.com/saas-ag/raw/upload/v1764338354/emporix-docs/test3_v1.json' mixins: exampleMixin: field3: value3 security: - OAuth2: - site.site_manage tags: - Site settings '/site/{tenant}/siteslist': parameters: - $ref: '#/components/parameters/tenant' get: summary: Retrieving site codes tags: - Site settings responses: '200': description: OK headers: X-Count: schema: type: string description: Total number of sites that fulfill the criteria. content: application/json: schema: type: array items: type: string examples: Response example: value: - UK - FR - main - DE - US '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' operationId: GET-site-settings-list-site-codes parameters: - $ref: '#/components/parameters/includeInactiveSites' - $ref: '#/components/parameters/pageNumber' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/q_parameter' - $ref: '#/components/parameters/totalCount' - $ref: '#/components/parameters/expandWithMixins' description: |- Retrieves a list of site codes. *** ### Additional scopes info * The `site.site_manage` scope is only required if you want to retrieve inactive sites. security: - OAuth2: - site.site_read - site.site_manage '/site/{tenant}/sites/{siteCode}/mixins': parameters: - $ref: '#/components/parameters/tenant' - $ref: '#/components/parameters/siteCode' get: summary: Retrieving site mixins tags: - Mixins responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Mixins' examples: Response example: value: couponSettings: rewardpoints: codePrefix: T orderValueToRewardPointsFactor: 1 enabled: true validityInMonths: 2 codePrefix: ED length: 3 referral: codePrefix: E redemptionCodeValue: 8 value: 8 orderValueToRewardPointsFactor: 1 sendReferralCoupon: true metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/couponSettingsSiteMixIn.v4' merchantInfo: merchantName: Emporix metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/merchantAddressMixin.v10' customerSettings: regExSettings: mail: '^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$' phone: '^[0-9\+][0-9]{7,}$' password: '.{6,}' bic: '^((.{8})|(.{11}))$' accountOwner: '^[a-zA-Z0-9'':?,()\-. +/ÄäÜüÖöß&]{0,70}$' metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/customerSettingsSiteMixIn.v3' imageSize: productTileSizes: default: 214x160 productDetailSizes: mobile: 347x261 tablet: 290x218 desktop: 490x367 basketLineItemImage: mobile: 40x30 tablet: 47x35 desktop: 60x45 default: 60x45 imageSlider: desktop: 1473x491 tablet: 960x320 mobile: 379x133 metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/imageSize.v6' feeService: serviceUrl: 'https://api.emporix.io/fee' active: true metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/siteFeeService.json' orderProcessSettings: checkoutSettings: minimumOrderValue: 20 lastPossibleOrderTime: 8 lastPossibleOrderTimeDateShift: -1 minOrderAge: 18 maxOrderAge: 100 minDeliveryTimeSpan: 2 cutOffTimeValidationEnabled: false checkoutElements: onPickup: showPackingOptions: false onDelivery: showPackingOptions: true deliveryTimeToMethodSettings: '1': 1-2_hours_timeframe '3': 3_hours_timeframe '4': 4-more_hours_timeframe '10': 4-more_hours_timeframe paymentSettings: paymentByInvoice: true paymentByDebit: false paymentByCash: true paymentByCredit: false pickup: false pickupTimeToMethodSettings: '1': pickup paymentSettingsB2B: paymentByInvoice: true paymentByDebit: true paymentByCash: false paymentByCredit: false paymentSettingsB2C: paymentByInvoice: true paymentByDebit: true paymentByCash: false paymentByCredit: false metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/orderProcessSettingsSiteMixIn.v7' generalShopSettings: footerLogoUrl: saas-storefront/images/tenant/tenant_logo.png confirmationPageImageUrl: saas-storefront/images/misc/Example_neutral_700.png placeholderLogo: saas-storefront/images/example/example_placeholder.png baseStyleUrl: 'https://example.com/saas-storefront' duzen: true primaryColor: '#fff' shopCountry: code: DE brandName: Example Demo facebookUrl: 'https://www.facebook.com/' backgroundColor: '#fff' logoUrl: 'https://res.cloudinary.com/saas-ag/image/upload/v1528267395/example/example_logo.png' clientGroup: example trustedShopCode: none regionName: Stuttgart zoneId: Europe/Berlin metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/generalShopSettingsSiteMixIn.v10' productSettings: serviceOptionsConfiguration: cuttingOptions: - id: small displayText: Dünn geschnitten - id: medium displayText: Mittel geschnitten - id: thick displayText: Dick geschnitten - id: atAStretch displayText: Am Stück - id: sliced displayText: Geschnitten - id: slice_100GRM displayText: Scheibe (ca. 100 g) - id: slice_120GRM displayText: Scheibe (ca. 120 g) - id: slice_140GRM displayText: Scheibe (ca. 140 g) - id: slice_160GRM displayText: Scheibe (ca. 160 g) - id: slice_180GRM displayText: Scheibe (ca. 180 g) - id: slice_200GRM displayText: Scheibe (ca. 200 g) - id: slice_220GRM displayText: Scheibe (ca. 220 g) - id: slice_240GRM displayText: Scheibe (ca. 240 g) - id: slice_260GRM displayText: Scheibe (ca. 260 g) - id: flimsy displayText: Hauchdünn - id: cubed displayText: Würfel - id: stripCutted displayText: Geschnezelt - id: slice_50MMT displayText: 'Scheibe (ca. 0,5 cm)' - id: slice_1CMT displayText: Scheibe (ca. 1 cm) - id: slice_2CMT displayText: Scheibe (ca. 2 cm) - id: slice_3CMT displayText: Scheibe (ca. 3 cm) - id: unseasoned displayText: Ungewürzt - id: seasoned displayText: Gewürzt - id: bbqSeasoned displayText: Grillgewürz - id: winemakerSeasoned displayText: Weinbauerngewürz - id: marinadeAvignon displayText: Marinade Avignon - id: marinadeBBQ displayText: Marinade Barbecue - id: marinadeWildGarlic displayText: Marinade Bärlauch - id: marinadeCafeParis displayText: Marinade Café de Paris - id: marinadeClassic displayText: Marinade Classic - id: marinadeCurry displayText: Marinade Curry - id: marinadeHotChili displayText: Marinade Hot Chili - id: marinadeItalia displayText: Marinade Italia - id: marinadeCaribbean displayText: Marinade Karibik - id: marinadeLasVegas displayText: Marinade Las Vegas - id: marinadeTexas displayText: Marinade Texas - id: marinadePaprika displayText: Marinade Paprika - id: marinadeAnanas displayText: Marinade Ananas editing: false - id: loafWhole displayText: Ganzer Laib - id: loafHalf displayText: Halber Laib - id: loafQuarter displayText: Viertel Laib - id: grated displayText: Gerieben - id: Grinded displayText: Gemahlen - displayText: Gemahlt id: Ground servicePackagingOptions: - id: paper displayText: Papier - id: vacuum displayText: Vakuumiert - displayText: lose id: loose metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/productSettingsSiteMixIn.v1' '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' operationId: GET-site-settings-list-site-mixins security: - OAuth2: - site.site_manage parameters: [] description: |- Retrieves all mixins for a specified site. post: summary: Creating a site mixin operationId: POST-site-settings-create-site-mixin responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ResourceLocation' examples: Example 1: value: id: test '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: No matching schema found: value: type: validation_violation status: 400 message: The request violates validation constraints. details: - field: 'mixins.{mixinName}' type: invalid_field message: 'mixins.{mixinName} No matching schema found' moreInfo: '' Invalid tenant: value: type: bad_request status: 400 message: The tenant information provided with the request is not valid. '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' '409': description: Conflict content: application/json: schema: type: object properties: {} example: Response example: value: type: conflict_resource status: 409 message: 'Mixin {mixinName} already exists for site {siteCode}' security: - OAuth2: - site.site_manage requestBody: content: application/json: schema: $ref: '#/components/schemas/Mixin' examples: Create mixin: value: testMixin: active: true metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/schemata/CAAS/testMixin.json' Create general shop settings mixin: value: generalShopSettings: logoUrl: 'https://sample_logo_url.png' description: '' description: |- Creates a mixin for a specified site. tags: - Mixins '/site/{tenant}/sites/{siteCode}/mixins/{mixinName}': parameters: - $ref: '#/components/parameters/tenant' - $ref: '#/components/parameters/siteCode' - schema: type: string name: mixinName in: path required: true description: 'Mixin name, defined when the mixin is created.' get: summary: Retrieving a site mixin tags: - Mixins responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Mixin' example: Response example: value: regExSettings: mail: '^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$' phone: '^[0-9\\+][0-9]{7,}$' password: '.{6,}' bic: '^((.{8})|(.{11}))$' accountOwner: '^[a-zA-Z0-9'':?,()\\-. +/ÄäÜüÖöß&]{0,70}$' metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/emporix-docs/customerSettingsSiteMixIn.v3' '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' '404': $ref: '#/components/responses/404_mixinNotFound' operationId: GET-site-settings-retrieve-site-mixin description: |- Retrieves a specified site mixin. security: - OAuth2: - site.site_manage delete: summary: Deleting a site mixin operationId: DELETE-site-settings-remove-site-mixin responses: '204': description: No Content '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' '404': $ref: '#/components/responses/404_mixinNotFound' description: |- Deletes a specified site mixin. security: - OAuth2: - site.site_manage tags: - Mixins put: summary: Fully updating a site mixin operationId: PUT-site-settings-update-site-mixin responses: '200': description: OK '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' '404': $ref: '#/components/responses/404_mixinNotFound' description: |- Fully updates a specified site mixin. security: - OAuth2: - site.site_manage requestBody: content: application/json: schema: $ref: '#/components/schemas/Mixin' examples: Update mixin: value: testMixin: active: true metadata: schema: 'https://res.cloudinary.com/saas-ag/raw/upload/schemata/CAAS/testMixin.json' tags: - Mixins patch: summary: Partially updating a site mixin operationId: PATCH-site-settings-update-site-mixin responses: '200': description: OK '400': $ref: '#/components/responses/400_invalid_tenant' '401': $ref: '#/components/responses/401_invalidToken' '403': $ref: '#/components/responses/403_insufficient_permissions' description: |- Partially updates a specified site mixin. security: - OAuth2: - site.site_manage requestBody: content: application/json: schema: $ref: '#/components/schemas/Mixin' examples: Patch mixin: value: active: true tags: - Mixins components: schemas: AddressDto: title: Address type: object required: - country - zipCode properties: street: type: string streetNumber: type: string streetAppendix: type: string extraLine1: type: string extraLine2: type: string extraLine3: type: string extraLine4: type: string zipCode: type: string city: type: string country: type: string state: type: string description: Site address. CurrencyDto: type: string description: 'Currency used by the site, compliant with the ISO 4217 standard.' minLength: 3 maxLength: 3 pattern: '^[A-Z]{3}' DefaultDtoMetadata: title: Metadata type: object properties: mixins: type: object description: Mixin schema URLs. additionalProperties: true version: type: integer HomeBaseDto: title: HomeBase type: object required: - address properties: address: $ref: '#/components/schemas/AddressDto' location: $ref: '#/components/schemas/LocationDto' timezone: type: string description: | The timezone of the site home base location. Must be a valid IANA timezone identifier. If not specified, no timezone will be set. When specified, the value must be a valid timezone ID as defined in the IANA Time Zone Database. Examples of valid timezones: - Europe/Paris - America/New_York - Asia/Tokyo - UTC Invalid timezone values (e.g., "Europe/Xp") will result in a 400 Bad Request response. example: "Europe/Paris" description: Site location. LocationDto: title: Location type: object properties: latitude: type: number format: double longitude: type: number format: double description: Site geographical location. SiteDto: title: Site type: object description: Information about the site. required: - code - name - defaultLanguage - languages - currency - homeBase - shipToCountries - taxDeterminationBasedOn properties: code: type: string description: Site unique identifier. name: type: string description: Site name. active: type: boolean description: Flag indicating whether the site is active. default: type: boolean description: Flag indicating whether the site is the tenant default site. includesTax: type: boolean description: 'Indicates whether prices for the site should be returned in gross (when includesTax=true) or net (when includesTax=false). ' defaultLanguage: type: string description: 'Site''s default language, compliant with the ISO 639-1 standard.' minLength: 2 maxLength: 2 pattern: '^[a-z]{2}' languages: type: array description: |- Languages supported by the site. **Note**: The languages must be compliant with the ISO 639-1 standard. items: type: string minLength: 2 maxLength: 2 pattern: '^[a-z]{2}' currency: $ref: '#/components/schemas/CurrencyDto' availableCurrencies: type: array description: List of the currencies supported by the site items: $ref: '#/components/schemas/CurrencyDto' homeBase: $ref: '#/components/schemas/HomeBaseDto' shipToCountries: type: array description: |- Codes of countries to which the site ships products. **Note**: The country codes must be compliant with the ISO 3166-1 alpha-2 standard. items: type: string minLength: 2 maxLength: 2 pattern: '^[A-Z]{2}' shipping: type: array description: Shipping service configurations. items: $ref: '#/components/schemas/ServiceConfigurationDto' payment: type: array description: Payment service configurations. items: $ref: '#/components/schemas/ServiceConfigurationDto' tax: type: array description: |- `Preview feature - the feature is not fully operated yet.` Tax service configurations. items: $ref: '#/components/schemas/ServiceConfigurationDto' assistedBuying: $ref: '#/components/schemas/AssistedBuying' metadata: $ref: '#/components/schemas/DefaultDtoMetadata' taxDeterminationBasedOn: $ref: '#/components/schemas/taxDeterminationBasedOn' mixins: type: object description: Site additional properties. additionalProperties: true cartCalculationScale: type: integer description: Number of decimal points used in the cart calculation. Must be zero or a positive value. default: 2 minimum: 0 ServiceConfigurationDto: title: Service Configuration type: object properties: id: type: string description: Service configuration's unique identifier. name: type: string description: Service configuration's name. serviceType: type: string serviceUrl: type: string active: type: boolean default: true description: Flag indicating whether the service is active. configuration: $ref: '#/components/schemas/ServiceSettingsDto' ServiceSettingsDto: title: Service Settings type: object properties: public: type: object restricted: type: object ResourceLocation: title: ResourceLocation type: object properties: id: type: string description: Resource identifier. description: '' ErrorMessage: type: object properties: type: type: string description: |- Classification of the error type. **Note**: The error type should be written in lowercase and include underscores, for example validation_failure. status: type: number minimum: 100 maximum: 599 description: Original HTTP error code. It should be consistent with the HTTP response code. message: type: string description: Descriptive error message for debugging purposes. details: type: array items: type: object properties: message: type: string Mixin: title: Mixin type: object description: 'Represents a single mixin. The payload is represented as a map with a single key and value, where key represents a mixin group name and value represents a map with keys and values.' additionalProperties: true Mixins: title: Mixins type: object description: 'Represents mixins. The object is represented as a map with keys and values, where key represents a mixin group name and value represents a map with keys and values.' additionalProperties: true AssistedBuying: title: AssistedBuying type: object properties: storefrontUrl: type: string description: 'Storefront URL, where an employee should be redirected when the assisted buying mechanism is used.' taxDeterminationBasedOn: type: string enum: [BILLING_ADDRESS, SHIPPING_ADDRESS] description: Specifies whether tax calculation is based on customer billing address or shipping address. Default value is `BILLING_ADDRESS`. securitySchemes: OAuth2: type: oauth2 flows: clientCredentials: refreshUrl: '' scopes: site.site_read: Needed to retrieve information about sites. site.site_manage: Needed to manage sites. tokenUrl: 'https://api.emporix.io/oauth/token' parameters: tenant: name: tenant in: path required: true schema: type: string description: | Your Emporix tenant name. **Note:** The tenant name should always be provided in lowercase. siteCode: name: siteCode in: path required: true schema: type: string description: 'Site code, defined when a site is created.' includeInactiveSites: name: includeInactive in: query required: false schema: type: boolean default: false description: | | Option | Description | |---|---| | `true` | Retrieves both the active and inactive sites. | | `false` | Retrieves only the active sites. | sort: name: sort in: query description: | List of properties used to sort the results, separated by colons. Possible values: * `{fieldName}` * `{fieldName}:asc` * `{fieldName}:desc` **Note:** If you want to sort the results by localized properties, the possible values are: * `{fieldName}.{language}` * `{fieldName}.{language}:asc` * `{fieldName}.{language}:desc` By default, the fields are sorted in ascending order. schema: type: string pageNumber: name: pageNumber in: query description: | Page number to be retrieved. The number of the first page is 1. **Note:** If the `pageNumber` parameter is passed, size of the pages must be specified in the `pageSize` parameter. schema: default: 1 minimum: 1 type: integer pageSize: name: pageSize in: query description: | Number of products to be retrieved per page. schema: default: 16 minimum: 1 type: integer totalCount: name: totalCount in: query required: false schema: type: boolean default: false description: 'If set to `true`, a total number of sites is returned in a response header.' q_parameter: name: q in: query required: false schema: type: string example: 'name:{productName}' description: A standard query parameter used to search for specific values. expand: name: expand in: query required: false schema: type: string example: 'payment:all,shipping:active,tax:none,mixin:*' description: | Used to expand the following site settings: * `payment` * `shipping` * `tax` * `mixin` Each of the settings (except `mixin`) can be set to one of the following values: * `all` * `active` * `none` For retrieving `mixin`, use the following value: `*` expandWithMixins: name: expand description: | Used to expand specific site settings. | Setting | Possible values | | --- | --- | | `payment`
`shipping`
`tax` | `all`
`active`
`none` | | `mixins` | `{mixinName}`
`*` | in: query required: false schema: type: string example: 'payment:all,shipping:active,tax:none,mixin:customerSettings' responses: 403_insufficient_permissions: description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: '403': value: type: Forbidden status: 403 message: User not authorized details: - message: 'Missing required scopes [hybris.site_manage, site.site_manage]' 400_invalid_tenant: description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: '400': value: status: 400 type: bad_request message: The tenant information provided with the request is not valid. 404_siteNotFound: description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' example: Site not found: status: 404 type: application/json message: Site not Found moreInfo: '' details: - message: 'Couldn''t find a site with code ''{siteCode}''' moreInfo: '' 401_invalidToken: description: '' content: application/json: schema: description: '' type: object properties: fault: type: object properties: faultstring: type: string minLength: 1 detail: type: object properties: errorcode: type: string minLength: 1 examples: Invalid Token: value: fault: faultstring: Invalid access token detail: errorcode: oauth.v2.InvalidAccessToken 404_mixinNotFound: description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' examples: '404': value: type: resource_not_found status: 404 message: Mixin with name 'example' could not be found 200_get_site: description: Example response content: application/json: schema: $ref: '#/components/schemas/SiteDto' examples: Get site: value: code: test2 name: postmanTestSiteName active: false defaultLanguage: en languages: - en currency: GBP homeBase: address: zipCode: '12345' country: GB shipToCountries: - GB metadata: mixins: {} version: 0 default: true security: - OAuth2: [] tags: - name: Mixins - name: Site settings