Storefront API

The Storefront API represents a fusion of server-side and client-side GraphQL capabilities designed to empower developers in the creation of cutting-edge storefronts.

API Endpoints
# Production:
https://{{ client }}.dtc.centraapis.com/{{ plugin-uri }}
Version

v1.23.6

Authentication

To be authenticated, you must pass an access token. This is done using the Authorization header. Which token you pass depends on your operating mode.

Authorization: Bearer <ACCESS TOKEN>

Operating mode

Authorization is primarily based on the mode you are operating in. There are four modes:

  • NO_SESSION - Stateless and primarily used to populate your own catalog cache. Must be used server-side only.
  • SESSION - Stateful and used to act on behalf of a shopper. Upon the first request using the base session token, you will receive a new session token to use in subsequent requests.
  • LOGGED_IN - Sub-mode of SESSION, active for any logged-in customer.
  • SHARED_SECRET - Sub-mode of SESSION. Used when you need to act on behalf of a shopper, but perform actions that the shopper themselves shouldn't access. This separate token can be found in your plugin configuration, and should be passed in the x-shared-secret header.

Permissions

In addition, a few fields are protected by a required permission. These fields can only be accessed if the base session token was granted the specified permission. This does not apply to NO_SESSION mode.

Queries

affiliate

Description

Get an affiliate by its uri.

Required operating mode: NO_SESSION

Response

Returns an Affiliate

Arguments
Name Description
uri - String!

Example

Query
query Affiliate($uri: String!) {
  affiliate(uri: $uri) {
    name
    uri
    sendToPage
  }
}
Variables
{"uri": "abc123"}
Response
{
  "data": {
    "affiliate": {
      "name": "abc123",
      "uri": "abc123",
      "sendToPage": "abc123"
    }
  }
}

affiliates

Description

Get a paginated list of affiliates.

Required operating mode: NO_SESSION

Response

Returns an AffiliateList!

Arguments
Name Description
sort - [AffiliateSort!]! Default = [name_ASC]
page - Int! Default = 1
limit - Int! Default = 20

Example

Query
query Affiliates(
  $sort: [AffiliateSort!]!,
  $page: Int!,
  $limit: Int!
) {
  affiliates(
    sort: $sort,
    page: $page,
    limit: $limit
  ) {
    list {
      name
      uri
      sendToPage
    }
    pagination {
      hasPreviousPage
      hasNextPage
      nextPage
      previousPage
      currentPage
      lastPage
      limit
      total
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"sort": ["name_ASC"], "page": 1, "limit": 20}
Response
{
  "data": {
    "affiliates": {
      "list": [Affiliate],
      "pagination": PaginationInfo,
      "userErrors": [UserError]
    }
  }
}

brands

Description

Get a list of brands.

Filtered by session's market and pricelist in session mode.

Response

Returns a BrandList

Arguments
Name Description
market - [Int!] Required operating mode: NO_SESSION
pricelist - [Int!] Required operating mode: NO_SESSION
sort - [BrandSort!]! Default = []
page - Int! Default = 1
limit - Int!

Max limits depend on your session mode.

SESSION: 40

NO_SESSION: 100. Default = 20

Example

Query
query Brands(
  $market: [Int!],
  $pricelist: [Int!],
  $sort: [BrandSort!]!,
  $page: Int!,
  $limit: Int!
) {
  brands(
    market: $market,
    pricelist: $pricelist,
    sort: $sort,
    page: $page,
    limit: $limit
  ) {
    list {
      id
      name
      uri
      markets {
        ...MarketFragment
      }
      pricelists {
        ...PricelistFragment
      }
      metaDescription
      metaKeywords
      metaTitle
    }
    pagination {
      hasPreviousPage
      hasNextPage
      nextPage
      previousPage
      currentPage
      lastPage
      limit
      total
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"market": [987], "pricelist": [123], "sort": [""], "page": 1, "limit": 20}
Response
{
  "data": {
    "brands": {
      "list": [Brand],
      "pagination": PaginationInfo,
      "userErrors": [UserError]
    }
  }
}

brickAndMortar

Description

Get a brick and mortar by its id.

Response

Returns a BrickAndMortar

Arguments
Name Description
id - Int!

Example

Query
query BrickAndMortar($id: Int!) {
  brickAndMortar(id: $id) {
    id
    name
    type
    address
    latitude
    longitude
    website
    country {
      name
      code
      isEU
      states {
        ...CountryStateFragment
      }
      defaultLanguage {
        ...LanguageFragment
      }
      shipTo
      translations {
        ...TranslatedCountryFragment
      }
    }
    openingDays {
      day
      date
      isClosed
      openingHoursList {
        ...OpeningHoursFragment
      }
    }
    state {
      name
      code
    }
    distance {
      value
      unit
    }
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "brickAndMortar": {
      "id": 987,
      "name": "abc123",
      "type": "OWN_STORE",
      "address": "abc123",
      "latitude": "abc123",
      "longitude": "xyz789",
      "website": "abc123",
      "country": Country,
      "openingDays": [OpeningDay],
      "state": CountryState,
      "distance": Distance
    }
  }
}

brickAndMortars

Description

Get a paginated list of brick and mortars.

Response

Returns a BrickAndMortarList

Arguments
Name Description
where - BrickAndMortarListFilter
sort - [BrickAndMortarSort!] Default = [name_ASC]
limit - Int

Max limits depend on your session mode.

SESSION: 40

NO_SESSION: 100. Default = 20

page - Int Default = 1

Example

Query
query BrickAndMortars(
  $where: BrickAndMortarListFilter,
  $sort: [BrickAndMortarSort!],
  $limit: Int,
  $page: Int
) {
  brickAndMortars(
    where: $where,
    sort: $sort,
    limit: $limit,
    page: $page
  ) {
    list {
      id
      name
      type
      address
      latitude
      longitude
      website
      country {
        ...CountryFragment
      }
      openingDays {
        ...OpeningDayFragment
      }
      state {
        ...CountryStateFragment
      }
      distance {
        ...DistanceFragment
      }
    }
    pagination {
      hasPreviousPage
      hasNextPage
      nextPage
      previousPage
      currentPage
      lastPage
      limit
      total
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "where": BrickAndMortarListFilter,
  "sort": ["name_ASC"],
  "limit": 20,
  "page": 1
}
Response
{
  "data": {
    "brickAndMortars": {
      "list": [BrickAndMortar],
      "pagination": PaginationInfo,
      "userErrors": [UserError]
    }
  }
}

campaignSite

Description

Get a campaign site by its uri.

Required operating mode: NO_SESSION

Response

Returns a CampaignSite

Arguments
Name Description
uri - String!

Example

Query
query CampaignSite($uri: String!) {
  campaignSite(uri: $uri) {
    name
    uri
    sendToPage
    market {
      id
      name
      countries {
        ...CountryFragment
      }
      hasCampaignSite
    }
  }
}
Variables
{"uri": "abc123"}
Response
{
  "data": {
    "campaignSite": {
      "name": "xyz789",
      "uri": "xyz789",
      "sendToPage": "xyz789",
      "market": Market
    }
  }
}

campaignSites

Description

Get a paginated list of campaign sites.

Required operating mode: NO_SESSION

Response

Returns a CampaignSiteList!

Arguments
Name Description
sort - [CampaignSiteSort!]! Default = []
page - Int! Default = 1
limit - Int!

Max limits

NO_SESSION: 100. Default = 20

Example

Query
query CampaignSites(
  $sort: [CampaignSiteSort!]!,
  $page: Int!,
  $limit: Int!
) {
  campaignSites(
    sort: $sort,
    page: $page,
    limit: $limit
  ) {
    list {
      name
      uri
      sendToPage
      market {
        ...MarketFragment
      }
    }
    pagination {
      hasPreviousPage
      hasNextPage
      nextPage
      previousPage
      currentPage
      lastPage
      limit
      total
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"sort": [""], "page": 1, "limit": 20}
Response
{
  "data": {
    "campaignSites": {
      "list": [CampaignSite],
      "pagination": PaginationInfo,
      "userErrors": [UserError]
    }
  }
}

categories

Description

Get a paginated list of categories.

Filtered by session's market and pricelist in session mode.

Filter by parent: 0 to get only top level categories.

Response

Returns a CategoryList

Arguments
Name Description
id - [Int!]
market - [Int!] Required operating mode: NO_SESSION
pricelist - [Int!] Required operating mode: NO_SESSION
languageCode - [String!]
sort - [CategorySort!]! Default = []
page - Int! Default = 1
limit - Int!

Max limits depend on your session mode.

SESSION: 40

NO_SESSION: 100. Default = 20

parent - Int

Example

Query
query Categories(
  $id: [Int!],
  $market: [Int!],
  $pricelist: [Int!],
  $languageCode: [String!],
  $sort: [CategorySort!]!,
  $page: Int!,
  $limit: Int!,
  $parent: Int
) {
  categories(
    id: $id,
    market: $market,
    pricelist: $pricelist,
    languageCode: $languageCode,
    sort: $sort,
    page: $page,
    limit: $limit,
    parent: $parent
  ) {
    list {
      id
      uri
      metaTitle
      metaDescription
      metaKeywords
      parentCategory {
        ...CategoryFragment
      }
      name
      childCategories {
        ...CategoryFragment
      }
      translations {
        ...TranslatedCategoryFragment
      }
      markets {
        ...MarketFragment
      }
      pricelists {
        ...PricelistFragment
      }
      attributes {
        ...AttributeFragment
      }
      sortOrder
    }
    pagination {
      hasPreviousPage
      hasNextPage
      nextPage
      previousPage
      currentPage
      lastPage
      limit
      total
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "id": [987],
  "market": [987],
  "pricelist": [123],
  "languageCode": ["abc123"],
  "sort": [""],
  "page": 1,
  "limit": 20,
  "parent": 123
}
Response
{
  "data": {
    "categories": {
      "list": [Category],
      "pagination": PaginationInfo,
      "userErrors": [UserError]
    }
  }
}

collections

Description

Get a paginated list of collections.

Filtered by session's market and pricelist in session mode.

Response

Returns a CollectionList

Arguments
Name Description
ids - [Int!]
market - [Int!] Required operating mode: NO_SESSION
pricelist - [Int!] Required operating mode: NO_SESSION
sort - [CollectionSort!]! Default = []
page - Int!

Max limits depend on your session mode.

SESSION: 40

NO_SESSION: 100. Default = 1

limit - Int! Default = 20

Example

Query
query Collections(
  $ids: [Int!],
  $market: [Int!],
  $pricelist: [Int!],
  $sort: [CollectionSort!]!,
  $page: Int!,
  $limit: Int!
) {
  collections(
    ids: $ids,
    market: $market,
    pricelist: $pricelist,
    sort: $sort,
    page: $page,
    limit: $limit
  ) {
    list {
      id
      name
      uri
      markets {
        ...MarketFragment
      }
      pricelists {
        ...PricelistFragment
      }
    }
    pagination {
      hasPreviousPage
      hasNextPage
      nextPage
      previousPage
      currentPage
      lastPage
      limit
      total
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "ids": [123],
  "market": [987],
  "pricelist": [123],
  "sort": [""],
  "page": 1,
  "limit": 20
}
Response
{
  "data": {
    "collections": {
      "list": [Collection],
      "pagination": PaginationInfo,
      "userErrors": [UserError]
    }
  }
}

countries

Description

Get a list of countries.

Response

Returns [Country!]!

Arguments
Name Description
onlyShipTo - Boolean! if true, returns only countries that can be shipped to.

Example

Query
query Countries($onlyShipTo: Boolean!) {
  countries(onlyShipTo: $onlyShipTo) {
    name
    code
    isEU
    states {
      name
      code
    }
    defaultLanguage {
      name
      code
      languageCode
      languageName
      countryCode
      default
    }
    shipTo
    translations {
      language {
        ...LanguageFragment
      }
      name
    }
  }
}
Variables
{"onlyShipTo": false}
Response
{
  "data": {
    "countries": [
      {
        "name": "abc123",
        "code": "xyz789",
        "isEU": false,
        "states": [CountryState],
        "defaultLanguage": Language,
        "shipTo": false,
        "translations": [TranslatedCountry]
      }
    ]
  }
}

customer

Description

Get the currently logged in customer.

Required operating mode: LOGGED_IN

Response

Returns a Customer

Example

Query
query Customer {
  customer {
    id
    email
    firstName
    lastName
    cellPhoneNumber
    phoneNumber
    totalOrders
    billingAddress {
      firstName
      lastName
      address1
      address2
      city
      zipCode
      stateOrProvince
      cellPhoneNumber
      phoneNumber
      faxNumber
      email
      companyName
      attention
      vatNumber
      country {
        ...CountryFragment
      }
      state {
        ...CountryStateFragment
      }
    }
    websiteUrl
    language {
      name
      code
      languageCode
      languageName
      countryCode
      default
    }
    newsletterSubscriptions {
      isActive
      createdAt
      country {
        ...CountryFragment
      }
    }
    attributes {
      elements {
        ...AttributeElementFragment
      }
      type {
        ...AttributeTypeFragment
      }
    }
    wishlists {
      id
      name
      isDefault
      items {
        ...DisplayItemFragment
      }
    }
    subscriptionContracts {
      id
      createdAt
      updatedAt
      market {
        ...MarketFragment
      }
      pricelist {
        ...PricelistFragment
      }
      originatingOrder {
        ...OrderFragment
      }
      shippingAddress {
        ...AddressFragment
      }
      subscriptions {
        ...SubscriptionInfoFragment
      }
      shippingOption {
        ...ShippingMethodFragment
      }
      subscriptionPayment {
        ...SubscriptionPaymentFragment
      }
    }
    orders {
      id
      comment
      number
      status
      orderDate
      userIP
      currencyBaseRate
      otherComment
      attributes {
        ...AttributeFragment
      }
      billingAddress {
        ...AddressFragment
      }
      country {
        ...CountryFragment
      }
      discountsApplied {
        ...VoucherFragment
      }
      language {
        ...LanguageFragment
      }
      lines {
        ...LineFragment
      }
      market {
        ...MarketFragment
      }
      paymentMethod {
        ...PaymentMethodFragment
      }
      shippingAddress {
        ...AddressFragment
      }
      shippingMethod {
        ...ShippingMethodFragment
      }
      state {
        ...CountryStateFragment
      }
      totals {
        ...SelectionTotalRowFragment
      }
      affiliateHtml
      paymentHtml
      deliveryGroups {
        ...DeliveryGroupFragment
      }
      usedFallbackTax
    }
    birthdate
    gender
  }
}
Response
{
  "data": {
    "customer": {
      "id": 987,
      "email": "xyz789",
      "firstName": "xyz789",
      "lastName": "xyz789",
      "cellPhoneNumber": "xyz789",
      "phoneNumber": "abc123",
      "totalOrders": 987,
      "billingAddress": Address,
      "websiteUrl": "xyz789",
      "language": Language,
      "newsletterSubscriptions": [NewsletterSubscription],
      "attributes": [Attribute],
      "wishlists": [Wishlist],
      "subscriptionContracts": [SubscriptionContract],
      "orders": [Order],
      "birthdate": "2007-12-03",
      "gender": "FEMALE"
    }
  }
}

displayItem

Description

Get a display item by its id.

In session mode, results are filtered by the session's market and pricelist. Translated values are returned if available for either session or input language.

Response

Returns a DisplayItem

Arguments
Name Description
market - [Int!] Required operating mode: NO_SESSION
pricelist - [Int!] Required operating mode: NO_SESSION
languageCode - [String!]
id - Int!

Example

Query
query DisplayItem(
  $market: [Int!],
  $pricelist: [Int!],
  $languageCode: [String!],
  $id: Int!
) {
  displayItem(
    market: $market,
    pricelist: $pricelist,
    languageCode: $languageCode,
    id: $id
  ) {
    id
    createdAt
    modifiedAt
    attributes {
      elements {
        ...AttributeElementFragment
      }
      type {
        ...AttributeTypeFragment
      }
    }
    available
    brand {
      id
      name
      uri
      markets {
        ...MarketFragment
      }
      pricelists {
        ...PricelistFragment
      }
      metaDescription
      metaKeywords
      metaTitle
    }
    bundle {
      id
      type
      priceType
      sections {
        ...BundleSectionFragment
      }
      minPrice {
        ...MonetaryValueFragment
      }
      maxPrice {
        ...MonetaryValueFragment
      }
      minPriceByPricelist {
        ...PricelistPriceFragment
      }
      maxPriceByPricelist {
        ...PricelistPriceFragment
      }
    }
    campaignInfo {
      startDateTime
      endDateDateTime
      showSale
      showNew
      attributes {
        ...AttributeFragment
      }
    }
    category {
      id
      uri
      metaTitle
      metaDescription
      metaKeywords
      parentCategory {
        ...CategoryFragment
      }
      name
      childCategories {
        ...CategoryFragment
      }
      translations {
        ...TranslatedCategoryFragment
      }
      markets {
        ...MarketFragment
      }
      pricelists {
        ...PricelistFragment
      }
      attributes {
        ...AttributeFragment
      }
      sortOrder
    }
    canonicalCategory {
      id
      uri
      metaTitle
      metaDescription
      metaKeywords
      parentCategory {
        ...CategoryFragment
      }
      name
      childCategories {
        ...CategoryFragment
      }
      translations {
        ...TranslatedCategoryFragment
      }
      markets {
        ...MarketFragment
      }
      pricelists {
        ...PricelistFragment
      }
      attributes {
        ...AttributeFragment
      }
      sortOrder
    }
    canonicalUri
    categories {
      id
      uri
      metaTitle
      metaDescription
      metaKeywords
      parentCategory {
        ...CategoryFragment
      }
      name
      childCategories {
        ...CategoryFragment
      }
      translations {
        ...TranslatedCategoryFragment
      }
      markets {
        ...MarketFragment
      }
      pricelists {
        ...PricelistFragment
      }
      attributes {
        ...AttributeFragment
      }
      sortOrder
    }
    collection {
      id
      name
      uri
      markets {
        ...MarketFragment
      }
      pricelists {
        ...PricelistFragment
      }
    }
    countryOfOrigin {
      name
      code
      isEU
      states {
        ...CountryStateFragment
      }
      defaultLanguage {
        ...LanguageFragment
      }
      shipTo
      translations {
        ...TranslatedCountryFragment
      }
    }
    description {
      formatted
      raw
    }
    hasStock
    items {
      id
      name
      GTIN
      productSizeId
      preorder
      sizeLocalization {
        ...LocalizedSizeFragment
      }
      sku
      stock {
        ...StockFragment
      }
      stockByWarehouse {
        ...WarehouseStockFragment
      }
      horizontalLabelIndex
      verticalLabelIndex
    }
    sizeChart {
      name
      horizontalLabels
      verticalLabels
      dividerSymbol
      displayUnit
      localization {
        ...LocalizedSizeChartFragment
      }
    }
    language {
      name
      code
      languageCode
      languageName
      countryCode
      default
    }
    languages {
      name
      code
      languageCode
      languageName
      countryCode
      default
    }
    market {
      id
      name
      countries {
        ...CountryFragment
      }
      hasCampaignSite
    }
    markets {
      id
      name
      countries {
        ...CountryFragment
      }
      hasCampaignSite
    }
    measurementTable {
      displayUnit
      horizontalLabels
      verticalLabels
      values
    }
    media {
      id
      source {
        ...MediaSourceFragment
      }
      metaDataJSON
      attributes {
        ...AttributeFragment
      }
      altText
      translations {
        ...TranslatedMediaFragment
      }
    }
    metaDescription
    metaKeywords
    metaTitle
    minimumOrderQuantity
    name
    orderQuantityDenominator
    preview
    price {
      value
      currency {
        ...CurrencyFragment
      }
      formattedValue
    }
    originalPrice {
      value
      currency {
        ...CurrencyFragment
      }
      formattedValue
    }
    lowestPrice {
      price {
        ...MonetaryValueFragment
      }
      originalPrice {
        ...MonetaryValueFragment
      }
      periodDays
    }
    lowestPriceByPricelist {
      pricelist {
        ...PricelistFragment
      }
      lowestPriceByMarket {
        ...MarketLowestPriceFragment
      }
    }
    pricelist {
      id
      name
      comment
      currency {
        ...CurrencyFragment
      }
      countries {
        ...CountryFragment
      }
    }
    pricelists {
      id
      name
      comment
      currency {
        ...CurrencyFragment
      }
      countries {
        ...CountryFragment
      }
    }
    priceByPricelist {
      pricelist {
        ...PricelistFragment
      }
      priceByMarket {
        ...MarketPriceFragment
      }
    }
    isPrimaryVariant
    primaryVariant {
      id
      createdAt
      modifiedAt
      attributes {
        ...AttributeFragment
      }
      available
      brand {
        ...BrandFragment
      }
      bundle {
        ...BundleFragment
      }
      campaignInfo {
        ...CampaignInfoFragment
      }
      category {
        ...CategoryFragment
      }
      canonicalCategory {
        ...CategoryFragment
      }
      canonicalUri
      categories {
        ...CategoryFragment
      }
      collection {
        ...CollectionFragment
      }
      countryOfOrigin {
        ...CountryFragment
      }
      description {
        ...FormattedStringFragment
      }
      hasStock
      items {
        ...ItemFragment
      }
      sizeChart {
        ...SizeChartFragment
      }
      language {
        ...LanguageFragment
      }
      languages {
        ...LanguageFragment
      }
      market {
        ...MarketFragment
      }
      markets {
        ...MarketFragment
      }
      measurementTable {
        ...MeasurementTableFragment
      }
      media {
        ...ProductMediaFragment
      }
      metaDescription
      metaKeywords
      metaTitle
      minimumOrderQuantity
      name
      orderQuantityDenominator
      preview
      price {
        ...MonetaryValueFragment
      }
      originalPrice {
        ...MonetaryValueFragment
      }
      lowestPrice {
        ...LowestPriceFragment
      }
      lowestPriceByPricelist {
        ...PricelistLowestPriceFragment
      }
      pricelist {
        ...PricelistFragment
      }
      pricelists {
        ...PricelistFragment
      }
      priceByPricelist {
        ...PricelistPriceFragment
      }
      isPrimaryVariant
      primaryVariant {
        ...DisplayItemFragment
      }
      productNumber
      productVariant {
        ...ProductVariantFragment
      }
      relatedDisplayItems {
        ...RelatedDisplayItemsFragment
      }
      shortDescription {
        ...FormattedStringFragment
      }
      showAsNew
      showAsSale
      subscriptionPlans {
        ...SubscriptionPlanFragment
      }
      translations {
        ...TranslatedDisplayItemFragment
      }
      uri
      weight
      weightUnit
    }
    productNumber
    productVariant {
      id
      name
      number
      translations {
        ...TranslatedProductVariantFragment
      }
    }
    relatedDisplayItems {
      relation
      displayItems {
        ...DisplayItemFragment
      }
    }
    shortDescription {
      formatted
      raw
    }
    showAsNew
    showAsSale
    subscriptionPlans {
      id
      name
      interval {
        ...DateIntervalFragment
      }
      discount
    }
    translations {
      language {
        ...LanguageFragment
      }
      description {
        ...FormattedStringFragment
      }
      metaDescription
      metaKeywords
      metaTitle
      name
      shortDescription {
        ...FormattedStringFragment
      }
      uri
    }
    uri
    weight
    weightUnit
  }
}
Variables
{
  "market": [123],
  "pricelist": [987],
  "languageCode": ["xyz789"],
  "id": 123
}
Response
{
  "data": {
    "displayItem": {
      "id": 123,
      "createdAt": "xyz789",
      "modifiedAt": "xyz789",
      "attributes": [Attribute],
      "available": false,
      "brand": Brand,
      "bundle": Bundle,
      "campaignInfo": CampaignInfo,
      "category": Category,
      "canonicalCategory": Category,
      "canonicalUri": "xyz789",
      "categories": [Category],
      "collection": Collection,
      "countryOfOrigin": Country,
      "description": FormattedString,
      "hasStock": true,
      "items": [Item],
      "sizeChart": SizeChart,
      "language": Language,
      "languages": [Language],
      "market": Market,
      "markets": [Market],
      "measurementTable": MeasurementTable,
      "media": [ProductMedia],
      "metaDescription": "xyz789",
      "metaKeywords": "xyz789",
      "metaTitle": "abc123",
      "minimumOrderQuantity": 123,
      "name": "abc123",
      "orderQuantityDenominator": 987,
      "preview": true,
      "price": MonetaryValue,
      "originalPrice": MonetaryValue,
      "lowestPrice": LowestPrice,
      "lowestPriceByPricelist": [PricelistLowestPrice],
      "pricelist": Pricelist,
      "pricelists": [Pricelist],
      "priceByPricelist": [PricelistPrice],
      "isPrimaryVariant": false,
      "primaryVariant": DisplayItem,
      "productNumber": "xyz789",
      "productVariant": ProductVariant,
      "relatedDisplayItems": [RelatedDisplayItems],
      "shortDescription": FormattedString,
      "showAsNew": true,
      "showAsSale": false,
      "subscriptionPlans": [SubscriptionPlan],
      "translations": [TranslatedDisplayItem],
      "uri": "xyz789",
      "weight": 123.45,
      "weightUnit": "abc123"
    }
  }
}

displayItems

Description

Get a paginated list of display items.

In session mode, results are filtered by the session's market and pricelist. Translated values are returned if available for either session or input language.

Response

Returns a DisplayItemList!

Arguments
Name Description
where - DisplayItemFilter Default = null
languageCode - [String!]
market - [Int!] Required operating mode: NO_SESSION
pricelist - [Int!] Required operating mode: NO_SESSION
sort - [CustomSortInput!]! Default = []
page - Int! Default = 1
limit - Int!

Max limits depend on your session mode.

SESSION: 40

NO_SESSION: 100. Default = 20

Example

Query
query DisplayItems(
  $where: DisplayItemFilter,
  $languageCode: [String!],
  $market: [Int!],
  $pricelist: [Int!],
  $sort: [CustomSortInput!]!,
  $page: Int!,
  $limit: Int!
) {
  displayItems(
    where: $where,
    languageCode: $languageCode,
    market: $market,
    pricelist: $pricelist,
    sort: $sort,
    page: $page,
    limit: $limit
  ) {
    list {
      id
      createdAt
      modifiedAt
      attributes {
        ...AttributeFragment
      }
      available
      brand {
        ...BrandFragment
      }
      bundle {
        ...BundleFragment
      }
      campaignInfo {
        ...CampaignInfoFragment
      }
      category {
        ...CategoryFragment
      }
      canonicalCategory {
        ...CategoryFragment
      }
      canonicalUri
      categories {
        ...CategoryFragment
      }
      collection {
        ...CollectionFragment
      }
      countryOfOrigin {
        ...CountryFragment
      }
      description {
        ...FormattedStringFragment
      }
      hasStock
      items {
        ...ItemFragment
      }
      sizeChart {
        ...SizeChartFragment
      }
      language {
        ...LanguageFragment
      }
      languages {
        ...LanguageFragment
      }
      market {
        ...MarketFragment
      }
      markets {
        ...MarketFragment
      }
      measurementTable {
        ...MeasurementTableFragment
      }
      media {
        ...ProductMediaFragment
      }
      metaDescription
      metaKeywords
      metaTitle
      minimumOrderQuantity
      name
      orderQuantityDenominator
      preview
      price {
        ...MonetaryValueFragment
      }
      originalPrice {
        ...MonetaryValueFragment
      }
      lowestPrice {
        ...LowestPriceFragment
      }
      lowestPriceByPricelist {
        ...PricelistLowestPriceFragment
      }
      pricelist {
        ...PricelistFragment
      }
      pricelists {
        ...PricelistFragment
      }
      priceByPricelist {
        ...PricelistPriceFragment
      }
      isPrimaryVariant
      primaryVariant {
        ...DisplayItemFragment
      }
      productNumber
      productVariant {
        ...ProductVariantFragment
      }
      relatedDisplayItems {
        ...RelatedDisplayItemsFragment
      }
      shortDescription {
        ...FormattedStringFragment
      }
      showAsNew
      showAsSale
      subscriptionPlans {
        ...SubscriptionPlanFragment
      }
      translations {
        ...TranslatedDisplayItemFragment
      }
      uri
      weight
      weightUnit
    }
    filters {
      anyAvailable
      key
      selectedValues
      values {
        ...FilterValueFragment
      }
    }
    userErrors {
      message
      path
    }
    pagination {
      hasPreviousPage
      hasNextPage
      nextPage
      previousPage
      currentPage
      lastPage
      limit
      total
    }
  }
}
Variables
{
  "where": null,
  "languageCode": ["abc123"],
  "market": [987],
  "pricelist": [123],
  "sort": [""],
  "page": 1,
  "limit": 20
}
Response
{
  "data": {
    "displayItems": {
      "list": [DisplayItem],
      "filters": [FilterOption],
      "userErrors": [UserError],
      "pagination": PaginationInfo
    }
  }
}

expressCheckoutWidgets

Response

Returns an ExpressCheckoutWidgetsPayload!

Arguments
Name Description
configurationOnly - Boolean
plugins - [ExpressCheckoutWidgetsPluginItem!]!

Example

Query
query ExpressCheckoutWidgets(
  $configurationOnly: Boolean,
  $plugins: [ExpressCheckoutWidgetsPluginItem!]!
) {
  expressCheckoutWidgets(
    configurationOnly: $configurationOnly,
    plugins: $plugins
  ) {
    list {
      name
      widgets {
        ...ExpressCheckoutWidgetFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "configurationOnly": false,
  "plugins": [ExpressCheckoutWidgetsPluginItem]
}
Response
{
  "data": {
    "expressCheckoutWidgets": {
      "list": [ExpressCheckoutWidgetsPluginWidgets],
      "userErrors": [UserError]
    }
  }
}

fulfillmentCheck

Description

Check which brick and mortars can fulfill the current selection.

Response

Returns a FulfillmentCheckPayload!

Arguments
Name Description
brickAndMortarIds - [Int!]!

Example

Query
query FulfillmentCheck($brickAndMortarIds: [Int!]!) {
  fulfillmentCheck(brickAndMortarIds: $brickAndMortarIds) {
    availableInBrickAndMortars
    userErrors {
      message
      path
    }
  }
}
Variables
{"brickAndMortarIds": [987]}
Response
{
  "data": {
    "fulfillmentCheck": {
      "availableInBrickAndMortars": [123],
      "userErrors": [UserError]
    }
  }
}

languages

Description

Get a list of languages.

Response

Returns [Language!]!

Example

Query
query Languages {
  languages {
    name
    code
    languageCode
    languageName
    countryCode
    default
  }
}
Response
{
  "data": {
    "languages": [
      {
        "name": "xyz789",
        "code": "xyz789",
        "languageCode": "abc123",
        "languageName": "abc123",
        "countryCode": "abc123",
        "default": false
      }
    ]
  }
}

markets

Description

Get a list of markets.

Required operating mode: NO_SESSION

Response

Returns [Market!]!

Arguments
Name Description
id - [Int!]
countryCode - [String!] Only markets available in at least one of the specified countries are returned.

Example

Query
query Markets(
  $id: [Int!],
  $countryCode: [String!]
) {
  markets(
    id: $id,
    countryCode: $countryCode
  ) {
    id
    name
    countries {
      name
      code
      isEU
      states {
        ...CountryStateFragment
      }
      defaultLanguage {
        ...LanguageFragment
      }
      shipTo
      translations {
        ...TranslatedCountryFragment
      }
    }
    hasCampaignSite
  }
}
Variables
{"id": [987], "countryCode": ["abc123"]}
Response
{
  "data": {
    "markets": [
      {
        "id": 123,
        "name": "xyz789",
        "countries": [Country],
        "hasCampaignSite": true
      }
    ]
  }
}

order

Description

Get the latest order, null if none.

Required operating mode: SESSION

Response

Returns an Order

Example

Query
query Order {
  order {
    id
    comment
    number
    status
    orderDate
    userIP
    currencyBaseRate
    otherComment
    attributes {
      elements {
        ...AttributeElementFragment
      }
      type {
        ...AttributeTypeFragment
      }
    }
    billingAddress {
      firstName
      lastName
      address1
      address2
      city
      zipCode
      stateOrProvince
      cellPhoneNumber
      phoneNumber
      faxNumber
      email
      companyName
      attention
      vatNumber
      country {
        ...CountryFragment
      }
      state {
        ...CountryStateFragment
      }
    }
    country {
      name
      code
      isEU
      states {
        ...CountryStateFragment
      }
      defaultLanguage {
        ...LanguageFragment
      }
      shipTo
      translations {
        ...TranslatedCountryFragment
      }
    }
    discountsApplied {
      name
      appliedOn
      method
      type
      value {
        ...MonetaryValueFragment
      }
      orderReduction {
        ...MonetaryValueFragment
      }
      totalItemReduction {
        ...MonetaryValueFragment
      }
      totalShippingReduction {
        ...MonetaryValueFragment
      }
      lineIds
      actions {
        ...VoucherActionFragment
      }
      expiryDate
      attributes {
        ...AttributeFragment
      }
      giftCard {
        ...GiftCardFragment
      }
      isExternal
    }
    language {
      name
      code
      languageCode
      languageName
      countryCode
      default
    }
    lines {
      id
      name
      productVariantName
      brand {
        ...BrandFragment
      }
      size
      productNumber
      comment
      item {
        ...ItemFragment
      }
      addedFromCategory {
        ...CategoryFragment
      }
      productExternalUrl
      appliedPromotions {
        ...AppliedPromotionFragment
      }
      hasDiscount
      unitPrice {
        ...MonetaryValueFragment
      }
      unitOriginalPrice {
        ...MonetaryValueFragment
      }
      unitPriceReduction {
        ...MonetaryValueFragment
      }
      lineValue {
        ...MonetaryValueFragment
      }
      originalLineValue {
        ...MonetaryValueFragment
      }
      discountPercent
      taxPercent
      quantity
      localizedSize {
        ...LocalizedProdSizeFragment
      }
      subscriptionId
      displayItem {
        ...DisplayItemFragment
      }
    }
    market {
      id
      name
      countries {
        ...CountryFragment
      }
      hasCampaignSite
    }
    paymentMethod {
      active
      addressAfterPayment
      handlingCost {
        ...MonetaryValueFragment
      }
      id
      initiateOnlySupported
      kind
      name
      recurringSupported
      uri
    }
    shippingAddress {
      firstName
      lastName
      address1
      address2
      city
      zipCode
      stateOrProvince
      cellPhoneNumber
      phoneNumber
      faxNumber
      email
      companyName
      attention
      vatNumber
      country {
        ...CountryFragment
      }
      state {
        ...CountryStateFragment
      }
    }
    shippingMethod {
      comment
      selected
      name
      price {
        ...MonetaryValueFragment
      }
      id
    }
    state {
      name
      code
    }
    totals {
      type
      price {
        ...MonetaryValueFragment
      }
    }
    affiliateHtml
    paymentHtml
    deliveryGroups {
      id
      externalDeliveryGroupId
      name
      shippingMethod {
        ...ShippingMethodFragment
      }
      shippingPrice {
        ...MonetaryValueFragment
      }
      lines {
        ...DeliveryGroupLineFragment
      }
      attributes {
        ...AttributeFragment
      }
    }
    usedFallbackTax
  }
}
Response
{
  "data": {
    "order": {
      "id": "xyz789",
      "comment": "abc123",
      "number": 123,
      "status": "PENDING",
      "orderDate": "abc123",
      "userIP": "xyz789",
      "currencyBaseRate": 123.45,
      "otherComment": "abc123",
      "attributes": [Attribute],
      "billingAddress": Address,
      "country": Country,
      "discountsApplied": [Voucher],
      "language": Language,
      "lines": [Line],
      "market": Market,
      "paymentMethod": PaymentMethod,
      "shippingAddress": Address,
      "shippingMethod": ShippingMethod,
      "state": CountryState,
      "totals": [SelectionTotalRow],
      "affiliateHtml": "xyz789",
      "paymentHtml": "abc123",
      "deliveryGroups": [DeliveryGroup],
      "usedFallbackTax": false
    }
  }
}

pricelists

Description

Get a list of pricelists.

Required operating mode: NO_SESSION

Response

Returns [Pricelist!]!

Arguments
Name Description
id - [Int!]
countryCodes - [String!] Only pricelists available in at least one of the specified countries are returned.

Example

Query
query Pricelists(
  $id: [Int!],
  $countryCodes: [String!]
) {
  pricelists(
    id: $id,
    countryCodes: $countryCodes
  ) {
    id
    name
    comment
    currency {
      id
      name
      code
      currentBaseRate
      denominator
      isoNumber
      prefix
      suffix
      decimalPoint
      decimalDigits
      thousandsSeparator
    }
    countries {
      name
      code
      isEU
      states {
        ...CountryStateFragment
      }
      defaultLanguage {
        ...LanguageFragment
      }
      shipTo
      translations {
        ...TranslatedCountryFragment
      }
    }
  }
}
Variables
{"id": [123], "countryCodes": ["abc123"]}
Response
{
  "data": {
    "pricelists": [
      {
        "id": 987,
        "name": "abc123",
        "comment": "xyz789",
        "currency": Currency,
        "countries": [Country]
      }
    ]
  }
}

selection

Description

Get the current selection.

Required operating mode: SESSION

Response

Returns a Selection!

Arguments
Name Description
voucherMode - VOUCHER_MODE! Default = LINES

Example

Query
query Selection($voucherMode: VOUCHER_MODE!) {
  selection(voucherMode: $voucherMode) {
    id
    comment
    lines {
      id
      name
      productVariantName
      brand {
        ...BrandFragment
      }
      size
      productNumber
      comment
      item {
        ...ItemFragment
      }
      addedFromCategory {
        ...CategoryFragment
      }
      productExternalUrl
      appliedPromotions {
        ...AppliedPromotionFragment
      }
      hasDiscount
      unitPrice {
        ...MonetaryValueFragment
      }
      unitOriginalPrice {
        ...MonetaryValueFragment
      }
      unitPriceReduction {
        ...MonetaryValueFragment
      }
      lineValue {
        ...MonetaryValueFragment
      }
      originalLineValue {
        ...MonetaryValueFragment
      }
      discountPercent
      taxPercent
      quantity
      localizedSize {
        ...LocalizedProdSizeFragment
      }
      subscriptionId
      displayItem {
        ...DisplayItemFragment
      }
    }
    grandTotal {
      value
      currency {
        ...CurrencyFragment
      }
      formattedValue
    }
    language {
      name
      code
      languageCode
      languageName
      countryCode
      default
    }
    discounts {
      name
      appliedOn
      method
      type
      value {
        ...MonetaryValueFragment
      }
      orderReduction {
        ...MonetaryValueFragment
      }
      totalItemReduction {
        ...MonetaryValueFragment
      }
      totalShippingReduction {
        ...MonetaryValueFragment
      }
      lineIds
      actions {
        ...VoucherActionFragment
      }
      expiryDate
      attributes {
        ...AttributeFragment
      }
      giftCard {
        ...GiftCardFragment
      }
      isExternal
    }
    taxExempt
    brickAndMortar {
      id
      name
      type
      address
      latitude
      longitude
      website
      country {
        ...CountryFragment
      }
      openingDays {
        ...OpeningDayFragment
      }
      state {
        ...CountryStateFragment
      }
      distance {
        ...DistanceFragment
      }
    }
    checkout {
      addressFields {
        ...AddressFieldListFragment
      }
      checkoutScript
      shippingAddress {
        ...AddressFragment
      }
      hasSeparateBillingAddress
      separateBillingAddress {
        ...AddressFragment
      }
      totals {
        ...SelectionTotalRowFragment
      }
      paymentMethod {
        ...PaymentMethodFragment
      }
      paymentMethods {
        ...PaymentMethodFragment
      }
      shippingMethod {
        ...ShippingMethodFragment
      }
      shippingMethods {
        ...ShippingMethodFragment
      }
      widgets {
        ...WidgetFragment
      }
      deliveryGroups {
        ...SelectionDeliveryGroupFragment
      }
    }
    attributes {
      elements {
        ...AttributeElementFragment
      }
      type {
        ...AttributeTypeFragment
      }
    }
    availableAttributes {
      elements {
        ...AttributeElementFragment
      }
      type {
        ...AttributeTypeFragment
      }
    }
    externalGiftCardAvailable
    usedFallbackTax
  }
}
Variables
{"voucherMode": "LINES"}
Response
{
  "data": {
    "selection": {
      "id": "xyz789",
      "comment": "xyz789",
      "lines": [Line],
      "grandTotal": MonetaryValue,
      "language": Language,
      "discounts": [Voucher],
      "taxExempt": false,
      "brickAndMortar": BrickAndMortar,
      "checkout": CheckoutSelection,
      "attributes": [Attribute],
      "availableAttributes": [Attribute],
      "externalGiftCardAvailable": false,
      "usedFallbackTax": false
    }
  }
}

session

Description

Get the current session.

Required operating mode: SESSION

Response

Returns a Session!

Example

Query
query Session {
  session {
    country {
      name
      code
      isEU
      states {
        ...CountryStateFragment
      }
      defaultLanguage {
        ...LanguageFragment
      }
      shipTo
      translations {
        ...TranslatedCountryFragment
      }
    }
    countryState {
      name
      code
    }
    language {
      name
      code
      languageCode
      languageName
      countryCode
      default
    }
    loggedIn {
      id
      email
      firstName
      lastName
      cellPhoneNumber
      phoneNumber
      totalOrders
      billingAddress {
        ...AddressFragment
      }
      websiteUrl
      language {
        ...LanguageFragment
      }
      newsletterSubscriptions {
        ...NewsletterSubscriptionFragment
      }
      attributes {
        ...AttributeFragment
      }
      wishlists {
        ...WishlistFragment
      }
      subscriptionContracts {
        ...SubscriptionContractFragment
      }
      orders {
        ...OrderFragment
      }
      birthdate
      gender
    }
    pricelist {
      id
      name
      comment
      currency {
        ...CurrencyFragment
      }
      countries {
        ...CountryFragment
      }
    }
    market {
      id
      name
      countries {
        ...CountryFragment
      }
      hasCampaignSite
    }
  }
}
Response
{
  "data": {
    "session": {
      "country": Country,
      "countryState": CountryState,
      "language": Language,
      "loggedIn": Customer,
      "pricelist": Pricelist,
      "market": Market
    }
  }
}

storedPaymentMethods

Description

Get payment methods supporting recurring payment.

Filters by session market, pricelist and country code by default.

Filters by contract market, pricelist and country code if provided.

Required operating mode: LOGGED_IN

Response

Returns a StoredPaymentMethodPayload!

Arguments
Name Description
contract - Int

Example

Query
query StoredPaymentMethods($contract: Int) {
  storedPaymentMethods(contract: $contract) {
    paymentMethods {
      active
      addressAfterPayment
      handlingCost {
        ...MonetaryValueFragment
      }
      id
      initiateOnlySupported
      kind
      name
      recurringSupported
      uri
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"contract": 123}
Response
{
  "data": {
    "storedPaymentMethods": {
      "paymentMethods": [PaymentMethod],
      "userErrors": [UserError]
    }
  }
}

subscriptionContracts

Description

Get customer's subscription contract list.

Required operating mode: LOGGED_IN

Response

Returns [SubscriptionContract!]!

Example

Query
query SubscriptionContracts {
  subscriptionContracts {
    id
    createdAt
    updatedAt
    market {
      id
      name
      countries {
        ...CountryFragment
      }
      hasCampaignSite
    }
    pricelist {
      id
      name
      comment
      currency {
        ...CurrencyFragment
      }
      countries {
        ...CountryFragment
      }
    }
    originatingOrder {
      id
      comment
      number
      status
      orderDate
      userIP
      currencyBaseRate
      otherComment
      attributes {
        ...AttributeFragment
      }
      billingAddress {
        ...AddressFragment
      }
      country {
        ...CountryFragment
      }
      discountsApplied {
        ...VoucherFragment
      }
      language {
        ...LanguageFragment
      }
      lines {
        ...LineFragment
      }
      market {
        ...MarketFragment
      }
      paymentMethod {
        ...PaymentMethodFragment
      }
      shippingAddress {
        ...AddressFragment
      }
      shippingMethod {
        ...ShippingMethodFragment
      }
      state {
        ...CountryStateFragment
      }
      totals {
        ...SelectionTotalRowFragment
      }
      affiliateHtml
      paymentHtml
      deliveryGroups {
        ...DeliveryGroupFragment
      }
      usedFallbackTax
    }
    shippingAddress {
      firstName
      lastName
      address1
      address2
      city
      zipCode
      stateOrProvince
      cellPhoneNumber
      phoneNumber
      faxNumber
      email
      companyName
      attention
      vatNumber
      country {
        ...CountryFragment
      }
      state {
        ...CountryStateFragment
      }
    }
    subscriptions {
      id
      attentionReasons
      interval {
        ...DateIntervalFragment
      }
      needsAttention
      nextOrderDate
      nextRetryDate
      discount
      createdAt
      updatedAt
      plan {
        ...SubscriptionPlanFragment
      }
      status
      lines {
        ...LineFragment
      }
    }
    shippingOption {
      comment
      selected
      name
      price {
        ...MonetaryValueFragment
      }
      id
    }
    subscriptionPayment {
      id
      paymentMethod
      createdAt
      updatedAt
      status
    }
  }
}
Response
{
  "data": {
    "subscriptionContracts": [
      {
        "id": 987,
        "createdAt": DateTimeTz,
        "updatedAt": DateTimeTz,
        "market": Market,
        "pricelist": Pricelist,
        "originatingOrder": Order,
        "shippingAddress": Address,
        "subscriptions": [SubscriptionInfo],
        "shippingOption": ShippingMethod,
        "subscriptionPayment": [SubscriptionPayment]
      }
    ]
  }
}

Mutations

addFlexibleBundle

Description

Add flexible bundle to the current selection.

Required operating mode: SESSION

Response

Returns an AddItemPayload!

Arguments
Name Description
item - String!
sections - [BundleSectionInput!]!
quantity - Int! Default = 1
categoryId - Int
productExternalUrl - String! Default = ""
comment - String! Default = ""
subscriptionPlan - Int
localizedProdSize - LocalizedProdSizeInput

Example

Query
mutation AddFlexibleBundle(
  $item: String!,
  $sections: [BundleSectionInput!]!,
  $quantity: Int!,
  $categoryId: Int,
  $productExternalUrl: String!,
  $comment: String!,
  $subscriptionPlan: Int,
  $localizedProdSize: LocalizedProdSizeInput
) {
  addFlexibleBundle(
    item: $item,
    sections: $sections,
    quantity: $quantity,
    categoryId: $categoryId,
    productExternalUrl: $productExternalUrl,
    comment: $comment,
    subscriptionPlan: $subscriptionPlan,
    localizedProdSize: $localizedProdSize
  ) {
    line {
      id
      name
      productVariantName
      brand {
        ...BrandFragment
      }
      size
      productNumber
      comment
      item {
        ...ItemFragment
      }
      addedFromCategory {
        ...CategoryFragment
      }
      productExternalUrl
      appliedPromotions {
        ...AppliedPromotionFragment
      }
      hasDiscount
      unitPrice {
        ...MonetaryValueFragment
      }
      unitOriginalPrice {
        ...MonetaryValueFragment
      }
      unitPriceReduction {
        ...MonetaryValueFragment
      }
      lineValue {
        ...MonetaryValueFragment
      }
      originalLineValue {
        ...MonetaryValueFragment
      }
      discountPercent
      taxPercent
      quantity
      localizedSize {
        ...LocalizedProdSizeFragment
      }
      subscriptionId
      displayItem {
        ...DisplayItemFragment
      }
    }
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "item": "xyz789",
  "sections": [BundleSectionInput],
  "quantity": 1,
  "categoryId": 987,
  "productExternalUrl": "",
  "comment": "",
  "subscriptionPlan": 123,
  "localizedProdSize": LocalizedProdSizeInput
}
Response
{
  "data": {
    "addFlexibleBundle": {
      "line": Line,
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

addItem

Description

Add display item or fixed bundle to the current selection.

Required operating mode: SESSION

Response

Returns an AddItemPayload!

Arguments
Name Description
item - String!
quantity - Int! Default = 1
categoryId - Int
productExternalUrl - String! Default = ""
comment - String! Default = ""
subscriptionPlan - Int
localizedProdSize - LocalizedProdSizeInput

Example

Query
mutation AddItem(
  $item: String!,
  $quantity: Int!,
  $categoryId: Int,
  $productExternalUrl: String!,
  $comment: String!,
  $subscriptionPlan: Int,
  $localizedProdSize: LocalizedProdSizeInput
) {
  addItem(
    item: $item,
    quantity: $quantity,
    categoryId: $categoryId,
    productExternalUrl: $productExternalUrl,
    comment: $comment,
    subscriptionPlan: $subscriptionPlan,
    localizedProdSize: $localizedProdSize
  ) {
    line {
      id
      name
      productVariantName
      brand {
        ...BrandFragment
      }
      size
      productNumber
      comment
      item {
        ...ItemFragment
      }
      addedFromCategory {
        ...CategoryFragment
      }
      productExternalUrl
      appliedPromotions {
        ...AppliedPromotionFragment
      }
      hasDiscount
      unitPrice {
        ...MonetaryValueFragment
      }
      unitOriginalPrice {
        ...MonetaryValueFragment
      }
      unitPriceReduction {
        ...MonetaryValueFragment
      }
      lineValue {
        ...MonetaryValueFragment
      }
      originalLineValue {
        ...MonetaryValueFragment
      }
      discountPercent
      taxPercent
      quantity
      localizedSize {
        ...LocalizedProdSizeFragment
      }
      subscriptionId
      displayItem {
        ...DisplayItemFragment
      }
    }
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "item": "abc123",
  "quantity": 1,
  "categoryId": 123,
  "productExternalUrl": "",
  "comment": "",
  "subscriptionPlan": 123,
  "localizedProdSize": LocalizedProdSizeInput
}
Response
{
  "data": {
    "addItem": {
      "line": Line,
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

addSubscription

Description

Add a subscription to an existing subscription contract.

Required operating mode: LOGGED_IN

Response

Returns a SubscriptionContractPayload!

Arguments
Name Description
item - String!
contractId - Int!
subscriptionPlanId - Int!
quantity - Int!
nextOrderDate - Date!

Example

Query
mutation AddSubscription(
  $item: String!,
  $contractId: Int!,
  $subscriptionPlanId: Int!,
  $quantity: Int!,
  $nextOrderDate: Date!
) {
  addSubscription(
    item: $item,
    contractId: $contractId,
    subscriptionPlanId: $subscriptionPlanId,
    quantity: $quantity,
    nextOrderDate: $nextOrderDate
  ) {
    contract {
      id
      createdAt
      updatedAt
      market {
        ...MarketFragment
      }
      pricelist {
        ...PricelistFragment
      }
      originatingOrder {
        ...OrderFragment
      }
      shippingAddress {
        ...AddressFragment
      }
      subscriptions {
        ...SubscriptionInfoFragment
      }
      shippingOption {
        ...ShippingMethodFragment
      }
      subscriptionPayment {
        ...SubscriptionPaymentFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "item": "abc123",
  "contractId": 123,
  "subscriptionPlanId": 987,
  "quantity": 987,
  "nextOrderDate": "2007-12-03"
}
Response
{
  "data": {
    "addSubscription": {
      "contract": SubscriptionContract,
      "userErrors": [UserError]
    }
  }
}

addVoucher

Description

Add a code voucher to the current selection.

Can be protected by captcha.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
code - String!

Example

Query
mutation AddVoucher($code: String!) {
  addVoucher(code: $code) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"code": "xyz789"}
Response
{
  "data": {
    "addVoucher": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

addWishlistItem

Description

Add a display item to an existing wishlist.

Required operating mode: LOGGED_IN

Response

Returns an AddWishlistItemPayload!

Arguments
Name Description
displayItemId - Int!
wishlistId - Int Optional ID of the wishlist to add the item to. If not specified, the item is added to the user's default wishlist.

Example

Query
mutation AddWishlistItem(
  $displayItemId: Int!,
  $wishlistId: Int
) {
  addWishlistItem(
    displayItemId: $displayItemId,
    wishlistId: $wishlistId
  ) {
    wishlist {
      id
      name
      isDefault
      items {
        ...DisplayItemFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"displayItemId": 987, "wishlistId": 987}
Response
{
  "data": {
    "addWishlistItem": {
      "wishlist": Wishlist,
      "userErrors": [UserError]
    }
  }
}

applyGiftCard

Description

Apply a gift card on the current selection.

Possible Error Codes:

  • internal_error- An internal issue not directly related to the shopper.
  • invalid_input- A validation error, such as the gift card not existing or an incorrect PIN being provided.
  • inactive_card- The gift card being used is either inactive or expired.
  • insufficient_funds- The gift card does not have sufficient funds.
  • invalid_gift_card_currency- The gift card’s currency does not match the current currency of the selection.
  • empty_card_balance- The gift card balance is zero.

Can be protected by captcha.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
input - ApplyGiftCardInput!

Example

Query
mutation ApplyGiftCard($input: ApplyGiftCardInput!) {
  applyGiftCard(input: $input) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"input": ApplyGiftCardInput}
Response
{
  "data": {
    "applyGiftCard": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

changeSubscriptionContractAddress

Description

Change the subscription contract address.

Required operating mode: LOGGED_IN

Response

Returns a SubscriptionContractPayload!

Arguments
Name Description
contractId - Int!
address - SubscriptionContractAddressInput!

Example

Query
mutation ChangeSubscriptionContractAddress(
  $contractId: Int!,
  $address: SubscriptionContractAddressInput!
) {
  changeSubscriptionContractAddress(
    contractId: $contractId,
    address: $address
  ) {
    contract {
      id
      createdAt
      updatedAt
      market {
        ...MarketFragment
      }
      pricelist {
        ...PricelistFragment
      }
      originatingOrder {
        ...OrderFragment
      }
      shippingAddress {
        ...AddressFragment
      }
      subscriptions {
        ...SubscriptionInfoFragment
      }
      shippingOption {
        ...ShippingMethodFragment
      }
      subscriptionPayment {
        ...SubscriptionPaymentFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "contractId": 987,
  "address": SubscriptionContractAddressInput
}
Response
{
  "data": {
    "changeSubscriptionContractAddress": {
      "contract": SubscriptionContract,
      "userErrors": [UserError]
    }
  }
}

claimSelection

Description

Claim a selection from a purchase link.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
id - String! Selection id from a purchase link.
hash - String! Hash from a purchase link.

Example

Query
mutation ClaimSelection(
  $id: String!,
  $hash: String!
) {
  claimSelection(
    id: $id,
    hash: $hash
  ) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "id": "xyz789",
  "hash": "xyz789"
}
Response
{
  "data": {
    "claimSelection": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

deleteLine

Description

Delete selection line by its id.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
lineId - String!

Example

Query
mutation DeleteLine($lineId: String!) {
  deleteLine(lineId: $lineId) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"lineId": "abc123"}
Response
{
  "data": {
    "deleteLine": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

handleStoredPaymentResult

Description

Finalize the recurring payment process by send all variables received to paymentReturnPage.

Required operating mode: LOGGED_IN

Response

Returns a StoredPaymentResultPayload!

Arguments
Name Description
paymentMethodFields - Map!

Example

Query
mutation HandleStoredPaymentResult($paymentMethodFields: Map!) {
  handleStoredPaymentResult(paymentMethodFields: $paymentMethodFields) {
    success
    paymentHtml
    contracts {
      id
      createdAt
      updatedAt
      market {
        ...MarketFragment
      }
      pricelist {
        ...PricelistFragment
      }
      originatingOrder {
        ...OrderFragment
      }
      shippingAddress {
        ...AddressFragment
      }
      subscriptions {
        ...SubscriptionInfoFragment
      }
      shippingOption {
        ...ShippingMethodFragment
      }
      subscriptionPayment {
        ...SubscriptionPaymentFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"paymentMethodFields": Map}
Response
{
  "data": {
    "handleStoredPaymentResult": {
      "success": false,
      "paymentHtml": "xyz789",
      "contracts": [SubscriptionContract],
      "userErrors": [UserError]
    }
  }
}

handleWidgetEvent

Description

Handle event triggered by widget.

Provided values are passed to the plugins that supports them.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
payload - Map!

Example

Query
mutation HandleWidgetEvent($payload: Map!) {
  handleWidgetEvent(payload: $payload) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"payload": Map}
Response
{
  "data": {
    "handleWidgetEvent": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

initializeStoredPaymentInstructions

Description

Initiate the recurring payment process for the provided subscription contracts.

Required operating mode: LOGGED_IN

Arguments
Name Description
input - StoredPaymentInstructionsInput!

Example

Query
mutation InitializeStoredPaymentInstructions($input: StoredPaymentInstructionsInput!) {
  initializeStoredPaymentInstructions(input: $input) {
    action {
      action
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"input": StoredPaymentInstructionsInput}
Response
{
  "data": {
    "initializeStoredPaymentInstructions": {
      "action": PaymentAction,
      "userErrors": [UserError]
    }
  }
}

login

Description

Login as the customer in the current session.

The current selection is merged with the selection associated with the customer.

Can be protected by captcha.

Required operating mode: SESSION

Rate limit: 10 requests per minute.

Response

Returns a LoginPayload!

Arguments
Name Description
email - String!
password - String!
loginOptions - LoginOptions! Controls how the login should affect the selection and session on successful login. Default = {applyCustomerMarket: false}

Example

Query
mutation Login(
  $email: String!,
  $password: String!,
  $loginOptions: LoginOptions!
) {
  login(
    email: $email,
    password: $password,
    loginOptions: $loginOptions
  ) {
    loggedIn {
      id
      email
      firstName
      lastName
      cellPhoneNumber
      phoneNumber
      totalOrders
      billingAddress {
        ...AddressFragment
      }
      websiteUrl
      language {
        ...LanguageFragment
      }
      newsletterSubscriptions {
        ...NewsletterSubscriptionFragment
      }
      attributes {
        ...AttributeFragment
      }
      wishlists {
        ...WishlistFragment
      }
      subscriptionContracts {
        ...SubscriptionContractFragment
      }
      orders {
        ...OrderFragment
      }
      birthdate
      gender
    }
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    session {
      country {
        ...CountryFragment
      }
      countryState {
        ...CountryStateFragment
      }
      language {
        ...LanguageFragment
      }
      loggedIn {
        ...CustomerFragment
      }
      pricelist {
        ...PricelistFragment
      }
      market {
        ...MarketFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "email": "abc123",
  "password": "abc123",
  "loginOptions": {"applyCustomerMarket": "false"}
}
Response
{
  "data": {
    "login": {
      "loggedIn": Customer,
      "selection": Selection,
      "session": Session,
      "userErrors": [UserError]
    }
  }
}

logout

Description

Log out customer from the current session.

Customer selection can be kept after logout if Retain session after logout plugin fields is set to Yes. Otherwise, selection is detached from the session.

Required operating mode: SESSION

Response

Returns a LogoutPayload

Example

Query
mutation Logout {
  logout {
    session {
      country {
        ...CountryFragment
      }
      countryState {
        ...CountryStateFragment
      }
      language {
        ...LanguageFragment
      }
      loggedIn {
        ...CustomerFragment
      }
      pricelist {
        ...PricelistFragment
      }
      market {
        ...MarketFragment
      }
    }
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
  }
}
Response
{
  "data": {
    "logout": {
      "session": Session,
      "selection": Selection
    }
  }
}

lookupUri

Description

Use Centra as a routing mechanism based on request path/URI

  • DISPLAY_ITEM - looks for display item
  • CATEGORY - looks for category
  • AFFILIATE - looks for affiliate and sets it on the current selection in SESSION mode
  • CAMPAIGN_SITE - looks for campaign site and sets it on the current selection in SESSION mode
  • URL_VOUCHER - looks for URL voucher and sets it on the current selection in SESSION mode
Response

Returns a URILookupPayload

Arguments
Name Description
page - Int! Default = 1
limit - Int! Default = 20
for - [UriLookupType!]!
uri - String!
market - [Int!] Required operating mode: NO_SESSION
pricelist - [Int!] Required operating mode: NO_SESSION
languageCode - [String!]

Example

Query
mutation LookupUri(
  $page: Int!,
  $limit: Int!,
  $for: [UriLookupType!]!,
  $uri: String!,
  $market: [Int!],
  $pricelist: [Int!],
  $languageCode: [String!]
) {
  lookupUri(
    page: $page,
    limit: $limit,
    for: $for,
    uri: $uri,
    market: $market,
    pricelist: $pricelist,
    languageCode: $languageCode
  ) {
    found
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "page": 1,
  "limit": 20,
  "for": ["AFFILIATE"],
  "uri": "xyz789",
  "market": [123],
  "pricelist": [987],
  "languageCode": ["abc123"]
}
Response
{
  "data": {
    "lookupUri": {
      "found": "AFFILIATE",
      "userErrors": [UserError]
    }
  }
}

paymentInstructions

Description

Initiate the payment process for the current selection.

Can be protected by captcha.

Required operating mode: SESSION

Response

Returns a PaymentInstructionsPayload!

Arguments
Name Description
input - PaymentInstructionsInput!

Example

Query
mutation PaymentInstructions($input: PaymentInstructionsInput!) {
  paymentInstructions(input: $input) {
    action {
      action
    }
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"input": PaymentInstructionsInput}
Response
{
  "data": {
    "paymentInstructions": {
      "action": PaymentAction,
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

paymentResult

Description

Verify payment to create order.

Send all POST/GET variables received to paymentReturnPage to verify if payment was successfully processed.

Selection is converted into order on successful payment and is detached from the current session.

Required operating mode: SESSION

Response

Returns a PaymentResultPayload!

Arguments
Name Description
paymentMethodFields - Map!

Example

Query
mutation PaymentResult($paymentMethodFields: Map!) {
  paymentResult(paymentMethodFields: $paymentMethodFields) {
    type
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"paymentMethodFields": Map}
Response
{
  "data": {
    "paymentResult": {
      "type": "SUCCESS",
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

registerCustomer

Description

Register customer.

Can be protected by captcha.

Required operating mode: SESSION

Response

Returns a CustomerRegisterPayload!

Arguments
Name Description
input - CustomerRegisterInput!

Example

Query
mutation RegisterCustomer($input: CustomerRegisterInput!) {
  registerCustomer(input: $input) {
    loggedIn {
      id
      email
      firstName
      lastName
      cellPhoneNumber
      phoneNumber
      totalOrders
      billingAddress {
        ...AddressFragment
      }
      websiteUrl
      language {
        ...LanguageFragment
      }
      newsletterSubscriptions {
        ...NewsletterSubscriptionFragment
      }
      attributes {
        ...AttributeFragment
      }
      wishlists {
        ...WishlistFragment
      }
      subscriptionContracts {
        ...SubscriptionContractFragment
      }
      orders {
        ...OrderFragment
      }
      birthdate
      gender
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"input": CustomerRegisterInput}
Response
{
  "data": {
    "registerCustomer": {
      "loggedIn": Customer,
      "userErrors": [UserError]
    }
  }
}

removeSubscriptionPlanFromLine

Description

Remove subscription plan from the selection line by line id.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
lineId - String!

Example

Query
mutation RemoveSubscriptionPlanFromLine($lineId: String!) {
  removeSubscriptionPlanFromLine(lineId: $lineId) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"lineId": "xyz789"}
Response
{
  "data": {
    "removeSubscriptionPlanFromLine": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

removeVoucher

Description

Remove applied voucher from the current selection.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
code - String!

Example

Query
mutation RemoveVoucher($code: String!) {
  removeVoucher(code: $code) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"code": "abc123"}
Response
{
  "data": {
    "removeVoucher": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

removeWishlistItem

Description

Remove a display item to an existing wishlist.

Required operating mode: LOGGED_IN

Response

Returns a RemoveWishlistItemPayload!

Arguments
Name Description
displayItemId - Int!
wishlistId - Int!

Example

Query
mutation RemoveWishlistItem(
  $displayItemId: Int!,
  $wishlistId: Int!
) {
  removeWishlistItem(
    displayItemId: $displayItemId,
    wishlistId: $wishlistId
  ) {
    wishlist {
      id
      name
      isDefault
      items {
        ...DisplayItemFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"displayItemId": 123, "wishlistId": 123}
Response
{
  "data": {
    "removeWishlistItem": {
      "wishlist": Wishlist,
      "userErrors": [UserError]
    }
  }
}

requestPasswordResetEmail

Description

Request reset password email to be sent to the provided email.

The password reset link will be the domain from a Centra setting, resetPasswordExternalUrl is added as a path. Example: domain - https://example.com resetPasswordExternalUrl - hello/world link customer receives - https://example.com/hello/world?i=123&id=567

Can be protected by captcha.

Required operating mode: SESSION

Arguments
Name Description
email - String!
resetPasswordExternalUrl - String!

Example

Query
mutation RequestPasswordResetEmail(
  $email: String!,
  $resetPasswordExternalUrl: String!
) {
  requestPasswordResetEmail(
    email: $email,
    resetPasswordExternalUrl: $resetPasswordExternalUrl
  ) {
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "email": "xyz789",
  "resetPasswordExternalUrl": "xyz789"
}
Response
{
  "data": {
    "requestPasswordResetEmail": {
      "userErrors": [UserError]
    }
  }
}

resetPassword

Description

Finalize reset password flow providing new password.

Provide i and id GET request variables received on reset password page.

Required operating mode: SESSION

Response

Returns a ResetPasswordPayload!

Arguments
Name Description
password - String!
confirmPassword - String
id - String!
i - String!
loginOnSuccess - Boolean! Controls weather customer will be logged in automatically or not on success password reset action. Default = false

Example

Query
mutation ResetPassword(
  $password: String!,
  $confirmPassword: String,
  $id: String!,
  $i: String!,
  $loginOnSuccess: Boolean!
) {
  resetPassword(
    password: $password,
    confirmPassword: $confirmPassword,
    id: $id,
    i: $i,
    loginOnSuccess: $loginOnSuccess
  ) {
    changed
    session {
      country {
        ...CountryFragment
      }
      countryState {
        ...CountryStateFragment
      }
      language {
        ...LanguageFragment
      }
      loggedIn {
        ...CustomerFragment
      }
      pricelist {
        ...PricelistFragment
      }
      market {
        ...MarketFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "password": "xyz789",
  "confirmPassword": "xyz789",
  "id": "xyz789",
  "i": "abc123",
  "loginOnSuccess": false
}
Response
{
  "data": {
    "resetPassword": {
      "changed": true,
      "session": Session,
      "userErrors": [UserError]
    }
  }
}

setAddress

Description

Set shipping and billing addresses on the current selection.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
shippingAddress - AddressInput!
separateBillingAddress - AddressInput Defaults to shippingAddress.
sendCartAbandonmentEmail - Boolean Default = true

Example

Query
mutation SetAddress(
  $shippingAddress: AddressInput!,
  $separateBillingAddress: AddressInput,
  $sendCartAbandonmentEmail: Boolean
) {
  setAddress(
    shippingAddress: $shippingAddress,
    separateBillingAddress: $separateBillingAddress,
    sendCartAbandonmentEmail: $sendCartAbandonmentEmail
  ) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "shippingAddress": AddressInput,
  "separateBillingAddress": AddressInput,
  "sendCartAbandonmentEmail": true
}
Response
{
  "data": {
    "setAddress": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setAffiliate

Description

Set an affiliate on the current session by its uri.

Any selection created for the current session during affiliate Cookie expiration in days will have an affiliate set on it.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
uri - String!

Example

Query
mutation SetAffiliate($uri: String!) {
  setAffiliate(uri: $uri) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"uri": "xyz789"}
Response
{
  "data": {
    "setAffiliate": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setAllocationRule

Description

Set allocation rule to request for fulfillment of order.

Required operating mode: SHARED_SECRET

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
id - Int!

Example

Query
mutation SetAllocationRule($id: Int!) {
  setAllocationRule(id: $id) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "setAllocationRule": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setBrickAndMortar

Description

Set a brick and mortar store on the current selection, to request for fulfillment of order.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
id - Int!

Example

Query
mutation SetBrickAndMortar($id: Int!) {
  setBrickAndMortar(id: $id) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "setBrickAndMortar": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setCampaignSite

Description

Set campaign site market on the current selection by its uri.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
uri - String!

Example

Query
mutation SetCampaignSite($uri: String!) {
  setCampaignSite(uri: $uri) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"uri": "xyz789"}
Response
{
  "data": {
    "setCampaignSite": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setCountryState

Description

Set the current session and selection country and state.

Can trigger pricelist/market change along with unavailable products removal froom the current selection.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
countryCode - String!
stateCode - String

Example

Query
mutation SetCountryState(
  $countryCode: String!,
  $stateCode: String
) {
  setCountryState(
    countryCode: $countryCode,
    stateCode: $stateCode
  ) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "countryCode": "xyz789",
  "stateCode": "abc123"
}
Response
{
  "data": {
    "setCountryState": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setLanguage

Description

Set the language on the current session and selection.

Required operating mode: SESSION

Response

Returns a SessionPayload!

Arguments
Name Description
code - String!

Example

Query
mutation SetLanguage($code: String!) {
  setLanguage(code: $code) {
    session {
      country {
        ...CountryFragment
      }
      countryState {
        ...CountryStateFragment
      }
      language {
        ...LanguageFragment
      }
      loggedIn {
        ...CustomerFragment
      }
      pricelist {
        ...PricelistFragment
      }
      market {
        ...MarketFragment
      }
    }
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"code": "xyz789"}
Response
{
  "data": {
    "setLanguage": {
      "session": Session,
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setMarket

Description

Set the market on the current selection.

Required operating mode: SHARED_SECRET

Response

Returns a SessionPayload!

Arguments
Name Description
id - Int!

Example

Query
mutation SetMarket($id: Int!) {
  setMarket(id: $id) {
    session {
      country {
        ...CountryFragment
      }
      countryState {
        ...CountryStateFragment
      }
      language {
        ...LanguageFragment
      }
      loggedIn {
        ...CustomerFragment
      }
      pricelist {
        ...PricelistFragment
      }
      market {
        ...MarketFragment
      }
    }
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "setMarket": {
      "session": Session,
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setPaymentMethod

Description

Set the paymentMethod on the current selection.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
id - Int!

Example

Query
mutation SetPaymentMethod($id: Int!) {
  setPaymentMethod(id: $id) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"id": 123}
Response
{
  "data": {
    "setPaymentMethod": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setSelection

Description

Attach open selection to the token, it now becomes the current selection for the session.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
id - String!

Example

Query
mutation SetSelection($id: String!) {
  setSelection(id: $id) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "setSelection": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setSelectionAttributes

Description

Set dynamic and mapped attributes on the current selection.

Required operating mode: SHARED_SECRET

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
dynamicAttributes - [DynamicSelectionAttributeSetInput!]
mappedAttributes - [MappedSelectionAttributeSetInput!]

Example

Query
mutation SetSelectionAttributes(
  $dynamicAttributes: [DynamicSelectionAttributeSetInput!],
  $mappedAttributes: [MappedSelectionAttributeSetInput!]
) {
  setSelectionAttributes(
    dynamicAttributes: $dynamicAttributes,
    mappedAttributes: $mappedAttributes
  ) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "dynamicAttributes": [
    DynamicSelectionAttributeSetInput
  ],
  "mappedAttributes": [MappedSelectionAttributeSetInput]
}
Response
{
  "data": {
    "setSelectionAttributes": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

setShippingMethod

Description

Set the shipping method on the current selection.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
id - Int!

Example

Query
mutation SetShippingMethod($id: Int!) {
  setShippingMethod(id: $id) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "setShippingMethod": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

subscribeToBackInStock

Description

Subscribe to back in stock notification.

Can be protected by captcha.

Required operating mode: SESSION

Response

Returns a StockSubscribePayload!

Arguments
Name Description
input - BackInStockSubscribeInput!

Example

Query
mutation SubscribeToBackInStock($input: BackInStockSubscribeInput!) {
  subscribeToBackInStock(input: $input) {
    subscribed
    userErrors {
      message
      path
    }
  }
}
Variables
{"input": BackInStockSubscribeInput}
Response
{
  "data": {
    "subscribeToBackInStock": {
      "subscribed": true,
      "userErrors": [UserError]
    }
  }
}

subscribeToNewsletter

Description

Subscribe to newsletter for the provided email address.

Can be protected by captcha.

Required operating mode: SESSION

Response

Returns a NewsletterSubscribePayload!

Arguments
Name Description
email - String!
additionalInfo - NewsletterSubscribeInput

Example

Query
mutation SubscribeToNewsletter(
  $email: String!,
  $additionalInfo: NewsletterSubscribeInput
) {
  subscribeToNewsletter(
    email: $email,
    additionalInfo: $additionalInfo
  ) {
    subscribed
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "email": "xyz789",
  "additionalInfo": NewsletterSubscribeInput
}
Response
{
  "data": {
    "subscribeToNewsletter": {
      "subscribed": false,
      "userErrors": [UserError]
    }
  }
}

triggerSelectionAction

Description

Trigger selection action such as external allocation process.

Required operating mode: SESSION

Response

Returns a TriggerSelectionActionPayload!

Arguments
Name Description
actionType - SelectionActionType!

Example

Query
mutation TriggerSelectionAction($actionType: SelectionActionType!) {
  triggerSelectionAction(actionType: $actionType) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"actionType": "ALLOCATE"}
Response
{
  "data": {
    "triggerSelectionAction": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

unsetSelectionAttributes

Description

Unset dynamic and mapped attributes from the current selection.

Required operating mode: SHARED_SECRET

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
dynamicAttributes - [DynamicSelectionAttributeUnsetInput!]
mappedAttributes - [MappedSelectionAttributeUnsetInput!]

Example

Query
mutation UnsetSelectionAttributes(
  $dynamicAttributes: [DynamicSelectionAttributeUnsetInput!],
  $mappedAttributes: [MappedSelectionAttributeUnsetInput!]
) {
  unsetSelectionAttributes(
    dynamicAttributes: $dynamicAttributes,
    mappedAttributes: $mappedAttributes
  ) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "dynamicAttributes": [
    DynamicSelectionAttributeUnsetInput
  ],
  "mappedAttributes": [MappedSelectionAttributeUnsetInput]
}
Response
{
  "data": {
    "unsetSelectionAttributes": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

updateCustomer

Description

Update currently logged in customer.

Required operating mode: LOGGED_IN

Response

Returns a CustomerUpdatePayload!

Arguments
Name Description
input - CustomerUpdateInput!

Example

Query
mutation UpdateCustomer($input: CustomerUpdateInput!) {
  updateCustomer(input: $input) {
    customer {
      id
      email
      firstName
      lastName
      cellPhoneNumber
      phoneNumber
      totalOrders
      billingAddress {
        ...AddressFragment
      }
      websiteUrl
      language {
        ...LanguageFragment
      }
      newsletterSubscriptions {
        ...NewsletterSubscriptionFragment
      }
      attributes {
        ...AttributeFragment
      }
      wishlists {
        ...WishlistFragment
      }
      subscriptionContracts {
        ...SubscriptionContractFragment
      }
      orders {
        ...OrderFragment
      }
      birthdate
      gender
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"input": CustomerUpdateInput}
Response
{
  "data": {
    "updateCustomer": {
      "customer": Customer,
      "userErrors": [UserError]
    }
  }
}

updateLine

Description

Update a selection line by its id.

Required operating mode: SESSION

Response

Returns a SelectionMutationPayload!

Arguments
Name Description
lineId - String!
quantity - Int
subscriptionPlanId - Int
comment - String

Example

Query
mutation UpdateLine(
  $lineId: String!,
  $quantity: Int,
  $subscriptionPlanId: Int,
  $comment: String
) {
  updateLine(
    lineId: $lineId,
    quantity: $quantity,
    subscriptionPlanId: $subscriptionPlanId,
    comment: $comment
  ) {
    selection {
      id
      comment
      lines {
        ...LineFragment
      }
      grandTotal {
        ...MonetaryValueFragment
      }
      language {
        ...LanguageFragment
      }
      discounts {
        ...VoucherFragment
      }
      taxExempt
      brickAndMortar {
        ...BrickAndMortarFragment
      }
      checkout {
        ...CheckoutSelectionFragment
      }
      attributes {
        ...AttributeFragment
      }
      availableAttributes {
        ...AttributeFragment
      }
      externalGiftCardAvailable
      usedFallbackTax
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "lineId": "xyz789",
  "quantity": 987,
  "subscriptionPlanId": 123,
  "comment": "abc123"
}
Response
{
  "data": {
    "updateLine": {
      "selection": Selection,
      "userErrors": [UserError]
    }
  }
}

updateSubscriptionInterval

Description

Update the interval for a subscription owned by the logged in customer.

Interval is taken from the provided subscription plan.

Required operating mode: LOGGED_IN

Response

Returns a SubscriptionContractPayload!

Arguments
Name Description
subscriptionId - Int!
subscriptionPlanId - Int!

Example

Query
mutation UpdateSubscriptionInterval(
  $subscriptionId: Int!,
  $subscriptionPlanId: Int!
) {
  updateSubscriptionInterval(
    subscriptionId: $subscriptionId,
    subscriptionPlanId: $subscriptionPlanId
  ) {
    contract {
      id
      createdAt
      updatedAt
      market {
        ...MarketFragment
      }
      pricelist {
        ...PricelistFragment
      }
      originatingOrder {
        ...OrderFragment
      }
      shippingAddress {
        ...AddressFragment
      }
      subscriptions {
        ...SubscriptionInfoFragment
      }
      shippingOption {
        ...ShippingMethodFragment
      }
      subscriptionPayment {
        ...SubscriptionPaymentFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"subscriptionId": 123, "subscriptionPlanId": 123}
Response
{
  "data": {
    "updateSubscriptionInterval": {
      "contract": SubscriptionContract,
      "userErrors": [UserError]
    }
  }
}

updateSubscriptionQuantity

Description

Update the quantity for a subscription owned by the logged in customer.

Required operating mode: LOGGED_IN

Response

Returns a SubscriptionContractPayload!

Arguments
Name Description
subscriptionId - Int!
quantity - Int!

Example

Query
mutation UpdateSubscriptionQuantity(
  $subscriptionId: Int!,
  $quantity: Int!
) {
  updateSubscriptionQuantity(
    subscriptionId: $subscriptionId,
    quantity: $quantity
  ) {
    contract {
      id
      createdAt
      updatedAt
      market {
        ...MarketFragment
      }
      pricelist {
        ...PricelistFragment
      }
      originatingOrder {
        ...OrderFragment
      }
      shippingAddress {
        ...AddressFragment
      }
      subscriptions {
        ...SubscriptionInfoFragment
      }
      shippingOption {
        ...ShippingMethodFragment
      }
      subscriptionPayment {
        ...SubscriptionPaymentFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"subscriptionId": 123, "quantity": 123}
Response
{
  "data": {
    "updateSubscriptionQuantity": {
      "contract": SubscriptionContract,
      "userErrors": [UserError]
    }
  }
}

updateSubscriptionStatus

Description

Update the status for a subscription owned by the logged in customer.

Required operating mode: LOGGED_IN

Response

Returns a SubscriptionContractPayload!

Arguments
Name Description
subscriptionId - Int!
status - SubscriptionStatus!

Example

Query
mutation UpdateSubscriptionStatus(
  $subscriptionId: Int!,
  $status: SubscriptionStatus!
) {
  updateSubscriptionStatus(
    subscriptionId: $subscriptionId,
    status: $status
  ) {
    contract {
      id
      createdAt
      updatedAt
      market {
        ...MarketFragment
      }
      pricelist {
        ...PricelistFragment
      }
      originatingOrder {
        ...OrderFragment
      }
      shippingAddress {
        ...AddressFragment
      }
      subscriptions {
        ...SubscriptionInfoFragment
      }
      shippingOption {
        ...ShippingMethodFragment
      }
      subscriptionPayment {
        ...SubscriptionPaymentFragment
      }
    }
    userErrors {
      message
      path
    }
  }
}
Variables
{"subscriptionId": 123, "status": "PAUSED"}
Response
{
  "data": {
    "updateSubscriptionStatus": {
      "contract": SubscriptionContract,
      "userErrors": [UserError]
    }
  }
}

verifyCaptcha

Description

Validate captcha response.

Required operating mode: SESSION

Response

Returns a CaptchaVerifyPayload!

Arguments
Name Description
captchaData - String!

Example

Query
mutation VerifyCaptcha($captchaData: String!) {
  verifyCaptcha(captchaData: $captchaData) {
    verified
    userErrors {
      message
      path
    }
  }
}
Variables
{"captchaData": "abc123"}
Response
{
  "data": {
    "verifyCaptcha": {
      "verified": true,
      "userErrors": [UserError]
    }
  }
}

verifyResetPasswordHashes

Description

Verify if password hashes received on reset password page are correct.

Provide i and id GET request variables received on reset password page.

Required operating mode: SESSION

Arguments
Name Description
i - String!
id - String!

Example

Query
mutation VerifyResetPasswordHashes(
  $i: String!,
  $id: String!
) {
  verifyResetPasswordHashes(
    i: $i,
    id: $id
  ) {
    valid
    userErrors {
      message
      path
    }
  }
}
Variables
{
  "i": "abc123",
  "id": "abc123"
}
Response
{
  "data": {
    "verifyResetPasswordHashes": {
      "valid": true,
      "userErrors": [UserError]
    }
  }
}

Types

AddItemPayload

Fields
Field Name Description
line - Line
selection - Selection
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "line": Line,
  "selection": Selection,
  "userErrors": [UserError]
}

AddWishlistItemPayload

Fields
Field Name Description
wishlist - Wishlist
userErrors - [UserError!]!
Example
{
  "wishlist": Wishlist,
  "userErrors": [UserError]
}

Address

Fields
Field Name Description
firstName - String
lastName - String
address1 - String
address2 - String
city - String
zipCode - String
stateOrProvince - String
cellPhoneNumber - String
phoneNumber - String
faxNumber - String
email - String
companyName - String
attention - String
vatNumber - String
country - Country
state - CountryState
Example
{
  "firstName": "abc123",
  "lastName": "abc123",
  "address1": "abc123",
  "address2": "abc123",
  "city": "abc123",
  "zipCode": "abc123",
  "stateOrProvince": "xyz789",
  "cellPhoneNumber": "abc123",
  "phoneNumber": "xyz789",
  "faxNumber": "abc123",
  "email": "xyz789",
  "companyName": "abc123",
  "attention": "xyz789",
  "vatNumber": "abc123",
  "country": Country,
  "state": CountryState
}

AddressField

Fields
Field Name Description
key - String!
visible - Boolean!
required - Boolean!
Example
{
  "key": "xyz789",
  "visible": false,
  "required": false
}

AddressFieldList

Fields
Field Name Description
shippingAddress - [AddressField!]!
Arguments
separateBillingAddress - [AddressField!]!
Arguments
termsAndConditions - CheckboxAddressField!
newsletter - CheckboxAddressField!
Example
{
  "shippingAddress": [AddressField],
  "separateBillingAddress": [AddressField],
  "termsAndConditions": CheckboxAddressField,
  "newsletter": CheckboxAddressField
}

AddressInput

Fields
Input Field Description
firstName - String
lastName - String
address1 - String
address2 - String
city - String
zipCode - String
stateOrProvince - String
cellPhoneNumber - String
phoneNumber - String
faxNumber - String
email - String
companyName - String
attention - String
vatNumber - String
country - String!
state - String
Example
{
  "firstName": "abc123",
  "lastName": "xyz789",
  "address1": "xyz789",
  "address2": "abc123",
  "city": "abc123",
  "zipCode": "abc123",
  "stateOrProvince": "xyz789",
  "cellPhoneNumber": "abc123",
  "phoneNumber": "abc123",
  "faxNumber": "xyz789",
  "email": "xyz789",
  "companyName": "xyz789",
  "attention": "xyz789",
  "vatNumber": "xyz789",
  "country": "abc123",
  "state": "abc123"
}

AddressSortKey

Values
Enum Value Description

EMAIL

COMPANY

FIRSTNAME

LASTNAME

ADDRESS1

ADDRESS2

ZIPCODE

CITY

STATE

COUNTRY

PHONE_NUMBER

IDENTITY_NUMBER

VAT_NUMBER

HOUSE_NUMBER

HOUSE_EXTENSION

Example
"EMAIL"

Affiliate

Fields
Field Name Description
name - String!
uri - String!
sendToPage - String!
Example
{
  "name": "xyz789",
  "uri": "abc123",
  "sendToPage": "xyz789"
}

AffiliateList

Fields
Field Name Description
list - [Affiliate!]!
pagination - PaginationInfo!
userErrors - [UserError!]!
Example
{
  "list": [Affiliate],
  "pagination": PaginationInfo,
  "userErrors": [UserError]
}

AffiliateSort

Values
Enum Value Description

name_ASC

name_DESC

Example
"name_ASC"

AffiliateUriLookupPayload

Fields
Field Name Description
found - UriLookupType!
affiliate - Affiliate!
selection - Selection Required operating mode: SESSION
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "found": "AFFILIATE",
  "affiliate": Affiliate,
  "selection": Selection,
  "userErrors": [UserError]
}

AppliedActionType

Values
Enum Value Description

FREE_PRODUCT_ADDED

FREE_SHIPPING

Example
"FREE_PRODUCT_ADDED"

AppliedCampaignPercent

Fields
Field Name Description
type - AppliedPromotionType!
percent - Float
value - MonetaryValue!
Example
{
  "type": "CAMPAIGN",
  "percent": 987.65,
  "value": MonetaryValue
}

AppliedLineItemVoucher

Fields
Field Name Description
type - AppliedPromotionType!
name - String!
percent - Float
value - MonetaryValue!
Example
{
  "type": "CAMPAIGN",
  "name": "abc123",
  "percent": 987.65,
  "value": MonetaryValue
}

AppliedPromotion

Fields
Field Name Description
type - AppliedPromotionType!
percent - Float
value - MonetaryValue!
Possible Types
AppliedPromotion Types

AppliedCampaignPercent

AppliedLineItemVoucher

Example
{
  "type": "CAMPAIGN",
  "percent": 123.45,
  "value": MonetaryValue
}

AppliedPromotionType

Values
Enum Value Description

CAMPAIGN

VOUCHER

Example
"CAMPAIGN"

ApplyGiftCardInput

Fields
Input Field Description
cardNumber - String!
pin - String
Example
{
  "cardNumber": "abc123",
  "pin": "xyz789"
}

AttentionReason

Values
Enum Value Description

UNKNOWN

Reasons for this subscriptions failing are unknown and should undergo investigation.

PAYMENT_DECLINED

Payment has failed but future attempts might succeed.

This might happen when card has insufficient funds.

PAYMENT_REVOKED

The payment method associated with this subscription is no longer valid and will not become valid without on-session customer interaction (eg. providing a new card details).

NOT_PURCHASABLE

Selected variant is no longer purchasable.

OUT_OF_STOCK

Selected item is out of stock.

NO_SHIPPING

Selected shipping is not available.

NO_MARKET

Selected market is not available or not suitable for delivery country.
Example
"UNKNOWN"

Attribute

Fields
Field Name Description
elements - [AttributeElement!]!
type - AttributeType!
Possible Types
Attribute Types

MappedAttribute

DynamicAttribute

Example
{
  "elements": [AttributeElement],
  "type": AttributeType
}

AttributeChoiceElement

Fields
Field Name Description
value - ChoiceValue!
values - [ChoiceValue!]!
key - String!
kind - AttributeElementKind!
Example
{
  "value": ChoiceValue,
  "values": [ChoiceValue],
  "key": "abc123",
  "kind": "BOOLEAN"
}

AttributeElement

Fields
Field Name Description
key - String!
kind - AttributeElementKind!
Example
{"key": "xyz789", "kind": "BOOLEAN"}

AttributeElementKind

Values
Enum Value Description

BOOLEAN

FILE

IMAGE

INPUT

READONLY

SELECT

TEXTAREA

Example
"BOOLEAN"

AttributeFileElement

Fields
Field Name Description
key - String!
kind - AttributeElementKind!
url - String
Example
{
  "key": "xyz789",
  "kind": "BOOLEAN",
  "url": "xyz789"
}

AttributeImageElement

Fields
Field Name Description
key - String!
kind - AttributeElementKind!
url - String
width - Int
height - Int
mimeType - String
Example
{
  "key": "xyz789",
  "kind": "BOOLEAN",
  "url": "xyz789",
  "width": 987,
  "height": 123,
  "mimeType": "abc123"
}

AttributeStringElement

Fields
Field Name Description
key - String!
kind - AttributeElementKind!
value - String!
translations - [AttributeStringElementTranslation!]
Example
{
  "key": "xyz789",
  "kind": "BOOLEAN",
  "value": "abc123",
  "translations": [AttributeStringElementTranslation]
}

AttributeStringElementTranslation

Fields
Field Name Description
language - Language!
value - String
Example
{
  "language": Language,
  "value": "xyz789"
}

AttributeType

Fields
Field Name Description
name - String!
isMulti - Boolean!
Example
{"name": "xyz789", "isMulti": false}

AutoVoucher

Fields
Field Name Description
id - Int!
name - String!
appliedOn - [VoucherAppliedOn!]!
method - VoucherMethod!
type - VoucherType!
value - MonetaryValue!
orderReduction - MonetaryValue!
totalItemReduction - MonetaryValue!
totalShippingReduction - MonetaryValue!
lineIds - [String!]!
actions - [VoucherAction!]!
expiryDate - String!
attributes - [Attribute!]!
giftCard - GiftCard
isExternal - Boolean!
Example
{
  "id": 123,
  "name": "xyz789",
  "appliedOn": ["ORDER"],
  "method": "AUTO",
  "type": "CREDIT",
  "value": MonetaryValue,
  "orderReduction": MonetaryValue,
  "totalItemReduction": MonetaryValue,
  "totalShippingReduction": MonetaryValue,
  "lineIds": ["abc123"],
  "actions": [VoucherAction],
  "expiryDate": "xyz789",
  "attributes": [Attribute],
  "giftCard": GiftCard,
  "isExternal": false
}

BackInStockSubscribeInput

Fields
Input Field Description
email - String
shipTo - CountryStateInput!
item - String!
languageCode - String
Example
{
  "email": "abc123",
  "shipTo": CountryStateInput,
  "item": "abc123",
  "languageCode": "abc123"
}

Boolean

Description

The Boolean scalar type represents true or false.

Brand

Fields
Field Name Description
id - Int!
name - String!
uri - String!
markets - [Market!]!
pricelists - [Pricelist!]!
metaDescription - String!
metaKeywords - String!
metaTitle - String!
Example
{
  "id": 123,
  "name": "abc123",
  "uri": "abc123",
  "markets": [Market],
  "pricelists": [Pricelist],
  "metaDescription": "abc123",
  "metaKeywords": "xyz789",
  "metaTitle": "abc123"
}

BrandFilterValue

Fields
Field Name Description
active - Boolean!
count - Int! Number of matches with the current filtering.
filterCount - Int! Number of matches with the current filtering when you discount the other selected values in this group.
totalCount - Int! The number of items in total available, independent of filtering.
value - String!
name - String
brand - Brand
Example
{
  "active": true,
  "count": 123,
  "filterCount": 123,
  "totalCount": 987,
  "value": "abc123",
  "name": "xyz789",
  "brand": Brand
}

BrandList

Fields
Field Name Description
list - [Brand!]!
pagination - PaginationInfo!
userErrors - [UserError!]!
Example
{
  "list": [Brand],
  "pagination": PaginationInfo,
  "userErrors": [UserError]
}

BrandSort

Values
Enum Value Description

id_ASC

id_DESC

name_ASC

name_DESC

Example
"id_ASC"

BrickAndMortar

Fields
Field Name Description
id - Int!
name - String!
type - BrickAndMortarType!
address - String!
latitude - String!
longitude - String!
website - String
country - Country
openingDays - [OpeningDay!]!
state - CountryState
distance - Distance
Arguments
unit - DistanceUnit!
Example
{
  "id": 123,
  "name": "xyz789",
  "type": "OWN_STORE",
  "address": "abc123",
  "latitude": "xyz789",
  "longitude": "abc123",
  "website": "xyz789",
  "country": Country,
  "openingDays": [OpeningDay],
  "state": CountryState,
  "distance": Distance
}

BrickAndMortarList

Fields
Field Name Description
list - [BrickAndMortar!]!
pagination - PaginationInfo
userErrors - [UserError!]!
Example
{
  "list": [BrickAndMortar],
  "pagination": PaginationInfo,
  "userErrors": [UserError]
}

BrickAndMortarListFilter

Fields
Input Field Description
countryCode - String
stateCode - String
maxDistance - MaxDistance
location - GeoPositionInput The user's location in latitude / longitude.
Example
{
  "countryCode": "xyz789",
  "stateCode": "abc123",
  "maxDistance": MaxDistance,
  "location": GeoPositionInput
}

BrickAndMortarSort

Values
Enum Value Description

name_ASC

name_DESC

distance_ASC

distance_DESC

Example
"name_ASC"

BrickAndMortarType

Values
Enum Value Description

OWN_STORE

FRANCHISE_OR_PARTNER

MULTI_BRAND_RETAILER

Example
"OWN_STORE"

Bundle

Fields
Field Name Description
id - Int!
type - BundleType!
priceType - BundlePriceType!
sections - [BundleSection!]!
minPrice - MonetaryValue The minimum possible price available for a flexible bundle with dynamic price Will be null if the bundle is fixed or has a static price.
maxPrice - MonetaryValue The maximum possible price available for a flexible bundle with dynamic price Will be null if the bundle is fixed or has a static price.
minPriceByPricelist - [PricelistPrice!]!

The minimum possible prices available for a flexible bundle with dynamic price Will be null if the bundle is fixed or has a static price.

Required operating mode: NO_SESSION

Arguments
limit - Int
page - Int
maxPriceByPricelist - [PricelistPrice!]!

The maximum possible prices available for a flexible bundle with dynamic price. Will be null if the bundle is fixed or has a static price.

Required operating mode: NO_SESSION

Arguments
limit - Int
page - Int
Example
{
  "id": 987,
  "type": "FIXED",
  "priceType": "STATIC",
  "sections": [BundleSection],
  "minPrice": MonetaryValue,
  "maxPrice": MonetaryValue,
  "minPriceByPricelist": [PricelistPrice],
  "maxPriceByPricelist": [PricelistPrice]
}

BundleLine

Fields
Field Name Description
id - String!
name - String!
productVariantName - String!
brand - Brand
size - String!
productNumber - String!
comment - String!
item - Item!
addedFromCategory - Category
productExternalUrl - String
appliedPromotions - [AppliedPromotion!]!
hasDiscount - Boolean!
unitPrice - MonetaryValue!
Arguments
includingTax - Boolean!
unitOriginalPrice - MonetaryValue!
Arguments
includingTax - Boolean!
unitPriceReduction - MonetaryValue!
Arguments
includingTax - Boolean!
lineValue - MonetaryValue!
Arguments
includingTax - Boolean!
originalLineValue - MonetaryValue!
Arguments
includingTax - Boolean!
taxPercent - Float!
discountPercent - Float!
quantity - Int!
localizedSize - LocalizedProdSize
subscriptionId - Int
displayItem - DisplayItem!
bundle - SelectionBundle
Example
{
  "id": "abc123",
  "name": "abc123",
  "productVariantName": "xyz789",
  "brand": Brand,
  "size": "abc123",
  "productNumber": "abc123",
  "comment": "abc123",
  "item": Item,
  "addedFromCategory": Category,
  "productExternalUrl": "xyz789",
  "appliedPromotions": [AppliedPromotion],
  "hasDiscount": true,
  "unitPrice": MonetaryValue,
  "unitOriginalPrice": MonetaryValue,
  "unitPriceReduction": MonetaryValue,
  "lineValue": MonetaryValue,
  "originalLineValue": MonetaryValue,
  "taxPercent": 123.45,
  "discountPercent": 987.65,
  "quantity": 987,
  "localizedSize": LocalizedProdSize,
  "subscriptionId": 987,
  "displayItem": DisplayItem,
  "bundle": SelectionBundle
}

BundlePriceType

Values
Enum Value Description

STATIC

DYNAMIC

Example
"STATIC"

BundleSection

Fields
Field Name Description
id - Int!
quantity - Int!
items - [DisplayItem!]!
Example
{"id": 987, "quantity": 987, "items": [DisplayItem]}

BundleSectionInput

Fields
Input Field Description
sectionId - Int!
item - String!
Example
{"sectionId": 987, "item": "xyz789"}

BundleType

Values
Enum Value Description

FIXED

FLEXIBLE

Example
"FIXED"

CAPTCHA_CALL_TYPE

Values
Enum Value Description

PAYMENT

CUSTOMER_REGISTRATION

CUSTOMER_LOGIN

NEWSLETTER

VOUCHER

GIFT_CERT

Example
"PAYMENT"

CampaignInfo

Fields
Field Name Description
startDateTime - String!
endDateDateTime - String!
showSale - Boolean!
showNew - Boolean!
attributes - [Attribute!]!
Arguments
keys - [String!]!
Example
{
  "startDateTime": "xyz789",
  "endDateDateTime": "xyz789",
  "showSale": false,
  "showNew": true,
  "attributes": [Attribute]
}

CampaignSite

Fields
Field Name Description
name - String
uri - String!
sendToPage - String
market - Market! Required operating mode: NO_SESSION
Example
{
  "name": "xyz789",
  "uri": "abc123",
  "sendToPage": "abc123",
  "market": Market
}

CampaignSiteList

Fields
Field Name Description
list - [CampaignSite!]!
pagination - PaginationInfo!
userErrors - [UserError!]!
Example
{
  "list": [CampaignSite],
  "pagination": PaginationInfo,
  "userErrors": [UserError]
}

CampaignSiteSort

Values
Enum Value Description

name_ASC

name_DESC

Example
"name_ASC"

CampaignSiteUriLookupPayload

Fields
Field Name Description
found - UriLookupType!
campaignSite - CampaignSite!
selection - Selection Required operating mode: SESSION
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "found": "AFFILIATE",
  "campaignSite": CampaignSite,
  "selection": Selection,
  "userErrors": [UserError]
}

CaptchaVerifyPayload

Fields
Field Name Description
verified - Boolean!
userErrors - [UserError!]!
Example
{"verified": true, "userErrors": [UserError]}

Category

Fields
Field Name Description
id - Int!
uri - String!
metaTitle - String!
metaDescription - String!
metaKeywords - String!
parentCategory - Category
name - [String!]
childCategories - [Category!]!
Arguments
limit - Int!
page - Int!
translations - [TranslatedCategory!]!
markets - [Market!]! Required operating mode: NO_SESSION
pricelists - [Pricelist!]! Required operating mode: NO_SESSION
attributes - [Attribute!]!
Arguments
keys - [String!]!
sortOrder - Int!
Example
{
  "id": 123,
  "uri": "xyz789",
  "metaTitle": "xyz789",
  "metaDescription": "xyz789",
  "metaKeywords": "xyz789",
  "parentCategory": Category,
  "name": ["xyz789"],
  "childCategories": [Category],
  "translations": [TranslatedCategory],
  "markets": [Market],
  "pricelists": [Pricelist],
  "attributes": [Attribute],
  "sortOrder": 987
}

CategoryFilterValue

Fields
Field Name Description
active - Boolean!
count - Int! Number of matches with the current filtering.
filterCount - Int! Number of matches with the current filtering when you discount the other selected values in this group.
totalCount - Int! The number of items in total available, independent of filtering.
value - String!
name - String
category - Category!
Example
{
  "active": false,
  "count": 987,
  "filterCount": 987,
  "totalCount": 987,
  "value": "abc123",
  "name": "xyz789",
  "category": Category
}

CategoryItemList

Fields
Field Name Description
displayItems - [DisplayItem!]
filters - [FilterOption!]
pagination - PaginationInfo!
Example
{
  "displayItems": [DisplayItem],
  "filters": [FilterOption],
  "pagination": PaginationInfo
}

CategoryList

Fields
Field Name Description
list - [Category!]!
pagination - PaginationInfo!
userErrors - [UserError!]!
Example
{
  "list": [Category],
  "pagination": PaginationInfo,
  "userErrors": [UserError]
}

CategorySort

Values
Enum Value Description

customOrder_ASC

id_ASC

id_DESC

name_ASC

name_DESC

Example
"customOrder_ASC"

CategoryUriLookupPayload

Fields
Field Name Description
found - UriLookupType!
category - Category!
displayItemList - CategoryItemList!
userErrors - [UserError!]!
Example
{
  "found": "AFFILIATE",
  "category": Category,
  "displayItemList": CategoryItemList,
  "userErrors": [UserError]
}

CheckboxAddressField

Fields
Field Name Description
key - String!
visible - Boolean!
required - Boolean!
Example
{
  "key": "abc123",
  "visible": true,
  "required": true
}

CheckoutSelection

Fields
Field Name Description
addressFields - AddressFieldList!
checkoutScript - String
shippingAddress - Address!
hasSeparateBillingAddress - Boolean!
separateBillingAddress - Address
totals - [SelectionTotalRow!]!
paymentMethod - PaymentMethod
paymentMethods - [PaymentMethod!]!
Arguments
shippingMethod - ShippingMethod
shippingMethods - [ShippingMethod!]
widgets - [Widget!]
deliveryGroups - [SelectionDeliveryGroup!]!
Example
{
  "addressFields": AddressFieldList,
  "checkoutScript": "xyz789",
  "shippingAddress": Address,
  "hasSeparateBillingAddress": false,
  "separateBillingAddress": Address,
  "totals": [SelectionTotalRow],
  "paymentMethod": PaymentMethod,
  "paymentMethods": [PaymentMethod],
  "shippingMethod": ShippingMethod,
  "shippingMethods": [ShippingMethod],
  "widgets": [Widget],
  "deliveryGroups": [SelectionDeliveryGroup]
}

ChoiceValue

Fields
Field Name Description
name - String!
value - String!
Example
{
  "name": "abc123",
  "value": "xyz789"
}

ClientDetails

Fields
Input Field Description
browserLanguage - String
ip - String
userAgent - String
Example
{
  "browserLanguage": "xyz789",
  "ip": "abc123",
  "userAgent": "abc123"
}

CodeVoucher

Fields
Field Name Description
code - String!
name - String!
appliedOn - [VoucherAppliedOn!]!
method - VoucherMethod!
type - VoucherType!
value - MonetaryValue!
orderReduction - MonetaryValue!
totalItemReduction - MonetaryValue!
totalShippingReduction - MonetaryValue!
lineIds - [String!]!
actions - [VoucherAction!]!
expiryDate - String!
attributes - [Attribute!]!
giftCard - GiftCard
isExternal - Boolean!
Example
{
  "code": "xyz789",
  "name": "abc123",
  "appliedOn": ["ORDER"],
  "method": "AUTO",
  "type": "CREDIT",
  "value": MonetaryValue,
  "orderReduction": MonetaryValue,
  "totalItemReduction": MonetaryValue,
  "totalShippingReduction": MonetaryValue,
  "lineIds": ["abc123"],
  "actions": [VoucherAction],
  "expiryDate": "xyz789",
  "attributes": [Attribute],
  "giftCard": GiftCard,
  "isExternal": true
}

Collection

Fields
Field Name Description
id - Int!
name - String!
uri - String!
markets - [Market!]! Required operating mode: NO_SESSION
pricelists - [Pricelist!]! Required operating mode: NO_SESSION
Example
{
  "id": 123,
  "name": "abc123",
  "uri": "abc123",
  "markets": [Market],
  "pricelists": [Pricelist]
}

CollectionFilterValue

Fields
Field Name Description
active - Boolean!
count - Int! Number of matches with the current filtering.
filterCount - Int! Number of matches with the current filtering when you discount the other selected values in this group.
totalCount - Int! The number of items in total available, independent of filtering.
value - String!
name - String
collection - Collection
Example
{
  "active": true,
  "count": 987,
  "filterCount": 123,
  "totalCount": 987,
  "value": "xyz789",
  "name": "abc123",
  "collection": Collection
}

CollectionList

Fields
Field Name Description
list - [Collection!]!
pagination - PaginationInfo!
userErrors - [UserError!]!
Example
{
  "list": [Collection],
  "pagination": PaginationInfo,
  "userErrors": [UserError]
}

CollectionSort

Values
Enum Value Description

id_ASC

id_DESC

name_ASC

name_DESC

Example
"id_ASC"

ConsentInput

Fields
Input Field Description
key - String!
name - String!
consented - Boolean!
data - String!
languageCode - String
version - String!
Example
{
  "key": "xyz789",
  "name": "abc123",
  "consented": false,
  "data": "abc123",
  "languageCode": "abc123",
  "version": "xyz789"
}

Country

Fields
Field Name Description
name - String!
code - String!
isEU - Boolean!
states - [CountryState!]
defaultLanguage - Language
shipTo - Boolean!
translations - [TranslatedCountry!]!
Example
{
  "name": "abc123",
  "code": "xyz789",
  "isEU": true,
  "states": [CountryState],
  "defaultLanguage": Language,
  "shipTo": false,
  "translations": [TranslatedCountry]
}

CountryAddressField

Fields
Field Name Description
key - String!
visible - Boolean!
required - Boolean!
choices - [Country!]!
selected - Country
Example
{
  "key": "abc123",
  "visible": true,
  "required": false,
  "choices": [Country],
  "selected": Country
}

CountryState

Fields
Field Name Description
name - String!
code - String!
Example
{
  "name": "abc123",
  "code": "abc123"
}

CountryStateInput

Fields
Input Field Description
countryCode - String!
stateCode - String
Example
{
  "countryCode": "xyz789",
  "stateCode": "xyz789"
}

Currency

Fields
Field Name Description
id - Int!
name - String!
code - String!
currentBaseRate - Float!
denominator - Int!
isoNumber - String!
prefix - String
suffix - String
decimalPoint - String!
decimalDigits - Int!
thousandsSeparator - String!
Example
{
  "id": 123,
  "name": "xyz789",
  "code": "xyz789",
  "currentBaseRate": 123.45,
  "denominator": 987,
  "isoNumber": "xyz789",
  "prefix": "abc123",
  "suffix": "xyz789",
  "decimalPoint": "xyz789",
  "decimalDigits": 987,
  "thousandsSeparator": "xyz789"
}

CustomAttributeInput

Fields
Input Field Description
dynamicAttributes - [DynamicAttributeInput!]
mappedAttributes - [MappedAttributeInput!]
Example
{
  "dynamicAttributes": [DynamicAttributeInput],
  "mappedAttributes": [MappedAttributeInput]
}

CustomSortInput

Fields
Input Field Description
key - SortKey!
order - SortOrder!
Example
{"key": "PRICE", "order": "ASC"}

Customer

Fields
Field Name Description
id - Int!
email - String!
firstName - String
lastName - String
cellPhoneNumber - String
phoneNumber - String
totalOrders - Int!
billingAddress - Address
websiteUrl - String
language - Language
newsletterSubscriptions - [NewsletterSubscription!]!
attributes - [Attribute!]!
wishlists - [Wishlist!]!
Arguments
limit - Int
page - Int
subscriptionContracts - [SubscriptionContract!]!
orders - [Order!]!
Arguments
limit - Int!
page - Int!
birthdate - Date Required permission: customer.birthdate
Arguments
format - String
gender - Gender Required permission: customer.gender
Example
{
  "id": 987,
  "email": "abc123",
  "firstName": "xyz789",
  "lastName": "xyz789",
  "cellPhoneNumber": "xyz789",
  "phoneNumber": "xyz789",
  "totalOrders": 987,
  "billingAddress": Address,
  "websiteUrl": "xyz789",
  "language": Language,
  "newsletterSubscriptions": [NewsletterSubscription],
  "attributes": [Attribute],
  "wishlists": [Wishlist],
  "subscriptionContracts": [SubscriptionContract],
  "orders": [Order],
  "birthdate": "2007-12-03",
  "gender": "FEMALE"
}

CustomerClubSpecificFields

Fields
Input Field Description
voyadoPromotionId - String
voyadoCustomerId - String
Example
{
  "voyadoPromotionId": "abc123",
  "voyadoCustomerId": "xyz789"
}

CustomerRegisterAddressInput

Fields
Input Field Description
email - String!
firstName - String!
lastName - String!
address1 - String
address2 - String
city - String
zipCode - String
stateOrProvince - String
cellPhoneNumber - String
phoneNumber - String
faxNumber - String
companyName - String
vatNumber - String
country - String!
state - String
Example
{
  "email": "xyz789",
  "firstName": "abc123",
  "lastName": "abc123",
  "address1": "abc123",
  "address2": "xyz789",
  "city": "abc123",
  "zipCode": "xyz789",
  "stateOrProvince": "abc123",
  "cellPhoneNumber": "xyz789",
  "phoneNumber": "xyz789",
  "faxNumber": "xyz789",
  "companyName": "xyz789",
  "vatNumber": "abc123",
  "country": "abc123",
  "state": "xyz789"
}

CustomerRegisterInput

Fields
Input Field Description
password - String!
billingAddress - CustomerRegisterAddressInput!
gender - Gender
consents - [ConsentInput!]
customAttributes - CustomAttributeInput
loginOnSuccess - Boolean!
Example
{
  "password": "xyz789",
  "billingAddress": CustomerRegisterAddressInput,
  "gender": "FEMALE",
  "consents": [ConsentInput],
  "customAttributes": CustomAttributeInput,
  "loginOnSuccess": true
}

CustomerRegisterPayload

Fields
Field Name Description
loggedIn - Customer
userErrors - [UserError!]!
Example
{
  "loggedIn": Customer,
  "userErrors": [UserError]
}

CustomerUpdateAddressInput

Fields
Input Field Description
email - String
firstName - String
lastName - String
address1 - String
address2 - String
city - String
zipCode - String
stateOrProvince - String
cellPhoneNumber - String
phoneNumber - String
faxNumber - String
companyName - String
vatNumber - String
country - String
state - String
Example
{
  "email": "abc123",
  "firstName": "xyz789",
  "lastName": "xyz789",
  "address1": "xyz789",
  "address2": "abc123",
  "city": "xyz789",
  "zipCode": "xyz789",
  "stateOrProvince": "xyz789",
  "cellPhoneNumber": "abc123",
  "phoneNumber": "xyz789",
  "faxNumber": "xyz789",
  "companyName": "abc123",
  "vatNumber": "xyz789",
  "country": "xyz789",
  "state": "abc123"
}

CustomerUpdateInput

Fields
Input Field Description
billingAddress - CustomerUpdateAddressInput
gender - Gender
consents - [ConsentInput!]
customAttributes - CustomAttributeInput
password - PasswordUpdateInput
Example
{
  "billingAddress": CustomerUpdateAddressInput,
  "gender": "FEMALE",
  "consents": [ConsentInput],
  "customAttributes": CustomAttributeInput,
  "password": PasswordUpdateInput
}

CustomerUpdatePayload

Fields
Field Name Description
customer - Customer!
userErrors - [UserError!]!
Example
{
  "customer": Customer,
  "userErrors": [UserError]
}

Date

Example
"2007-12-03"

DateInterval

Fields
Field Name Description
value - Int!
type - DateIntervalType!
Example
{"value": 123, "type": "DAY"}

DateIntervalType

Values
Enum Value Description

DAY

WEEK

MONTH

YEAR

Example
"DAY"

DateTimeTz

Example
DateTimeTz

DeliveryGroup

Fields
Field Name Description
id - Int!
externalDeliveryGroupId - String
name - String
shippingMethod - ShippingMethod!
shippingPrice - MonetaryValue!
lines - [DeliveryGroupLine!]!
attributes - [Attribute!]!
Example
{
  "id": 987,
  "externalDeliveryGroupId": "xyz789",
  "name": "abc123",
  "shippingMethod": ShippingMethod,
  "shippingPrice": MonetaryValue,
  "lines": [DeliveryGroupLine],
  "attributes": [Attribute]
}

DeliveryGroupLine

Fields
Field Name Description
quantity - Int!
line - Line!
Example
{"quantity": 123, "line": Line}

DisplayItem

Fields
Field Name Description
id - Int!
createdAt - String!
modifiedAt - String!
attributes - [Attribute!]!
Arguments
keys - [String!]!
available - Boolean!
brand - Brand
bundle - Bundle
campaignInfo - CampaignInfo
category - Category
canonicalCategory - Category
canonicalUri - String!
categories - [Category!] Required operating mode: NO_SESSION
collection - Collection
countryOfOrigin - Country Required permission: displayItem.countryOfOrigin
description - FormattedString!
hasStock - Boolean!
items - [Item!]!
sizeChart - SizeChart!
language - Language Required operating mode: SESSION
languages - [Language!]!
market - Market! Required operating mode: SESSION
markets - [Market!]! Required operating mode: NO_SESSION
measurementTable - MeasurementTable
media - [ProductMedia!]!
metaDescription - String!
metaKeywords - String!
metaTitle - String!
minimumOrderQuantity - Int!
name - String!
orderQuantityDenominator - Int!
preview - Boolean! Required operating mode: NO_SESSION
price - MonetaryValue

Price with current market and pricelist, either from session or if one market and pricelist is provided in no session.

For dynamically priced flexible bundles, price will be null since there is a range of possible prices depending on the sections when added to cart.

minPrice and maxPrice can be found under bundle.

originalPrice - MonetaryValue
lowestPrice - LowestPrice
lowestPriceByPricelist - [PricelistLowestPrice!]! Required operating mode: NO_SESSION
pricelist - Pricelist! Required operating mode: SESSION
pricelists - [Pricelist!]! Required operating mode: NO_SESSION
priceByPricelist - [PricelistPrice!]!

For dynamically priced flexible bundles priceByPricelist will be empty, since there is a range of possible prices depending on the sections when added to cart. minPriceByPricelist and maxPriceByPricelist can be found under bundle.

Required operating mode: NO_SESSION

isPrimaryVariant - Boolean!
primaryVariant - DisplayItem
productNumber - String!
productVariant - ProductVariant!
relatedDisplayItems - [RelatedDisplayItems!]!
Arguments
relationType - [String!]!
shortDescription - FormattedString!
showAsNew - Boolean!
showAsSale - Boolean!
subscriptionPlans - [SubscriptionPlan!]!
translations - [TranslatedDisplayItem!]!
uri - String!
weight - Float!
weightUnit - String!
Example
{
  "id": 123,
  "createdAt": "xyz789",
  "modifiedAt": "xyz789",
  "attributes": [Attribute],
  "available": false,
  "brand": Brand,
  "bundle": Bundle,
  "campaignInfo": CampaignInfo,
  "category": Category,
  "canonicalCategory": Category,
  "canonicalUri": "abc123",
  "categories": [Category],
  "collection": Collection,
  "countryOfOrigin": Country,
  "description": FormattedString,
  "hasStock": false,
  "items": [Item],
  "sizeChart": SizeChart,
  "language": Language,
  "languages": [Language],
  "market": Market,
  "markets": [Market],
  "measurementTable": MeasurementTable,
  "media": [ProductMedia],
  "metaDescription": "abc123",
  "metaKeywords": "abc123",
  "metaTitle": "xyz789",
  "minimumOrderQuantity": 987,
  "name": "xyz789",
  "orderQuantityDenominator": 123,
  "preview": false,
  "price": MonetaryValue,
  "originalPrice": MonetaryValue,
  "lowestPrice": LowestPrice,
  "lowestPriceByPricelist": [PricelistLowestPrice],
  "pricelist": Pricelist,
  "pricelists": [Pricelist],
  "priceByPricelist": [PricelistPrice],
  "isPrimaryVariant": false,
  "primaryVariant": DisplayItem,
  "productNumber": "xyz789",
  "productVariant": ProductVariant,
  "relatedDisplayItems": [RelatedDisplayItems],
  "shortDescription": FormattedString,
  "showAsNew": true,
  "showAsSale": false,
  "subscriptionPlans": [SubscriptionPlan],
  "translations": [TranslatedDisplayItem],
  "uri": "abc123",
  "weight": 987.65,
  "weightUnit": "xyz789"
}

DisplayItemFilter

Fields
Input Field Description
filters - [FilterInput!]
id - [Int!]
search - String Input for full-text search query.
searchInFields - [SearchField!]! Fields to include in full-text search. Default = [NAME, FUZZY_NAME, BRAND_NAME, COLLECTION_NAME, PRODUCT_VARIANT_NAME, FUZZY_PRODUCT_VARIANT_NAME, PRODUCT_NUMBER, SIZE_NUMBER, GTIN, SHORT_DESCRIPTION, DESCRIPTION, CATEGORY_NAME]
onlyAvailable - Boolean!
onlyPrimaryVariant - Boolean!

When true, limits results to only the primary variant of each display. Primary variant is defined as the first display variant.

When false (default), all product variants are included in results. Default = false

Example
{
  "filters": [FilterInput],
  "id": [123],
  "search": "abc123",
  "searchInFields": ["NAME"],
  "onlyAvailable": false,
  "onlyPrimaryVariant": false
}

DisplayItemList

Fields
Field Name Description
list - [DisplayItem!]
filters - [FilterOption!]
Arguments
keys - [String!]
userErrors - [UserError!]!
pagination - PaginationInfo!
Example
{
  "list": [DisplayItem],
  "filters": [FilterOption],
  "userErrors": [UserError],
  "pagination": PaginationInfo
}

DisplayItemUriLookupPayload

Fields
Field Name Description
found - UriLookupType!
displayItem - DisplayItem!
userErrors - [UserError!]!
Example
{
  "found": "AFFILIATE",
  "displayItem": DisplayItem,
  "userErrors": [UserError]
}

Distance

Fields
Field Name Description
value - Float!
unit - DistanceUnit!
Example
{"value": 987.65, "unit": "METER"}

DistanceUnit

Values
Enum Value Description

METER

KILOMETER

MILE

Example
"METER"

DynamicAttribute

Fields
Field Name Description
elements - [AttributeElement!]!
type - AttributeType!
Example
{
  "elements": [AttributeElement],
  "type": AttributeType
}

DynamicAttributeInput

Fields
Input Field Description
attributeTypeName - String!
attributeElementKey - String!
attributeElementValue - String!
Example
{
  "attributeTypeName": "abc123",
  "attributeElementKey": "xyz789",
  "attributeElementValue": "xyz789"
}

DynamicSelectionAttributeSetInput

Fields
Input Field Description
attributeTypeName - String!
attributeElementKey - String!
attributeElementValue - String!
Example
{
  "attributeTypeName": "xyz789",
  "attributeElementKey": "abc123",
  "attributeElementValue": "xyz789"
}

DynamicSelectionAttributeUnsetInput

Fields
Input Field Description
attributeTypeName - String!
attributeElementKey - String!
Example
{
  "attributeTypeName": "xyz789",
  "attributeElementKey": "abc123"
}

ExpressCheckoutWidget

Fields
Field Name Description
id - String
name - String!
contents - String
error - String
Example
{
  "id": "xyz789",
  "name": "xyz789",
  "contents": "abc123",
  "error": "xyz789"
}

ExpressCheckoutWidgetsAdditionalData

Fields
Input Field Description
returnUrl - String!
amount - Int!
lineItems - [ExpressCheckoutWidgetsLineItem!]!
Example
{
  "returnUrl": "xyz789",
  "amount": 987,
  "lineItems": [ExpressCheckoutWidgetsLineItem]
}

ExpressCheckoutWidgetsLineItem

Fields
Input Field Description
name - String!
price - String!
Example
{
  "name": "abc123",
  "price": "xyz789"
}

ExpressCheckoutWidgetsPayload

Fields
Field Name Description
list - [ExpressCheckoutWidgetsPluginWidgets!]
userErrors - [UserError!]!
Example
{
  "list": [ExpressCheckoutWidgetsPluginWidgets],
  "userErrors": [UserError]
}

ExpressCheckoutWidgetsPluginItem

Fields
Input Field Description
uri - String!
additionalData - ExpressCheckoutWidgetsAdditionalData!
Example
{
  "uri": "abc123",
  "additionalData": ExpressCheckoutWidgetsAdditionalData
}

ExpressCheckoutWidgetsPluginWidgets

Fields
Field Name Description
name - String!
widgets - [ExpressCheckoutWidget!]!
Example
{
  "name": "abc123",
  "widgets": [ExpressCheckoutWidget]
}

FilterInput

Fields
Input Field Description
key - String! Filter key from FilterOption.key
values - [String!]! Filter values from FilterOption.values
Example
{
  "key": "abc123",
  "values": ["xyz789"]
}

FilterOption

Fields
Field Name Description
anyAvailable - Boolean!
key - String!
selectedValues - [String!]!
values - [FilterValue!]!
Example
{
  "anyAvailable": false,
  "key": "abc123",
  "selectedValues": ["abc123"],
  "values": [FilterValue]
}

FilterValue

Fields
Field Name Description
active - Boolean!
count - Int! Number of matches with the current filtering.
filterCount - Int! Number of matches with the current filtering when you discount the other selected values in this group.
totalCount - Int! The number of items in total available, independent of filtering.
value - String!
Example
{
  "active": false,
  "count": 123,
  "filterCount": 123,
  "totalCount": 987,
  "value": "xyz789"
}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

FormPaymentAction

Fields
Field Name Description
action - PaymentActionType!
html - String!
expressHtml - [ExpressCheckoutWidget!]
formFields - Map
formType - String!
Example
{
  "action": "FORM",
  "html": "xyz789",
  "expressHtml": [ExpressCheckoutWidget],
  "formFields": Map,
  "formType": "xyz789"
}

FormattedString

Fields
Field Name Description
formatted - String!
raw - String!
Example
{
  "formatted": "abc123",
  "raw": "xyz789"
}

FreeProductAddedAction

Fields
Field Name Description
type - AppliedActionType!
lineId - String!
allowRemove - Boolean!
allowAddMore - Boolean!
Example
{
  "type": "FREE_PRODUCT_ADDED",
  "lineId": "xyz789",
  "allowRemove": true,
  "allowAddMore": false
}

FreeShippingAction

Fields
Field Name Description
type - AppliedActionType!
shippingMethods - [Int!]!
Example
{"type": "FREE_PRODUCT_ADDED", "shippingMethods": [987]}

FulfillmentCheckPayload

Fields
Field Name Description
availableInBrickAndMortars - [Int!]!
userErrors - [UserError!]!
Example
{
  "availableInBrickAndMortars": [987],
  "userErrors": [UserError]
}

Gender

Values
Enum Value Description

FEMALE

MALE

UNKNOWN

Example
"FEMALE"

GenericSelectionMutationPayload

Fields
Field Name Description
selection - Selection
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "selection": Selection,
  "userErrors": [UserError]
}

GeoPositionInput

Fields
Input Field Description
latitude - String!
longitude - String!
Example
{
  "latitude": "xyz789",
  "longitude": "abc123"
}

GiftCard

Fields
Field Name Description
lastFourDigits - String!
Example
{"lastFourDigits": "xyz789"}

IngridWidget

Fields
Field Name Description
kind - WidgetKind!
snippet - String!
sessionId - String!
ingridAttributes - [String!]
deliveryOptionsAvailable - Boolean!
reload - Boolean!
Example
{
  "kind": "PAYMENT",
  "snippet": "abc123",
  "sessionId": "xyz789",
  "ingridAttributes": ["xyz789"],
  "deliveryOptionsAvailable": false,
  "reload": false
}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

Item

Fields
Field Name Description
id - String!
name - String!
GTIN - String!
productSizeId - Int!
preorder - Boolean!
sizeLocalization - [LocalizedSize!]!
sku - String!
stock - Stock!
stockByWarehouse - [WarehouseStock!]! Required operating mode: NO_SESSION
horizontalLabelIndex - Int!
verticalLabelIndex - Int!
Example
{
  "id": "abc123",
  "name": "abc123",
  "GTIN": "abc123",
  "productSizeId": 123,
  "preorder": false,
  "sizeLocalization": [LocalizedSize],
  "sku": "xyz789",
  "stock": Stock,
  "stockByWarehouse": [WarehouseStock],
  "horizontalLabelIndex": 123,
  "verticalLabelIndex": 123
}

JavascriptPaymentAction

Fields
Field Name Description
action - PaymentActionType!
script - String!
formFields - Map
formType - String!
Example
{
  "action": "FORM",
  "script": "abc123",
  "formFields": Map,
  "formType": "xyz789"
}

KlarnaCheckoutWidget

Fields
Field Name Description
kind - WidgetKind!
replaceSnippet - Boolean!
Example
{"kind": "PAYMENT", "replaceSnippet": true}

KlarnaPaymentWidget

Fields
Field Name Description
kind - WidgetKind!
client_token - String!
authorizePayload - Map
replace_snippet - Boolean!
Example
{
  "kind": "PAYMENT",
  "client_token": "xyz789",
  "authorizePayload": Map,
  "replace_snippet": false
}

Language

Fields
Field Name Description
name - String!
Arguments
locale - String
code - String!
languageCode - String ISO-639-1 code
languageName - String ISO-639 name
countryCode - String ISO-3166-1 alpha-2
default - Boolean!
Example
{
  "name": "abc123",
  "code": "xyz789",
  "languageCode": "xyz789",
  "languageName": "xyz789",
  "countryCode": "xyz789",
  "default": false
}

Line

Fields
Field Name Description
id - String!
name - String!
productVariantName - String!
brand - Brand
size - String!
productNumber - String!
comment - String!
item - Item!
addedFromCategory - Category
productExternalUrl - String
appliedPromotions - [AppliedPromotion!]!
hasDiscount - Boolean!
unitPrice - MonetaryValue!
Arguments
includingTax - Boolean!
unitOriginalPrice - MonetaryValue!
Arguments
includingTax - Boolean!
unitPriceReduction - MonetaryValue!
Arguments
includingTax - Boolean!
lineValue - MonetaryValue!
Arguments
includingTax - Boolean!
originalLineValue - MonetaryValue!
Arguments
includingTax - Boolean!
discountPercent - Float!
taxPercent - Float!
quantity - Int!
localizedSize - LocalizedProdSize
subscriptionId - Int
displayItem - DisplayItem!
Possible Types
Line Types

ProductLine

BundleLine

Example
{
  "id": "xyz789",
  "name": "xyz789",
  "productVariantName": "xyz789",
  "brand": Brand,
  "size": "abc123",
  "productNumber": "xyz789",
  "comment": "abc123",
  "item": Item,
  "addedFromCategory": Category,
  "productExternalUrl": "xyz789",
  "appliedPromotions": [AppliedPromotion],
  "hasDiscount": false,
  "unitPrice": MonetaryValue,
  "unitOriginalPrice": MonetaryValue,
  "unitPriceReduction": MonetaryValue,
  "lineValue": MonetaryValue,
  "originalLineValue": MonetaryValue,
  "discountPercent": 123.45,
  "taxPercent": 987.65,
  "quantity": 987,
  "localizedSize": LocalizedProdSize,
  "subscriptionId": 123,
  "displayItem": DisplayItem
}

LocalizedProdSize

Fields
Field Name Description
localizationDefinitionName - String!
localizedSize - String!
Example
{
  "localizationDefinitionName": "xyz789",
  "localizedSize": "abc123"
}

LocalizedProdSizeInput

Fields
Input Field Description
localizationDefinitionName - String!
localizedSize - String!
Example
{
  "localizationDefinitionName": "abc123",
  "localizedSize": "xyz789"
}

LocalizedSize

Fields
Field Name Description
name - String
displayName - String
countries - [Country!]!
Example
{
  "name": "xyz789",
  "displayName": "xyz789",
  "countries": [Country]
}

LocalizedSizeChart

Fields
Field Name Description
displayName - String!
horizontalLabels - [String!]!
verticalLabels - [String!]!
countries - [Country!]!
Example
{
  "displayName": "xyz789",
  "horizontalLabels": ["abc123"],
  "verticalLabels": ["abc123"],
  "countries": [Country]
}

LoginOptions

Fields
Input Field Description
applyCustomerMarket - Boolean! If set to true, applyCustomerMarket will change the current Selection and Session to use the market specified on the customer. The market will only be changed if the customer has a non-geolocated market assigned. Default = false
Example
{"applyCustomerMarket": true}

LoginPayload

Fields
Field Name Description
loggedIn - Customer
selection - Selection!
Arguments
voucherMode - VOUCHER_MODE!
session - Session!
userErrors - [UserError!]!
Example
{
  "loggedIn": Customer,
  "selection": Selection,
  "session": Session,
  "userErrors": [UserError]
}

LogoutPayload

Fields
Field Name Description
session - Session!
selection - Selection!
Arguments
voucherMode - VOUCHER_MODE!
Example
{
  "session": Session,
  "selection": Selection
}

LowestPrice

Fields
Field Name Description
price - MonetaryValue!
originalPrice - MonetaryValue!
periodDays - Int!
Possible Types
LowestPrice Types

LowestPriceBase

MarketLowestPrice

Example
{
  "price": MonetaryValue,
  "originalPrice": MonetaryValue,
  "periodDays": 123
}

LowestPriceBase

Fields
Field Name Description
price - MonetaryValue!
originalPrice - MonetaryValue!
periodDays - Int!
Example
{
  "price": MonetaryValue,
  "originalPrice": MonetaryValue,
  "periodDays": 987
}

Map

Example
Map

MappedAttribute

Fields
Field Name Description
id - Int!
elements - [AttributeElement!]!
type - AttributeType!
Example
{
  "id": 123,
  "elements": [AttributeElement],
  "type": AttributeType
}

MappedAttributeFilterValue

Fields
Field Name Description
active - Boolean!
count - Int! Number of matches with the current filtering.
filterCount - Int! Number of matches with the current filtering when you discount the other selected values in this group.
totalCount - Int! The number of items in total available, independent of filtering.
value - String!
attribute - MappedAttribute!
Example
{
  "active": true,
  "count": 987,
  "filterCount": 987,
  "totalCount": 123,
  "value": "abc123",
  "attribute": MappedAttribute
}

MappedAttributeInput

Fields
Input Field Description
attributeTypeName - String!
attributeId - Int!
Example
{
  "attributeTypeName": "xyz789",
  "attributeId": 987
}

MappedSelectionAttributeSetInput

Fields
Input Field Description
attributeId - Int!
Example
{"attributeId": 123}

MappedSelectionAttributeUnsetInput

Fields
Input Field Description
attributeId - Int!
Example
{"attributeId": 123}

Market

Fields
Field Name Description
id - Int!
name - String!
countries - [Country!] Required operating mode: NO_SESSION
hasCampaignSite - Boolean! Required operating mode: NO_SESSION
Example
{
  "id": 987,
  "name": "abc123",
  "countries": [Country],
  "hasCampaignSite": true
}

MarketLowestPrice

Fields
Field Name Description
markets - [Int!]!
price - MonetaryValue!
originalPrice - MonetaryValue!
periodDays - Int!
Example
{
  "markets": [987],
  "price": MonetaryValue,
  "originalPrice": MonetaryValue,
  "periodDays": 987
}

MarketPrice

Fields
Field Name Description
campaignInfo - CampaignInfo
markets - [Int!]!
hasDiscount - Boolean!
originalPrice - MonetaryValue!
price - MonetaryValue!
Example
{
  "campaignInfo": CampaignInfo,
  "markets": [123],
  "hasDiscount": true,
  "originalPrice": MonetaryValue,
  "price": MonetaryValue
}

MaxDistance

Fields
Input Field Description
maxDistance - Float!
maxDistanceUnit - DistanceUnit!
Example
{"maxDistance": 987.65, "maxDistanceUnit": "METER"}

MeasurementTable

Fields
Field Name Description
displayUnit - String!
horizontalLabels - [String!]!
verticalLabels - [String!]!
values - [String!]!
Example
{
  "displayUnit": "abc123",
  "horizontalLabels": ["abc123"],
  "verticalLabels": ["abc123"],
  "values": ["abc123"]
}

MediaSize

Fields
Field Name Description
name - String!
maxWidth - Int
maxHeight - Int
mimeType - String
quality - Int
Example
{
  "name": "abc123",
  "maxWidth": 987,
  "maxHeight": 123,
  "mimeType": "xyz789",
  "quality": 987
}

MediaSource

Fields
Field Name Description
mediaSize - MediaSize!
type - MediaType!
url - String!
mimeType - String
Example
{
  "mediaSize": MediaSize,
  "type": "IMAGE",
  "url": "xyz789",
  "mimeType": "xyz789"
}

MediaType

Values
Enum Value Description

IMAGE

Example
"IMAGE"

MonetaryValue

Fields
Field Name Description
value - Float!
currency - Currency!
formattedValue - String!
Example
{
  "value": 987.65,
  "currency": Currency,
  "formattedValue": "xyz789"
}

NewsletterSubscribeInput

Fields
Input Field Description
emailField - String
countryCode - String
languageCode - String
gender - Gender
Example
{
  "emailField": "abc123",
  "countryCode": "abc123",
  "languageCode": "abc123",
  "gender": "FEMALE"
}

NewsletterSubscribePayload

Fields
Field Name Description
subscribed - Boolean!
userErrors - [UserError!]!
Example
{"subscribed": true, "userErrors": [UserError]}

NewsletterSubscription

Fields
Field Name Description
isActive - Boolean!
createdAt - DateTimeTz!
Arguments
format - String

ISO-8601

country - Country
Example
{
  "isActive": false,
  "createdAt": DateTimeTz,
  "country": Country
}

NotFoundUriLookupPayload

Fields
Field Name Description
found - UriLookupType!
userErrors - [UserError!]!
Example
{"found": "AFFILIATE", "userErrors": [UserError]}

OPERATION_CATEGORY

Values
Enum Value Description

CATALOG

SEARCH_FILTER

CART

CHECKOUT

Example
"CATALOG"

OpeningDay

Fields
Field Name Description
day - OpeningDayType!
date - Date
isClosed - Boolean!
openingHoursList - [OpeningHours!]!
Example
{
  "day": "MONDAY",
  "date": "2007-12-03",
  "isClosed": false,
  "openingHoursList": [OpeningHours]
}

OpeningDayType

Values
Enum Value Description

MONDAY

TUESDAY

WEDNESDAY

THURSDAY

FRIDAY

SATURDAY

SUNDAY

CUSTOM_DATE

Example
"MONDAY"

OpeningHours

Fields
Field Name Description
start - String!
end - String!
Example
{
  "start": "xyz789",
  "end": "xyz789"
}

Order

Fields
Field Name Description
id - String!
comment - String
number - Int!
status - OrderStatus!
orderDate - String!
Arguments
format - String

ISO-8601

userIP - String
currencyBaseRate - Float!
otherComment - String!
attributes - [Attribute!]!
billingAddress - Address
country - Country
discountsApplied - [Voucher!]!
language - Language
lines - [Line]!
market - Market
paymentMethod - PaymentMethod!
shippingAddress - Address
shippingMethod - ShippingMethod!
state - CountryState
totals - [SelectionTotalRow!]!
affiliateHtml - String!
paymentHtml - String! Some paymentMethods return a html snippet to be rendered on the thank you page.
deliveryGroups - [DeliveryGroup!]!
usedFallbackTax - Boolean!
Example
{
  "id": "abc123",
  "comment": "abc123",
  "number": 123,
  "status": "PENDING",
  "orderDate": "abc123",
  "userIP": "xyz789",
  "currencyBaseRate": 987.65,
  "otherComment": "abc123",
  "attributes": [Attribute],
  "billingAddress": Address,
  "country": Country,
  "discountsApplied": [Voucher],
  "language": Language,
  "lines": [Line],
  "market": Market,
  "paymentMethod": PaymentMethod,
  "shippingAddress": Address,
  "shippingMethod": ShippingMethod,
  "state": CountryState,
  "totals": [SelectionTotalRow],
  "affiliateHtml": "abc123",
  "paymentHtml": "xyz789",
  "deliveryGroups": [DeliveryGroup],
  "usedFallbackTax": true
}

OrderStatus

Values
Enum Value Description

PENDING

CONFIRMED

PROCESSING

SHIPPED

ARCHIVED

DELETED

Example
"PENDING"

PaginationInfo

Fields
Field Name Description
hasPreviousPage - Boolean!
hasNextPage - Boolean!
nextPage - Int
previousPage - Int
currentPage - Int! The page can be different from the requested page if an invalid page was requested.
lastPage - Int!
limit - Int!
total - Int!
Example
{
  "hasPreviousPage": true,
  "hasNextPage": true,
  "nextPage": 123,
  "previousPage": 987,
  "currentPage": 987,
  "lastPage": 987,
  "limit": 123,
  "total": 987
}

PasswordUpdateInput

Fields
Input Field Description
oldPassword - String!
newPassword - String!
confirmNewPassword - String
Example
{
  "oldPassword": "xyz789",
  "newPassword": "xyz789",
  "confirmNewPassword": "xyz789"
}

Payload

PaymentAction

Example
{"action": "FORM"}

PaymentActionType

Values
Enum Value Description

FORM

JAVASCRIPT

REDIRECT

SUCCESS

Example
"FORM"

PaymentInstructionsInput

Fields
Input Field Description
affiliate - Int
integrationSpecificFields - Map
checkoutPageOrigin - String
clientDetails - ClientDetails
customerClubSpecificFields - CustomerClubSpecificFields
consents - [ConsentInput!]
comment - String
internal - Boolean!
ipAddress - String
languageCode - String!
paymentInitiateOnly - Boolean!
express - Boolean!
paymentMethod - Int!
paymentMethodSpecificFields - Map
paymentFailedPage - String!
paymentReturnPage - String!
shippingAddress - AddressInput!
separateBillingAddress - AddressInput
termsAndConditions - Boolean!
shippingMethod - Int!
Example
{
  "affiliate": 987,
  "integrationSpecificFields": Map,
  "checkoutPageOrigin": "xyz789",
  "clientDetails": ClientDetails,
  "customerClubSpecificFields": CustomerClubSpecificFields,
  "consents": [ConsentInput],
  "comment": "xyz789",
  "internal": true,
  "ipAddress": "abc123",
  "languageCode": "xyz789",
  "paymentInitiateOnly": false,
  "express": true,
  "paymentMethod": 123,
  "paymentMethodSpecificFields": Map,
  "paymentFailedPage": "abc123",
  "paymentReturnPage": "abc123",
  "shippingAddress": AddressInput,
  "separateBillingAddress": AddressInput,
  "termsAndConditions": false,
  "shippingMethod": 987
}

PaymentInstructionsPayload

Fields
Field Name Description
action - PaymentAction
selection - Selection!
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "action": PaymentAction,
  "selection": Selection,
  "userErrors": [UserError]
}

PaymentMethod

Fields
Field Name Description
active - Boolean!
addressAfterPayment - Boolean!
handlingCost - MonetaryValue!
id - Int!
initiateOnlySupported - Boolean!
kind - PaymentMethodKind!
name - String!
recurringSupported - Boolean!
uri - String!
Example
{
  "active": true,
  "addressAfterPayment": true,
  "handlingCost": MonetaryValue,
  "id": 123,
  "initiateOnlySupported": true,
  "kind": "ADYEN_DROPIN",
  "name": "abc123",
  "recurringSupported": false,
  "uri": "abc123"
}

PaymentMethodKind

Values
Enum Value Description

ADYEN_DROPIN

DUMMY

EXTERNAL_PAYMENT

UNKNOWN

KLARNA_CHECKOUT_V3

KLARNA_PAYMENTS

PAYPAL_COMMERCE

QLIRO_ONE

STRIPE_CHECKOUT

STRIPE_PAYMENT_INTENTS

Example
"ADYEN_DROPIN"

PaymentResultFailedPayload

Fields
Field Name Description
type - PaymentResultType!
selection - Selection!
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "type": "SUCCESS",
  "selection": Selection,
  "userErrors": [UserError]
}

PaymentResultPayload

Fields
Field Name Description
type - PaymentResultType!
selection - Selection!
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Possible Types
PaymentResultPayload Types

PaymentResultSuccessPayload

PaymentResultFailedPayload

Example
{
  "type": "SUCCESS",
  "selection": Selection,
  "userErrors": [UserError]
}

PaymentResultSuccessPayload

Fields
Field Name Description
type - PaymentResultType!
order - Order!
selection - Selection!
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "type": "SUCCESS",
  "order": Order,
  "selection": Selection,
  "userErrors": [UserError]
}

PaymentResultType

Values
Enum Value Description

SUCCESS

FAILED

Example
"SUCCESS"

Pricelist

Fields
Field Name Description
id - Int!
name - String!
comment - String
currency - Currency!
countries - [Country!] Required operating mode: NO_SESSION
Example
{
  "id": 123,
  "name": "abc123",
  "comment": "abc123",
  "currency": Currency,
  "countries": [Country]
}

PricelistLowestPrice

Fields
Field Name Description
pricelist - Pricelist!
lowestPriceByMarket - [MarketLowestPrice!]!
Example
{
  "pricelist": Pricelist,
  "lowestPriceByMarket": [MarketLowestPrice]
}

PricelistPrice

Fields
Field Name Description
pricelist - Pricelist!
priceByMarket - [MarketPrice!]!
Example
{
  "pricelist": Pricelist,
  "priceByMarket": [MarketPrice]
}

ProductLine

Fields
Field Name Description
id - String!
name - String!
productVariantName - String!
brand - Brand
size - String!
productNumber - String!
comment - String!
item - Item!
addedFromCategory - Category
productExternalUrl - String
appliedPromotions - [AppliedPromotion!]!
hasDiscount - Boolean!
unitPrice - MonetaryValue!
Arguments
includingTax - Boolean!
unitOriginalPrice - MonetaryValue!
Arguments
includingTax - Boolean!
unitPriceReduction - MonetaryValue!
Arguments
includingTax - Boolean!
lineValue - MonetaryValue!
Arguments
includingTax - Boolean!
originalLineValue - MonetaryValue!
Arguments
includingTax - Boolean!
discountPercent - Float!
taxPercent - Float!
quantity - Int!
localizedSize - LocalizedProdSize
subscriptionId - Int
displayItem - DisplayItem!
Example
{
  "id": "xyz789",
  "name": "xyz789",
  "productVariantName": "abc123",
  "brand": Brand,
  "size": "xyz789",
  "productNumber": "xyz789",
  "comment": "xyz789",
  "item": Item,
  "addedFromCategory": Category,
  "productExternalUrl": "abc123",
  "appliedPromotions": [AppliedPromotion],
  "hasDiscount": false,
  "unitPrice": MonetaryValue,
  "unitOriginalPrice": MonetaryValue,
  "unitPriceReduction": MonetaryValue,
  "lineValue": MonetaryValue,
  "originalLineValue": MonetaryValue,
  "discountPercent": 123.45,
  "taxPercent": 987.65,
  "quantity": 123,
  "localizedSize": LocalizedProdSize,
  "subscriptionId": 987,
  "displayItem": DisplayItem
}

ProductMedia

Fields
Field Name Description
id - Int!
source - MediaSource!
Arguments
sizeName - String
metaDataJSON - String
attributes - [Attribute!]!
Arguments
keys - [String!]!
altText - String
translations - [TranslatedMedia!]!
Example
{
  "id": 123,
  "source": MediaSource,
  "metaDataJSON": "abc123",
  "attributes": [Attribute],
  "altText": "abc123",
  "translations": [TranslatedMedia]
}

ProductVariant

Fields
Field Name Description
id - Int!
name - String
number - String
translations - [TranslatedProductVariant!]
Example
{
  "id": 123,
  "name": "xyz789",
  "number": "abc123",
  "translations": [TranslatedProductVariant]
}

RedirectPaymentAction

Fields
Field Name Description
action - PaymentActionType!
url - String!
Example
{"action": "FORM", "url": "abc123"}

RelatedDisplayItems

Fields
Field Name Description
relation - String!
displayItems - [DisplayItem!]
Example
{
  "relation": "abc123",
  "displayItems": [DisplayItem]
}

RemoveWishlistItemPayload

Fields
Field Name Description
wishlist - Wishlist
userErrors - [UserError!]!
Example
{
  "wishlist": Wishlist,
  "userErrors": [UserError]
}

RequestPasswordResetEmailPayload

Fields
Field Name Description
userErrors - [UserError!]!
Example
{"userErrors": [UserError]}

ResetPasswordPayload

Fields
Field Name Description
changed - Boolean!
session - Session!
userErrors - [UserError!]!
Example
{
  "changed": true,
  "session": Session,
  "userErrors": [UserError]
}

SCOPE

Values
Enum Value Description

SESSION

NO_SESSION

SHARED_SECRET

LOGGED_IN

Example
"SESSION"

SearchField

Values
Enum Value Description

NAME

FUZZY_NAME

BRAND_NAME

COLLECTION_NAME

CATEGORY_NAME

PRODUCT_VARIANT_NAME

FUZZY_PRODUCT_VARIANT_NAME

PRODUCT_NUMBER

SIZE_NUMBER

GTIN

SHORT_DESCRIPTION

DESCRIPTION

Example
"NAME"

Selection

Fields
Field Name Description
id - String
comment - String
lines - [Line]!
grandTotal - MonetaryValue! Does not contain added tax.
language - Language
discounts - [Voucher!]!
taxExempt - Boolean
brickAndMortar - BrickAndMortar
checkout - CheckoutSelection Slow fields for checkout.
attributes - [Attribute!]!
availableAttributes - [Attribute!]!
externalGiftCardAvailable - Boolean!
usedFallbackTax - Boolean!
Example
{
  "id": "xyz789",
  "comment": "abc123",
  "lines": [Line],
  "grandTotal": MonetaryValue,
  "language": Language,
  "discounts": [Voucher],
  "taxExempt": false,
  "brickAndMortar": BrickAndMortar,
  "checkout": CheckoutSelection,
  "attributes": [Attribute],
  "availableAttributes": [Attribute],
  "externalGiftCardAvailable": true,
  "usedFallbackTax": false
}

SelectionActionType

Values
Enum Value Description

ALLOCATE

Example
"ALLOCATE"

SelectionBundle

Fields
Field Name Description
id - Int!
type - BundleType!
priceType - BundlePriceType!
sections - [SelectionBundleSection!]!
Example
{
  "id": 987,
  "type": "FIXED",
  "priceType": "STATIC",
  "sections": [SelectionBundleSection]
}

SelectionBundleSection

Fields
Field Name Description
id - Int!
quantity - Int!
lines - [ProductLine!]!
Example
{"id": 123, "quantity": 123, "lines": [ProductLine]}

SelectionDeliveryGroup

Fields
Field Name Description
name - String
shippingMethod - ShippingMethod!
shippingPrice - MonetaryValue!
lines - [DeliveryGroupLine!]!
Example
{
  "name": "xyz789",
  "shippingMethod": ShippingMethod,
  "shippingPrice": MonetaryValue,
  "lines": [DeliveryGroupLine]
}

SelectionMutationPayload

Fields
Field Name Description
selection - Selection
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "selection": Selection,
  "userErrors": [UserError]
}

SelectionTotalRow

Fields
Field Name Description
type - SelectionTotalRowType!
price - MonetaryValue!
Possible Types
SelectionTotalRow Types

SelectionTotalRowBase

SelectionTotalTaxRow

Example
{"type": "ITEMS_SUBTOTAL", "price": MonetaryValue}

SelectionTotalRowBase

Fields
Field Name Description
type - SelectionTotalRowType!
price - MonetaryValue!
Example
{"type": "ITEMS_SUBTOTAL", "price": MonetaryValue}

SelectionTotalRowType

Values
Enum Value Description

ITEMS_SUBTOTAL

DISCOUNT

CREDIT

SHIPPING

HANDLING

TAX_DEDUCT_TOTAL

TAX_DEDUCT

TAX_ADDED_TOTAL

TAX_ADDED

GRAND_TOTAL

INCLUDING_TAX_TOTAL

INCLUDING_TAX

Example
"ITEMS_SUBTOTAL"

SelectionTotalTaxRow

Fields
Field Name Description
taxPercent - Float!
type - SelectionTotalRowType!
price - MonetaryValue!
Example
{
  "taxPercent": 123.45,
  "type": "ITEMS_SUBTOTAL",
  "price": MonetaryValue
}

Session

Fields
Field Name Description
country - Country!
countryState - CountryState
language - Language
loggedIn - Customer
pricelist - Pricelist!
market - Market!
Example
{
  "country": Country,
  "countryState": CountryState,
  "language": Language,
  "loggedIn": Customer,
  "pricelist": Pricelist,
  "market": Market
}

SessionPayload

Fields
Field Name Description
session - Session!
selection - Selection
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "session": Session,
  "selection": Selection,
  "userErrors": [UserError]
}

ShippingMethod

Fields
Field Name Description
comment - String
selected - Boolean!
name - String!
price - MonetaryValue!
id - Int!
Example
{
  "comment": "xyz789",
  "selected": true,
  "name": "xyz789",
  "price": MonetaryValue,
  "id": 987
}

SizeChart

Fields
Field Name Description
name - String!
horizontalLabels - [String!]!
verticalLabels - [String!]!
dividerSymbol - String!
displayUnit - String!
localization - [LocalizedSizeChart!]!
Example
{
  "name": "xyz789",
  "horizontalLabels": ["xyz789"],
  "verticalLabels": ["xyz789"],
  "dividerSymbol": "abc123",
  "displayUnit": "xyz789",
  "localization": [LocalizedSizeChart]
}

SizeNameFilterValue

Fields
Field Name Description
active - Boolean!
count - Int! Number of matches with the current filtering.
filterCount - Int! Number of matches with the current filtering when you discount the other selected values in this group.
totalCount - Int! The number of items in total available, independent of filtering.
value - String!
sizeLocalization - [LocalizedSize!]!
Example
{
  "active": false,
  "count": 987,
  "filterCount": 987,
  "totalCount": 123,
  "value": "xyz789",
  "sizeLocalization": [LocalizedSize]
}

SortKey

Values
Enum Value Description

PRICE

URI

CATEGORY

COLLECTION

PRODUCT_NUMBER

PRODUCT_VARIANT_NUMBER

SKU

CREATED_AT

MODIFIED_AT

Example
"PRICE"

SortOrder

Values
Enum Value Description

ASC

DESC

Example
"ASC"

StateAddressField

Fields
Field Name Description
key - String!
visible - Boolean!
required - Boolean!
choices - [CountryState!]!
selected - CountryState
Example
{
  "key": "abc123",
  "visible": false,
  "required": false,
  "choices": [CountryState],
  "selected": CountryState
}

Stock

Fields
Field Name Description
available - Boolean!
quantity - Int! Required permission: stock.quantity
Example
{"available": true, "quantity": 987}

StockSubscribePayload

Fields
Field Name Description
subscribed - Boolean!
userErrors - [UserError!]!
Example
{"subscribed": false, "userErrors": [UserError]}

StoredPaymentInstructionsInput

Fields
Input Field Description
contracts - [Int!]!
paymentMethod - Int!
paymentFailedPage - String!
paymentReturnPage - String!
paymentMethodSpecificFields - Map
checkoutOrigin - String
Example
{
  "contracts": [123],
  "paymentMethod": 987,
  "paymentFailedPage": "abc123",
  "paymentReturnPage": "abc123",
  "paymentMethodSpecificFields": Map,
  "checkoutOrigin": "xyz789"
}

StoredPaymentInstructionsPayload

Fields
Field Name Description
action - PaymentAction
userErrors - [UserError!]!
Example
{
  "action": PaymentAction,
  "userErrors": [UserError]
}

StoredPaymentMethodPayload

Fields
Field Name Description
paymentMethods - [PaymentMethod!]!
Arguments
userErrors - [UserError!]!
Example
{
  "paymentMethods": [PaymentMethod],
  "userErrors": [UserError]
}

StoredPaymentResultPayload

Fields
Field Name Description
success - Boolean!
paymentHtml - String
contracts - [SubscriptionContract!]!
userErrors - [UserError!]!
Example
{
  "success": false,
  "paymentHtml": "abc123",
  "contracts": [SubscriptionContract],
  "userErrors": [UserError]
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

SubscriptionContract

Fields
Field Name Description
id - Int!
createdAt - DateTimeTz!
Arguments
format - String

ISO-8601

updatedAt - DateTimeTz!
Arguments
format - String

ISO-8601

market - Market
pricelist - Pricelist!
originatingOrder - Order
shippingAddress - Address!
subscriptions - [SubscriptionInfo!]!
shippingOption - ShippingMethod
subscriptionPayment - [SubscriptionPayment!]!
Example
{
  "id": 123,
  "createdAt": DateTimeTz,
  "updatedAt": DateTimeTz,
  "market": Market,
  "pricelist": Pricelist,
  "originatingOrder": Order,
  "shippingAddress": Address,
  "subscriptions": [SubscriptionInfo],
  "shippingOption": ShippingMethod,
  "subscriptionPayment": [SubscriptionPayment]
}

SubscriptionContractAddressInput

Fields
Input Field Description
firstName - String
lastName - String
address1 - String
address2 - String
city - String
zipCode - String
phoneNumber - String
email - String
Example
{
  "firstName": "abc123",
  "lastName": "abc123",
  "address1": "abc123",
  "address2": "xyz789",
  "city": "abc123",
  "zipCode": "xyz789",
  "phoneNumber": "xyz789",
  "email": "xyz789"
}

SubscriptionContractPayload

Fields
Field Name Description
contract - SubscriptionContract
userErrors - [UserError!]!
Example
{
  "contract": SubscriptionContract,
  "userErrors": [UserError]
}

SubscriptionInfo

Fields
Field Name Description
id - Int!
attentionReasons - [AttentionReason!]!
interval - DateInterval!
needsAttention - Boolean!
nextOrderDate - Date Next day when the order should be created according to schedule and selected interval.
Arguments
format - String
nextRetryDate - Date Next day when the order creation will be attempted. Takes last failures and retrial mechanics into account.
Arguments
format - String
discount - Float
createdAt - DateTimeTz!
Arguments
format - String

ISO-8601

updatedAt - DateTimeTz!
Arguments
format - String

ISO-8601

plan - SubscriptionPlan
status - SubscriptionStatus!
lines - [Line!]!
Example
{
  "id": 987,
  "attentionReasons": ["UNKNOWN"],
  "interval": DateInterval,
  "needsAttention": false,
  "nextOrderDate": "2007-12-03",
  "nextRetryDate": "2007-12-03",
  "discount": 123.45,
  "createdAt": DateTimeTz,
  "updatedAt": DateTimeTz,
  "plan": SubscriptionPlan,
  "status": "PAUSED",
  "lines": [Line]
}

SubscriptionPayment

Fields
Field Name Description
id - Int!
paymentMethod - String!
createdAt - DateTimeTz!
Arguments
format - String

ISO-8601

updatedAt - DateTimeTz!
Arguments
format - String

ISO-8601

status - SubscriptionPaymentStatus!
Example
{
  "id": 987,
  "paymentMethod": "xyz789",
  "createdAt": DateTimeTz,
  "updatedAt": DateTimeTz,
  "status": "ACTIVE"
}

SubscriptionPaymentStatus

Values
Enum Value Description

ACTIVE

REVOKED

SUSPENDED

Example
"ACTIVE"

SubscriptionPlan

Fields
Field Name Description
id - Int!
name - String!
interval - DateInterval!
discount - Float
Example
{
  "id": 987,
  "name": "abc123",
  "interval": DateInterval,
  "discount": 123.45
}

SubscriptionStatus

Values
Enum Value Description

PAUSED

ACTIVE

CANCELLED

Example
"PAUSED"

SuccessPaymentAction

Fields
Field Name Description
action - PaymentActionType!
order - Order!
formFields - Map
Example
{
  "action": "FORM",
  "order": Order,
  "formFields": Map
}

SuccessStoredPaymentAction

Fields
Field Name Description
action - PaymentActionType!
paymentHtml - String
contracts - [SubscriptionContract!]!
Example
{
  "action": "FORM",
  "paymentHtml": "abc123",
  "contracts": [SubscriptionContract]
}

TextAddressField

Fields
Field Name Description
key - String!
visible - Boolean!
required - Boolean!
Example
{
  "key": "xyz789",
  "visible": false,
  "required": false
}

TextFilterValue

Fields
Field Name Description
active - Boolean!
count - Int! Number of matches with the current filtering.
filterCount - Int! Number of matches with the current filtering when you discount the other selected values in this group.
name - String
totalCount - Int! The number of items in total available, independent of filtering.
value - String!
Example
{
  "active": true,
  "count": 123,
  "filterCount": 123,
  "name": "abc123",
  "totalCount": 123,
  "value": "xyz789"
}

TranslatedCategory

Fields
Field Name Description
language - Language!
name - [String!]
uri - String!
metaDescription - String!
metaKeywords - String!
metaTitle - String!
Example
{
  "language": Language,
  "name": ["abc123"],
  "uri": "xyz789",
  "metaDescription": "xyz789",
  "metaKeywords": "xyz789",
  "metaTitle": "xyz789"
}

TranslatedCountry

Fields
Field Name Description
language - Language!
name - String!
Example
{
  "language": Language,
  "name": "abc123"
}

TranslatedDisplayItem

Fields
Field Name Description
language - Language!
description - FormattedString!
metaDescription - String!
metaKeywords - String!
metaTitle - String!
name - String!
shortDescription - FormattedString!
uri - String!
Example
{
  "language": Language,
  "description": FormattedString,
  "metaDescription": "xyz789",
  "metaKeywords": "abc123",
  "metaTitle": "abc123",
  "name": "xyz789",
  "shortDescription": FormattedString,
  "uri": "xyz789"
}

TranslatedMedia

Fields
Field Name Description
language - Language!
altText - String
Example
{
  "language": Language,
  "altText": "xyz789"
}

TranslatedProductVariant

Fields
Field Name Description
language - Language!
name - String!
Example
{
  "language": Language,
  "name": "xyz789"
}

TriggerSelectionActionPayload

Fields
Field Name Description
selection - Selection
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "selection": Selection,
  "userErrors": [UserError]
}

URILookupPayload

Example
{"found": "AFFILIATE", "userErrors": [UserError]}

UnavailableItem

Fields
Field Name Description
path - [String!]
message - String!
originalQuantity - Int!
unavailableQuantity - Int!
availableQuantity - Int!
item - Item
displayItem - DisplayItem
Example
{
  "path": ["abc123"],
  "message": "abc123",
  "originalQuantity": 123,
  "unavailableQuantity": 123,
  "availableQuantity": 123,
  "item": Item,
  "displayItem": DisplayItem
}

UriLookupType

Values
Enum Value Description

AFFILIATE

DISPLAY_ITEM

CATEGORY

CAMPAIGN_SITE

URL_VOUCHER

NOT_FOUND

Example
"AFFILIATE"

UrlVoucher

Fields
Field Name Description
url - String!
name - String!
appliedOn - [VoucherAppliedOn!]! Required operating mode: SESSION
method - VoucherMethod!
type - VoucherType!
value - MonetaryValue! Required operating mode: SESSION
orderReduction - MonetaryValue! Required operating mode: SESSION
totalItemReduction - MonetaryValue! Required operating mode: SESSION
totalShippingReduction - MonetaryValue! Required operating mode: SESSION
lineIds - [String!]!
actions - [VoucherAction!]!
expiryDate - String!
attributes - [Attribute!]!
giftCard - GiftCard
isExternal - Boolean!
Example
{
  "url": "xyz789",
  "name": "abc123",
  "appliedOn": ["ORDER"],
  "method": "AUTO",
  "type": "CREDIT",
  "value": MonetaryValue,
  "orderReduction": MonetaryValue,
  "totalItemReduction": MonetaryValue,
  "totalShippingReduction": MonetaryValue,
  "lineIds": ["xyz789"],
  "actions": [VoucherAction],
  "expiryDate": "xyz789",
  "attributes": [Attribute],
  "giftCard": GiftCard,
  "isExternal": true
}

UrlVoucherUriLookupPayload

Fields
Field Name Description
found - UriLookupType!
voucherApplied - UrlVoucher!
selection - Selection Required operating mode: SESSION
Arguments
voucherMode - VOUCHER_MODE!
userErrors - [UserError!]!
Example
{
  "found": "AFFILIATE",
  "voucherApplied": UrlVoucher,
  "selection": Selection,
  "userErrors": [UserError]
}

UserError

Fields
Field Name Description
message - String!
path - [String!]
Possible Types
UserError Types

UnavailableItem

UserErrorBase

Example
{
  "message": "xyz789",
  "path": ["xyz789"]
}

UserErrorBase

Fields
Field Name Description
message - String!
path - [String!]
Example
{
  "message": "abc123",
  "path": ["xyz789"]
}

VOUCHER_MODE

Values
Enum Value Description

LINES

TOTAL

Example
"LINES"

VerifyResetPasswordHashesPayload

Fields
Field Name Description
valid - Boolean!
userErrors - [UserError!]!
Example
{"valid": false, "userErrors": [UserError]}

Voucher

Fields
Field Name Description
name - String!
appliedOn - [VoucherAppliedOn!]!
method - VoucherMethod!
type - VoucherType!
value - MonetaryValue!
orderReduction - MonetaryValue!
totalItemReduction - MonetaryValue!
totalShippingReduction - MonetaryValue!
lineIds - [String!]!
actions - [VoucherAction!]!
expiryDate - String!
attributes - [Attribute!]!
giftCard - GiftCard
isExternal - Boolean!
Possible Types
Voucher Types

CodeVoucher

AutoVoucher

UrlVoucher

Example
{
  "name": "abc123",
  "appliedOn": ["ORDER"],
  "method": "AUTO",
  "type": "CREDIT",
  "value": MonetaryValue,
  "orderReduction": MonetaryValue,
  "totalItemReduction": MonetaryValue,
  "totalShippingReduction": MonetaryValue,
  "lineIds": ["abc123"],
  "actions": [VoucherAction],
  "expiryDate": "xyz789",
  "attributes": [Attribute],
  "giftCard": GiftCard,
  "isExternal": false
}

VoucherAction

Fields
Field Name Description
type - AppliedActionType!
Possible Types
VoucherAction Types

FreeProductAddedAction

FreeShippingAction

Example
{"type": "FREE_PRODUCT_ADDED"}

VoucherAppliedOn

Values
Enum Value Description

ORDER

LINES

ADDED_LINE

SHIPPING

Example
"ORDER"

VoucherMethod

Values
Enum Value Description

AUTO

CODE

URL

Example
"AUTO"

VoucherType

Values
Enum Value Description

CREDIT

DISCOUNT

Example
"CREDIT"

WarehouseStock

Fields
Field Name Description
warehouseId - Int!
stock - Stock!
Example
{"warehouseId": 987, "stock": Stock}

Widget

Fields
Field Name Description
kind - WidgetKind!
Example
{"kind": "PAYMENT"}

WidgetKind

Values
Enum Value Description

PAYMENT

SHIPPING

Example
"PAYMENT"

Wishlist

Fields
Field Name Description
id - Int!
name - String!
isDefault - Boolean!
items - [DisplayItem!]!
Arguments
page - Int!
limit - Int!
Example
{
  "id": 123,
  "name": "abc123",
  "isDefault": false,
  "items": [DisplayItem]
}