Last updated

Schema Types

For the latest version of the schema, please visit https://storeapi-schema.norce.io/.

Table of Contents

Query

FieldArgumentTypeDescription
storeStore
idInt!
stores[Store]!
includeInactiveBoolean!
startPageStartPage
idInt
searchAutoCompleteSearchAutoCompleteResult
termString!
searchSearchResult
termString!
routeRoute

get product, category or page by path.

pathString!
productProduct
articleNumberString
idInt
barcodeString
products[Product]!
articleNumbers[String]
ids[Int]
barcodes[String]
pagePage

Fetch a single page by ID.

idInt!
pages[Page]!

Fetch all non-hidden pages. If you are using nested pages, only root level pages will be returned.

orderOrder

fetch order by id

idInt

Deprecated, please use the orderId-argument

orderIdID
myPagesContentMyPagesContent

Fetches my pages content

customerProductListCustomerProductList

get customer product list by id, null gets default product list

idID
shareTokenString
customerProductLists[CustomerProductList]!
customerLoyaltyCustomerLoyalty

Fetches customer-unique offers

customerCustomer
externalCustomerLookupExternalCustomerResult

Used in the sign up process when the shop has a third party customer repository, e.g. Voyado.

Error codes: INVALID_VALUE (if key is null), ExternalCustomerLookupFailed

keyString
personLookupPersonLookup

Get information on person by Key(personal id number or phone number)

keyString!
contentMultipleContent

Returns Content found by list of its IDs. Also not found Content IDs are listed.

ids[String]!
channelChannel

get channel by id, null gets default channel

idString
channels[Channel]!

get all channels

categories[Category]!

get categories by channel id, culture, root and culture

rootInt

category id of root parent, null or omit means all

levelsInt

number of levels to traverse in the category tree, null or omit means all

includeHiddenBoolean

Deprecated, this argument does not affect the result

categoryCategory

get category by id

idID!
cartCart
idString

Mutation

FieldArgumentTypeDescription
subscribeToStockNotificationsBoolean
emailString!
articleNumberString!
subscribeToNewsletterBoolean

This mutation's purpose is to subscribe a customer to a newsletter. In order to subscribe a customer a valid email address is required

Responds with a boolean value whether the subscription has been successful or not

emailString!
addToCustomerProductListCustomerProductListResult

Description

Adds items to product list, null id adds items to the default product list.

Error Codes

Unauthorized

Unauthorized

AddToProductListFailed

Error in underlying API call, more info may be contained in the error message.

InvalidArticleNumber

Article number cannot be empty

ProductNotFound

No match on article number

MoreThanOneMatchOnArticleNumber

Article number matched more than one article

idID
items[AddToCustomerProductListInput!]!
createCustomerProductListCustomerProductListResult

Description

Creates a product list for a logged in customer

Error Codes

Unauthorized

UnableToCreateProductList

Error in underlying API call, more info may be contained in the error message.

inputCreateCustomerProductListInput!
deleteCustomerProductListDeleteCustomerProductListResult

Description

Deletes a product list for a logged in customer

Error Codes

Unauthorized

ProductListNotFound

Argument id did not match any list for this customer.

UnableToDeleteProductList

Error in underlying API call, more info may be contained in the error message.

idID!
removeFromCustomerProductListCustomerProductListResult

Description

Removes an item from a product list for a logged in customer, null id removes item in the default product list.

Error Codes

Unauthorized

ProductListNotFound

Argument id did not match any list for this customer.

RemoveFromProductListFailed

Error in underlying API call, more info may be contained in the error message.

ProductNotFound

Argument articleNumbers did not match any products or variants.

MoreThanOneMatchOnArticleNumber

Argument articleNumbers matched more than one product/variant.

InvalidArticleNumber

Argument articleNumbers cannot be null or empty.

idID
articleNumbers[String!]
updateCustomerProductListItemCustomerProductListResult

Description

Updates an item in product list, null id updates item in the default product list.

Error Codes

Unauthorized

ProductListNotFound

Argument id did not match any list for this customer.

UnableToUpdateProductListItem

Error in underlying API call, more info may be contained in the error message.

ProductNotFound

Argument articleNumber did not match any products or variants.

MoreThanOneMatchOnArticleNumber

Argument articleNumber matched more than one product/variant.

InvalidArticleNumber

Argument articleNumber cannot be null or empty.

inputUpdateCustomerProductListItemInput!
updateCustomerProductListCustomerProductListResult

Description

Updates a product list for a logged in customer

Error Codes

Unauthorized

ProductListNotFound

Argument id did not match any list for this customer.

UnableToUpdateProductList

Error in underlying API call, more info may be contained in the error message.

inputUpdateCustomerProductListInput!
activateExternalCustomerByIdActivateExternalCustomerByIdResult

Error codes: CustomerNotFound, CustomerAlreadyActivated, UnableToActivateCustomer, UnableToLoginCustomer, InvalidCustomerActivateInput

inputActivateExternalCustomerByIdInput
activateExternalCustomerByTokenActivateExternalCustomerByTokenResult

Error codes: CustomerNotFound, CustomerAlreadyActivated, UnableToActivateCustomer, UnableToLoginCustomer, InvalidCustomerActivateInput

inputActivateExternalCustomerByTokenInput
deleteCustomerBoolean

This mutation deletes a customer. An authorization token is needed in the request, in order to be able to delete the customer.

loginExternalCustomerLoginExternalCustomerResult
inputLoginExternalCustomerInput
loginLoginResponse

LoginMutation will log a user in. One of email, pid, externalId or memberNumber is required, along with a password. To login as external customer, the email, externalHashId and timestamp are required. Returns an authorization token if the login was successful.

passwordString!
emailString
pidString
externalIdString
memberNumberString
externalHashIdString
timeStampStringExample format: 2022-09-05T06:46:26.104Z
requestPasswordResetRequestPasswordResetResult

Requires a valid email and returns boolean value if successful, otherwise an error will be thrown

emailString!
resetPasswordResetPassword

Requires a valid resetPasswordToken and a new password and if successful will return a authentication token

resetPasswordTokenString!

A reset password token that is solely used during a password reset

newPasswordString!
signUpSignUpResponse

The SignUp-mutation is used for creating a customer.

If the sign up is successful the customer may be considered to be logged on and an authentication token will be returned

inputSignUpInput!
updateCustomerCustomerUpdateResponse

This mutation's purpose is to update a existing customer's information. An authorization token is needed in the request, in order to be able to update the customer.

inputCustomerUpdateInput!
updateCustomerPriceListUpdateCustomerPriceListResult

This mutation's purpose is to update a existing customer's price list using an access code. An authorization token is needed in the request, in order to be able to update the customer.

priceListAccessCodeString!
updatePasswordUpdatePasswordResult

The updatePassword mutation updates the customers password. Both the old password and a new password is a requirement.

oldPasswordString!
newPasswordString!
addMultipleToCartCartMutation

Adds products to the cart where you can add comments to the products and determine their quantities. Replies with the affected cart if a cartId has been presented, otherwise a new cart will be created.

cartIdString

Not specifying cart id will create new cart.

items[AddMultipleToCartInput]!
addToCartCartMutation

Adds a product to the cart where you can add a comment to the product and determine the quantity. Replies with the affected cart if a cartId has been presented, otherwise a new cart will be created.

inputAddToCartInput!
decrementItemQuantityCartMutation

This mutation is used to reduce the quantity of a product in the cart, replies with the affected cart ruled by the cartId in the input.

inputChangeByOneItemQuantityInput!
setItemQuantityCartMutation

Used to add a specific quantity to a product in the cart. Replies with the affected cart ruled by the cartId in the input

inputSetItemQuantityInput!
incrementItemQuantityCartMutation

This mutation is used to increase the quantity of a product in the cart, replies with the affected cart ruled by the cartId in the input

inputChangeByOneItemQuantityInput!
removeFromCartCartMutation

Removes a specific product in the cart, replies with the affected cart

inputRemoveFromCartInput!
removeMultipleFromCartCartMutation

Removes specific items from the cart, replies with the affected cart

inputRemoveMultipleFromCartInput!
updateCartUpdateCartMutation

Responds with the affected cart.

inputUpdateCartInput!

Objects

ActivateExternalCustomerByIdResult

FieldArgumentTypeDescription
successBoolean!
tokenToken

ActivateExternalCustomerByTokenResult

FieldArgumentTypeDescription
successBoolean!
customerExternalCustomer

AlternateRoute

FieldArgumentTypeDescription
channelIdInt
cultureString
routeString
aliasString

BoolValue

FieldArgumentTypeDescription
valueBoolean

BooleanFilter

FieldArgumentTypeDescription
defaultBoolean
idString!
nameString!

BusinessCustomer

FieldArgumentTypeDescription
organizationId ⚠️String

⚠️ DEPRECATED

Use organizationNumber instead.

organizationNumberString
idID!
memberIdString
emailString
externalIdString

Customer id for external system

subscribedToNewsletter ⚠️Boolean

⚠️ DEPRECATED

Use communication.acceptsEmail

languageLanguage
billingAddressCustomerAddress
deliveryAddresses[CustomerAddress]
orderHeadersOrderHeaderResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

firstInt

Will fetch all if this is set to 0

offsetInt
communicationCustomerCommunication
storeStore

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

dynamicContentString
externalAttributes[CustomerExternalAttribute]
googleUserIdString

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

Cart

FieldArgumentTypeDescription
idString
totalQuantityInt
productTotalPrice
productPreviousTotalPrice
discountTotalPrice
aggregatedDiscounts[Discount]
externalCheckoutUrlUri
items[CartItem]

CartItem

FieldArgumentTypeDescription
idString!
quantityInt!
articleNumberString!
images ⚠️[ProductImage]

⚠️ DEPRECATED

Please use images on product instead.

subHeadingString
variantProductVariant
variantOptionNames[String]
customerComments[CartItemComment]
discounts[Discount]
totalPrice!

Total price, including discounts

previousTotalPrice!

Total price, excluding discounts

unitPricePrice!

Unit price, including discounts

previousUnitPricePrice!

Unit price, excluding discounts

discountPrice

Discount total

productProduct
configurations[SelectedProductConfiguration]
preOrderDateDateTime

CartItemComment

FieldArgumentTypeDescription
nameString
valueString

CartMutation

FieldArgumentTypeDescription
cartCart

Category

FieldArgumentTypeDescription
idInt!
parentId ⚠️Int

⚠️ DEPRECATED

Use parent.id instead

nameString!
levelInt!
activeDateSpanCategoryActiveDateSpan

The time interval of the campaign/category

isHidden ⚠️Boolean!

Whether or not this category and all its children are considered hidden

⚠️ DEPRECATED

This field should no longer be used and will always be false.

mainHeaderString

When empty will display the value of the name field

contentString
externalIdString
externalDiscountIdString
images[CategoryImage]
productsPagedResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

firstPaging
offsetInt
orderByProductOrderOptions
orderByDirectionSortDirection
filtersFilterInput
headHtmlHead

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

primaryRouteRoute

The primary route of this Category. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

breadcrumbTextString
hasSubcategoriesBoolean
subcategories[Category]
parentCategory ⚠️Category

⚠️ DEPRECATED

Use parent instead

parentCategory
isDynamicBoolean!

A dynamic category has no fixed products; products are dynamically included based on filters defined on the category in Admin. N.B. Products found on a dynamic category has no route that includes said category, instead product.primaryRoute will have to be used.

dataContent

Get content data set via the Content Editor.NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

CategoryActiveDateSpan

FieldArgumentTypeDescription
startDateDateTime
endDateDateTime

CategoryAutoCompleteResult

FieldArgumentTypeDescription
result[Category]

CategoryImage

FieldArgumentTypeDescription
widthInt
heightInt
urlUri

CategorySearchResult

FieldArgumentTypeDescription
result[Category]
totalResultsInt

Channel

Every channel has its own URL and can have different design, selection of products, prices and own settings for example shipping and payment.

FieldArgumentTypeDescription
idInt!
nameString
displayNameString
groupNameString
isDefaultBoolean
urlUri
settingsChannelSettings
languages[Language]
defaultLanguageLanguage
currencies[Currency]
defaultCurrencyCurrency
countries[Country]
imageUrlString

The root url of images, this can be used to build image urls if needed.

requiresAuthBoolean

This channel requires a user to be authorized.

ChannelSettings

FieldArgumentTypeDescription
pricesIncVatBoolean
countrySettings[CountrySettings]
trackingTracking
nostoAccountIdString
FieldArgumentTypeDescription
idID!
nameString
titleString
textString
linkTextString
pagePage
isMandatoryBoolean

Content

FieldArgumentTypeDescription
idID!
items[ContentItem]

ContentItem

FieldArgumentTypeDescription
typeString!
properties[ContentItemProperty]
getImageAsImageValueBoolean

If true image content property will return ImageValue instead of a string

children[ContentItem]

ContentItemProperty

FieldArgumentTypeDescription
nameString!
typeString!
valueTypeContentPropertyValueType
valueContentItemPropertyValue

Coordinates

FieldArgumentTypeDescription
latitudeDecimal!
longitudeDecimal!

Country

FieldArgumentTypeDescription
idID!
codeString
nameString
isDefaultBoolean

CountrySettings

FieldArgumentTypeDescription
countryCodeString!
paymentTypes[paymentType]
privateCustomerFields[CustomerField]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

businessCustomerFields[CustomerField]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

shippingShipping
privateCustomerConsents[Consent]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

This will use localization, and will work well when requesting one channel, but may give unpredictable results when getting multiple channels via channels

businessCustomerConsents[Consent]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

This will use localization, and will work well when requesting one channel, but may give unpredictable results when getting multiple channels via channels

Currency

FieldArgumentTypeDescription
idString!
nameString
isDefaultBoolean
formatCurrencyFormat

CurrencyFormat

FieldArgumentTypeDescription
culture ⚠️String!

⚠️ DEPRECATED

For currency formatting to a specific culture, instead use whichever culture makes sense contextually.

codeString!
decimalsInt!

CustomBoolField

FieldArgumentTypeDescription
valueBoolean!
typeProductCustomFieldType
keyString
titleString

CustomHtmlField

FieldArgumentTypeDescription
valueString!
typeProductCustomFieldType
keyString
titleString

CustomItem

FieldArgumentTypeDescription
idInt!
nameString!
contentString
linkUrlUri
imageImage

CustomListField

FieldArgumentTypeDescription
value[String]
typeProductCustomFieldType
keyString
titleString

CustomMultiLevelListField

FieldArgumentTypeDescription
items[CustomMultiLevelListFieldItem]
typeProductCustomFieldType
keyString
titleString

CustomMultiLevelListFieldItem

FieldArgumentTypeDescription
idInt!
parentIdInt
titleString!
valueString!

CustomStringField

FieldArgumentTypeDescription
valueString!
typeProductCustomFieldType
keyString
titleString

CustomerAddress

FieldArgumentTypeDescription
idInt
addressNameString
firstNameString
lastNameString
companyAttString
companyString
departmentString
streetNameString
coString
postalCodeString
cityString
municipalityString
regionString
countryCountry
phoneString
mobilePhoneString

CustomerCommunication

FieldArgumentTypeDescription
acceptsEmailBoolean
acceptsPostalBoolean
acceptsSmsBoolean

CustomerExternalAttribute

FieldArgumentTypeDescription
nameString!
valueString!

CustomerField

FieldArgumentTypeDescription
idID!
requiredBoolean!
patternString
fields[CustomerField]
nameID!

CustomerLoyalty

FieldArgumentTypeDescription
bonusChecks[CustomerLoyaltyBonusCheck]
pointCards[CustomerLoyaltyPointCard]
discounts[CustomerLoyaltyDiscount]
includeRedeemedBoolean!
bonusPointsCustomerLoyaltyBonusPoints

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

CustomerLoyaltyBonusCheck

FieldArgumentTypeDescription
externalIdString
nameString
startDateDateTime
endDateDateTime
redeemedBoolean
redeemedOnDateTime
currencyString

For display purposes, not guaranteed to match up with a currency on the channel.

valueDecimal

CustomerLoyaltyBonusPoints

FieldArgumentTypeDescription
pointsInt

CustomerLoyaltyDiscount

FieldArgumentTypeDescription
nameString
descriptionString
startDateDateTime
endDateDateTime
externalDataCustomerLoyaltyDiscountOfferExternalData
categoryCategory

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

isActivatedByDiscountCodeBoolean!
discountCodeString

CustomerLoyaltyDiscountOfferExternalData

FieldArgumentTypeDescription
nameString
descriptionString
startDateDateTime
endDateDateTime
externalIdString
externalReferenceString
headingString
redeemedBoolean
redeemedOnDateTime
imageUrlString
linkString

CustomerLoyaltyPointCard

FieldArgumentTypeDescription
externalIdString
nameString
lastStampTimeDateTime
numberOfSlotsInt
numberOfSlotsRemainingInt
isActiveBoolean

CustomerProductList

FieldArgumentTypeDescription
idID!
shareTokenString
nameString
descriptionString
typeCustomerProductListType

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

items[CustomerProductListItem]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

CustomerProductListItem

FieldArgumentTypeDescription
descriptionString
quantityInt
variantProductVariant
productProduct

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

CustomerProductListResult

FieldArgumentTypeDescription
successBoolean
customerProductListCustomerProductList

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

CustomerProductListType

FieldArgumentTypeDescription
idID!
nameString

CustomerUpdateResponse

Responds with a bool value whether the update has been successful or not

FieldArgumentTypeDescription
successBoolean!

DeleteCustomerProductListResult

FieldArgumentTypeDescription
successBoolean

Discount

FieldArgumentTypeDescription
externalIdID
nameString
valuePrice
descriptionString
campaignCategory

ExternalCustomer

FieldArgumentTypeDescription
externalIdString
emailMaskedProperty
firstNameMaskedProperty
lastNameMaskedProperty
coMaskedProperty
addressMaskedProperty
cityMaskedProperty
postalCodeMaskedProperty
countryMaskedProperty
countryCodeString
phoneNumberMaskedProperty
mobilePhoneNumberMaskedProperty
pidMaskedProperty

ExternalCustomerResult

The activation status has 4 states; PREEXISTING_CUSTOMER: No customer info will be returned and the customer is advised to login to the preexisting account. ACTIVATION_REQUIRED: The customer account needs to be activated. Email (masked), FirstName (masked) and externalId will be the only fields set on customer. ADDITIONAL_USER_DATA_REQUIRED: Additional data needed to register the customer, the existing customer info will be available with masking on customer. NON_EXISTING_CUSTOMER: Customer does not exist in any system and will have to do a sign up. COUNTRY_NOT_VALID: The customer account may not be activated on this channel as it's missing the customer country. Email (masked), FirstName (masked), externalId and countryCode will be the only fields set on customer.

FieldArgumentTypeDescription
statusActivationStatusSource
customerExternalCustomer

FacebookConversionsApi

FieldArgumentTypeDescription
accessTokenString
pixelIdString

FreeShippingLimit

FieldArgumentTypeDescription
incVatDecimal
exVatDecimal

GoogleAnalytics

FieldArgumentTypeDescription
trackingIdString
useArticleNumberAsIdBoolean

GoogleTagManager

FieldArgumentTypeDescription
containerIdString

HtmlHead

FieldArgumentTypeDescription
titleString
metaTags[HtmlMetaTag]

HtmlMetaTag

FieldArgumentTypeDescription
nameString
contentString

Image

FieldArgumentTypeDescription
titleString
urlUri
widthInt
heightInt

ImageValue

FieldArgumentTypeDescription
valueString
focalPointXInt
focalPointYInt

Language

FieldArgumentTypeDescription
idString!
nameString!
cultureString!
isDefaultBoolean
FieldArgumentTypeDescription
targetString
linkUri

ListFilter

FieldArgumentTypeDescription
items[ListFilterItem]!
idString!
nameString!

ListFilterItem

FieldArgumentTypeDescription
textString!
idString!
valueString!
resultCountInt

LoginExternalCustomerResult

FieldArgumentTypeDescription
tokenToken

LoginResponse

The response will contain a authorization token if the login was successful

FieldArgumentTypeDescription
tokenToken!

MaskedProperty

FieldArgumentTypeDescription
maskedString
encryptedString

MultiListFilter

FieldArgumentTypeDescription
lists[MultiListFilterList]!
idString!
nameString!

MultiListFilterList

FieldArgumentTypeDescription
idString!
nameString!
items[ListFilterItem]!

MultipleContent

FieldArgumentTypeDescription
notFoundIds[ID]!
content[Content]!

MyPagesContent

FieldArgumentTypeDescription
welcomeTextString

Text that will show on the landing page on MyPages

NumericRangeFilter

FieldArgumentTypeDescription
minDecimal!
maxDecimal!
idString!
nameString!

Order

FieldArgumentTypeDescription
idID!
orderNumberString
statusOrderStatus
items[OrderItem]
firstInt

Will fetch all if this is set to 0

offsetInt
billingInfoOrderInfo
deliveryInfoOrderInfo
paymentMethodOrderPaymentMethod
deliveryMethodOrderDeliveryMethod
giftVouchers[OrderGiftVoucher]
totalPrice
orderDateDateTime
currencyCurrency
attachments[OrderAttachment]
orderPurchaseLocationString

OrderAddress

FieldArgumentTypeDescription
streetString
postcodeString
cityString
regionString
countryCountry

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

OrderAttachment

FieldArgumentTypeDescription
idID!
urlString

OrderDeliveryMethod

FieldArgumentTypeDescription
nameString
feePrice
trackingOrderDeliveryMethodTracking

OrderDeliveryMethodTracking

FieldArgumentTypeDescription
trackingUrlString
trackingUrlTextString

OrderGiftVoucher

FieldArgumentTypeDescription
nameString
amountDecimal
chargedDecimal
validUntilDateTime

OrderHeader

FieldArgumentTypeDescription
idID!
orderNumberString
statusOrderStatus
statusTimeline[OrderStatus]
hasOrderDetailsBoolean

If this is false, a call to order for this order will result in a failure.

totalPrice
orderDateDateTime
trackingIdString
currencyCurrency

OrderHeaderResult

FieldArgumentTypeDescription
result[OrderHeader]
totalResultsInt

OrderInfo

FieldArgumentTypeDescription
firstNameString
lastNameString
companyString
phoneString
addressOrderAddress

OrderItem

FieldArgumentTypeDescription
articleNumberString
nameString

Name of the Product at the time the order was placed (may since have changed). Use this as a fallback if the 'product' field itself is null.

quantityInt
unitPricePrice
totalPrice
discounts[OrderItemDiscount]
productProduct

N.B. this may be null if the Product has since been removed.

variantProductVariant

N.B. this may be null if the Product itself or the Variant has since been removed.

variantOptionNames[String]

N.B. this may be null if the Product has since been removed.

variantValueString

Value of the Variant at the time the order was placed (may since have changed). Use this as a fallback if the 'variant' field itself is null. Will be null when the OrderItem is not a Variant.

preOrderDateDateTime

OrderItemDiscount

FieldArgumentTypeDescription
valuePrice

OrderPaymentMethod

FieldArgumentTypeDescription
nameString
feePrice

OrderStatus

FieldArgumentTypeDescription
idID
descriptionString
timestampDateTime

Package

FieldArgumentTypeDescription
idID!
items[PackageItem!]!
pricePrice

The current package price with any potential discount

previousPricePrice

The previous package price without any potential discount

discountValuePrice

Total package discount amount

discountPercentageDecimal

Total package discount in percentage

PackageDiscountPercentage

FieldArgumentTypeDescription
percentageDecimal!

PackageDiscountValue

FieldArgumentTypeDescription
valueIncVatDecimal!
valueExVatDecimal!
valueVatDecimal!

PackageItem

FieldArgumentTypeDescription
productProduct
minQuantityInt!
discountPackageDiscount
pricePrice

The current package price with any potential discount

previousPricePrice

The previous package price without any potential discount

Page

FieldArgumentTypeDescription
idID!
nameString!
mainHeaderString
contentString
hasExternalUrlBoolean
externalUrlLink

External URL if page is set to URL, null if not.

images[Image]
headHtmlHead

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

primaryRouteRoute

The primary route of this Page. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

breadcrumbTextString
dataContent

Get content data set via the Content Editor

parentPage
  • If this page was fetched by ID using the page(id) query, parent will be returned even if it is hidden.
  • If this page was fetched using the pages query, parent will not be returned if it is hidden
subPages[Page!]
  • If this page was fetched by ID using the page(id) query, subPages will be returned even if they are hidden. This can be overridden with the includeHidden flag.
  • If this page was fetched using the pages query, subPages will not be returned if they are hidden. The includeHidden flag has no effect on this.
includeHiddenBoolean

PagedResult

FieldArgumentTypeDescription
totalResultsInt
sortOrders[ProductSortOrder]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

filters[Filter]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

ids[String]

Optional: ID's of filters to fetch. If not set all filters will be returned.

result[Product]!

PersonLookup

FieldArgumentTypeDescription
firstNameMaskedProperty
lastNameMaskedProperty
coMaskedProperty
addressMaskedProperty
cityMaskedProperty
postalCodeMaskedProperty
countryMaskedProperty
phoneNumberMaskedProperty
mobilePhoneNumberMaskedProperty

Price

FieldArgumentTypeDescription
incVatDecimal!
exVatDecimal!
vatDecimal!

PrivateCustomer

FieldArgumentTypeDescription
pidString
idID!
memberIdString
emailString
externalIdString

Customer id for external system

subscribedToNewsletter ⚠️Boolean

⚠️ DEPRECATED

Use communication.acceptsEmail

languageLanguage
billingAddressCustomerAddress
deliveryAddresses[CustomerAddress]
orderHeadersOrderHeaderResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

firstInt

Will fetch all if this is set to 0

offsetInt
communicationCustomerCommunication
storeStore

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

dynamicContentString
externalAttributes[CustomerExternalAttribute]
googleUserIdString

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

Product

FieldArgumentTypeDescription
idInt!
articleNumberString!
nameString!
subNameString!
shortDescriptionString!
descriptionString!
mainHeaderString!

Product header if it differs from the actual product name, usually displayed instead of the product name in the header tag at the product page.

publishedDateDateTime
canonicalCategoryCategory

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

categories[Category]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

includeHiddenBoolean

Deprecated, this argument does not affect the result

campaigns[Category]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

hasVariantsBoolean!
hasVariantsWithDifferingPricesBoolean!
variantsProductVariants
images[ProductImage]
includeVariantImagesBoolean

Set this to false if you prefer to manually collate these images with the images found on the Variant.

limitInt

Limit the number of images you get back. Defaults to null, which will return all images.

relatedProducts[Product]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

badges[ProductBadge]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

pricePrice

The current price. Will be a Customer specific price, if that Customer has a separate price list.

hidePriceBoolean
previousPricePrice

The previous price (i.e. this will be higher than price if the product is discounted). Will be a Customer specific previous price, if that Customer has a separate price list.

defaultPricePrice

Default price for the product in the channel, disregards Customer specific prices.

defaultPreviousPricePrice

Default previous price for the product in the channel, disregards Customer specific prices.

recommendedPricePrice

Not in use. Always null.

priceDateSpanProductPriceDateSpan

The time interval of the discounted price. If the product has variants, the time interval will be that of the variant which price is shown on the product.

customerComments[ProductComment]

Specifies input field(s) for the Customer to populate on the Product that will then carry through to the Order. If 'required' is true the Product should not be purchasable until the field is populated.

stockStatusStockStatus

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

customFields[CustomField]
warehouseStock[Warehouse]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

includeInactiveBoolean
headHtmlHead
primaryRouteRoute

The primary route of this Product. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

breadcrumbTextString
recommendedProductsRecommendedProducts
distributionPackageSizeInt!

The product is recommended to only be purchasable in multiples of the distributionPackageSize. (Different shops may have different levels of leniency on this rule).

barcodeString
configurations[ProductConfiguration]

Configurations on a product are used to assemble a complete product,

For example, if the product is a ring then the ring may have two configurations; measures of circumference and choice of engraving

In this field, all the configurations of the product will be presented, the configuration name and its various options.

hasConfigurationsBoolean!
hasFamilyMembersBoolean!
configurationPriceProductConfigurationPrice

Calculates the price of the product based on the configuration choices that's been made. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

options[ProductConfigurationPriceInput!]
quantitySuffixString

Quantity suffix e.g pcs, box, etc.

isPreOrderBoolean
preOrderProductPreOrder
isPackageBoolean
packagePackage

Description

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

Error Codes

InvalidAmountOfArticleNumbers

Number of input products doesn't match package products

InvalidArticleNumber

Product or variant article number doesn't match any products

UnableToGetPackagePrice

Failed to calculate package price

articleNumbers[PackagePriceInput]
upsellUpsell

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

inPackages[Product!]
hasUpsellBoolean
familyMembers[Product!]

All other products in the same family as the product. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

ProductAutoCompleteResult

FieldArgumentTypeDescription
result[Product]!

ProductBadge

FieldArgumentTypeDescription
nameString
urlUri
locationProductBadgeLocation
styleString
textString

ProductComment

FieldArgumentTypeDescription
nameString!
requiredBoolean!

ProductConfiguration

FieldArgumentTypeDescription
nameString
options[ProductConfigurationOption]!

ProductConfigurationOption

Options by which you can configure a product.

For instance, if you're selling rope the available options might be the dimensions; 10mm, 20mm, 30mm, etc.

Price is either used as is, or if the configuration is using a price calculation (e.g. the rope is priced by length) it will be used in the calculation formula; e.g. (Length * Price).

FieldArgumentTypeDescription
idID!
nameString
pricePrice
priceCalculationProductConfigurationPriceCalculation

This will be set if the configuration requires price calculation, e.g. you might sell rope and price it by length.

ProductConfigurationPrice

FieldArgumentTypeDescription
pricePrice
previousPricePrice

ProductConfigurationPriceCalculation

Describes how the price is calculated on a configuration option.

E.g. the configuration is for a carpet and it has a price calculation formula that reads: 'Width * Length * Price / 10000'.

In this case, the variables would contain 'Width' and 'Length' whereas the 'Price' is taken from the selected option.

FieldArgumentTypeDescription
idID!
nameString
formulaString
variables[ProductConfigurationPriceCalculationVariable]

ProductConfigurationPriceCalculationVariable

FieldArgumentTypeDescription
idID!
nameString

ProductImage

FieldArgumentTypeDescription
altString

Alternate text for the image, commonly used for the alt attribute of img-tags.

titleString

Extra information, commonly used for the title attribute of img-tag. Should be shown on hover.

sizes ⚠️[ProductImageSize]!

⚠️ DEPRECATED

Images will no longer be offered in different sizes. Instead use 'url' in conjunction with our image resizing service.

urlUri
modifiedDateString

ProductImageSize

FieldArgumentTypeDescription
widthInt
heightInt
urlUri

ProductPreOrder

FieldArgumentTypeDescription
fromDateDateTime
toDateDateTime

ProductPriceDateSpan

FieldArgumentTypeDescription
startDateDateTime
endDateDateTime

ProductSearchResult

FieldArgumentTypeDescription
result[Product]!
filters[Filter]
totalResultsInt

ProductSortOrder

FieldArgumentTypeDescription
textString!
valueProductOrderOptions!
isDefaultBoolean!
defaultDirectionSortDirection!

ProductVariant

FieldArgumentTypeDescription
idString!
articleNumberString!
values[String]!

Variant values (combination of option values)

pricePrice

The current price. Will be a Customer specific price, if that Customer has a separate price list.

previousPricePrice

The previous price (i.e. this will be higher than price if the product is discounted). Will be a Customer specific previous price, if that Customer has a separate price list.

defaultPricePrice

Default price for the product in the channel, disregards Customer specific prices.

defaultPreviousPricePrice

Default previous price for the product in the channel, disregards Customer specific prices.

recommendedPricePrice

Not in use. Always null.

priceDateSpanProductPriceDateSpan

The time interval of the discounted price.

stockStatusStockStatus

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

warehouseStock[Warehouse]

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

includeInactiveBoolean
images[ProductImage]
barcodeString

ProductVariantOption

FieldArgumentTypeDescription
nameString
values[String]!

ProductVariants

FieldArgumentTypeDescription
options[ProductVariantOption]!

Available product variant options.

values[ProductVariant]!

Product variants, contains all possible values of options.

RecommendedProducts

FieldArgumentTypeDescription
bought[Product]

Customers who bought this product also bought these products.

countInt

number of recommended products to fetch

viewed[Product]

Customers who viewed this product also viewed these products.

countInt

number of recommended products to fetch

shuffledToplist[Product]

A shuffled top list of popular products.

countInt

number of recommended products to fetch

RequestPasswordResetResult

FieldArgumentTypeDescription
successBoolean!

ResetPassword

FieldArgumentTypeDescription
tokenToken!

Route

Represents a route to either a Category, a Product, a Page or the StartPage.

FieldArgumentTypeDescription
idString!
pathString!
canonicalPathString
slugString!
objectDocument

The Category, Product, Page or StartPage that the Route resolves to. NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

parents[Route]

Parents are resolved by traversing the path, starting from the end, and are guaranteed to be returned in that order. NB: Carries a performance cost, as asking for this will result in a different, slightly more expensive (the more categories a shop has, the more expensive this gets), route query in the backend.

alternateRoutes[AlternateRoute]

Alternative routes for this object, if it exists in another channel and/or in another language.NB: Carries no additional performance cost.

debugString

N.B. for troubleshooting routes only!

breadcrumbs[String]

Breadcrumb texts; starting with the root parent, ending on this route.

SearchAutoCompleteResult

FieldArgumentTypeDescription
productsProductAutoCompleteResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

categoriesCategoryAutoCompleteResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

firstPaging

SearchResult

FieldArgumentTypeDescription
productsProductSearchResult
pagingPagingInput
filtersFilterInput
categoriesCategorySearchResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

pagingPagingInput

SelectedProductConfiguration

FieldArgumentTypeDescription
nameString
optionSelectedProductConfigurationOption!

SelectedProductConfigurationOption

FieldArgumentTypeDescription
idID!
nameString

Shipping

FieldArgumentTypeDescription
freeShippingLimitFreeShippingLimit

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

SignUpResponse

FieldArgumentTypeDescription
tokenToken!

StartPage

FieldArgumentTypeDescription
idInt!
nameString!
images[Image]
isActiveBoolean
contentString
items[StartPageItem]
headHtmlHead

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

primaryRouteRoute

The primary route of this StartPage

breadcrumbTextString
dataContent

Get content data set via the Content Editor

StartPageItem

FieldArgumentTypeDescription
idInt!
rowInt
columnInt
itemStartPageItemObject!

StockStatus

FieldArgumentTypeDescription
idID!

Globally unique id.

stockStatusIdID!

The stock status id, not globally unique.

textString
buyableBoolean!
stockNotificationEnabledBoolean
stockDateDateTime
maxOrderQuantityInt

Store

FieldArgumentTypeDescription
idInt!
externalIdString
nameString
cityString
regionString
address1String
address2String
descriptionString
otherString
openHoursString
contactString
coordinatesCoordinates

StringValue

FieldArgumentTypeDescription
valueString

Token

Authorization token that is used for customer actions such as login, delete or update The token contains three different roles: 0: Standard. 1: Lite 2: VoyadoSemiLogin

FieldArgumentTypeDescription
valueString!

Tracking

FieldArgumentTypeDescription
gaGoogleAnalytics
gtmGoogleTagManager
fcaFacebookConversionsApi

UpdateCartMutation

FieldArgumentTypeDescription
cartCart

UpdateCustomerPriceListResult

FieldArgumentTypeDescription
successBoolean!

UpdatePasswordResult

Responds with a boolean value whether the update has been successful or not

FieldArgumentTypeDescription
successBoolean!

Upsell

FieldArgumentTypeDescription
idID!
items[UpsellItem!]!

UpsellDiscountPercentage

FieldArgumentTypeDescription
percentageDecimal!

UpsellDiscountValue

FieldArgumentTypeDescription
valueIncVatDecimal!
valueExVatDecimal!
valueVatDecimal!

UpsellItem

FieldArgumentTypeDescription
productProduct
minQuantityInt!
discountUpsellDiscount!

Warehouse

FieldArgumentTypeDescription
stockLevelInt
locationStore

paymentType

FieldArgumentTypeDescription
nameString!
apiClientIdString!
availableForBusinessBoolean!
availableForPrivateBoolean!

Inputs

ActivateExternalCustomerByIdInput

FieldTypeDescription
externalCustomerIdString!

ActivateExternalCustomerByTokenInput

FieldTypeDescription
externalCustomerTokenString!

AddMultipleToCartInput

FieldTypeDescription
articleNumberString!
quantityInt

Default value is 1.

comments[InputComment]
configurationIds[ID]
preOrderDateDateTime

AddToCartInput

FieldTypeDescription
cartIdString

Not specifying cart id will create new cart.

articleNumberString!
quantityInt

Default value is 1.

comments[InputComment]
configurationIds[ID]
preOrderDateDateTime

AddToCustomerProductListInput

FieldTypeDescription
articleNumberString!
quantityInt
descriptionString

BooleanFilterInput

FieldTypeDescription
idString!
valueBoolean

null is equivalent to excluding the filter.

ChangeByOneItemQuantityInput

FieldTypeDescription
cartIdString!
itemIdString!

CreateCustomerProductListInput

FieldTypeDescription
typeIdInt

The type of list created. Omit this and the default type will be used.

nameString!
descriptionString

CustomerUpdateBillingAddressInput

Fields that are required to have a value is determined by CustomerFields found in CountrySettings

FieldTypeDescription
mobilePhoneString
phoneString
regionString
countryCodeString
cityString
postalCodeString
streetNameString
coString
departmentString
municipalityString
companyAttString
companyString
lastNameString
firstNameString
addressNameString

CustomerUpdateConsentInput

FieldTypeDescription
idString
valueBoolean

CustomerUpdateDeliveryAddressInput

FieldTypeDescription
idInt

If this field is left empty, a new DeliveryAddress will be created.

mobilePhoneString
phoneString
regionString
countryCodeString
cityString
postalCodeString
streetNameString
coString
departmentString
municipalityString
companyAttString
companyString
lastNameString
firstNameString
addressNameString

CustomerUpdateExternalAttribute

FieldTypeDescription
nameString!
valueString!

CustomerUpdateInput

FieldTypeDescription
pidString
organizationNumberString
billingAddressCustomerUpdateBillingAddressInput!
deliveryAddresses[CustomerUpdateDeliveryAddressInput]
preferencesCustomerUpdatePreferenceInput
consents[CustomerUpdateConsentInput]
externalAttributes[CustomerUpdateExternalAttribute]
dynamicContentString

CustomerUpdatePreferenceInput

FieldTypeDescription
typeCustomerUpdatePreferencesCommunicationInput
storeLocationIdInt

CustomerUpdatePreferencesCommunicationInput

FieldTypeDescription
acceptsEmailBoolean
acceptsPostalBoolean
acceptsSmsBoolean
cultureString

FilterInput

FieldTypeDescription
listFilters[ListFilterInput]
rangeFilters[RangeFilterInput]
booleanFilters[BooleanFilterInput]
multiListFilters[MultiListFilterInput]

InputComment

FieldTypeDescription
nameString!
valueString

ListFilterInput

FieldTypeDescription
idString!
values[String]

LoginExternalCustomerInput

FieldTypeDescription
externalCustomerTokenString!

MultiListFilterInput

FieldTypeDescription
idString!
values[String]

PackagePriceInput

FieldTypeDescription
productID!
variantID

PagingInput

FieldTypeDescription
firstPaging
offsetInt

ProductConfigurationPriceInput

FieldTypeDescription
optionIdID!

RangeFilterInput

FieldTypeDescription
idString!
minDecimal
maxDecimal

RemoveFromCartInput

FieldTypeDescription
cartIdString!
itemIdString!

RemoveMultipleFromCartInput

FieldTypeDescription
cartIdString!
itemIds[String!]!

SetItemQuantityInput

FieldTypeDescription
cartIdString!
itemIdString!
quantityInt!

SignUpBillingAddressInput

BillingAddress itself is a required field. Whether fields belonging to BillingAddress are required is determined by privateCustomerFields or businessCustomerFields, found on channel.settings.countrySettings.

FieldTypeDescription
mobilePhoneSignUpPropertyInput
phoneSignUpPropertyInput
regionSignUpPropertyInput
countryCodeSignUpPropertyInput
citySignUpPropertyInput
postalCodeSignUpPropertyInput
streetNameSignUpPropertyInput
coSignUpPropertyInput
departmentSignUpPropertyInput
municipalitySignUpPropertyInput
companyAttSignUpPropertyInput
companySignUpPropertyInput
lastNameSignUpPropertyInput
firstNameSignUpPropertyInput

SignUpConsentInput

FieldTypeDescription
idString
valueBoolean

SignUpDeliveryAddressInput

FieldTypeDescription
mobilePhoneString
phoneString
regionString
countryCodeString
cityString
postalCodeString
streetNameString
coString
departmentString
municipalityString
companyAttString
companyString
lastNameString
firstNameString
addressNameString

SignUpExternalAttribute

FieldTypeDescription
nameString!
valueString!

SignUpInput

FieldTypeDescription
typeCustomerType!
pidString
organizationNumberString
emailAddressString!
passwordString
externalIdString

Customer id for external system

billingAddressSignUpBillingAddressInput!
deliveryAddresses[SignUpDeliveryAddressInput]
preferencesSignUpPreferencesInput
consents[SignUpConsentInput]
externalAttributes[SignUpExternalAttribute]
dynamicContentString
priceListAccessCodeString

SignUpPreferencesCommunicationInput

FieldTypeDescription
acceptsEmailBoolean
acceptsPostalBoolean
acceptsSmsBoolean
cultureString

SignUpPreferencesInput

FieldTypeDescription
typeSignUpPreferencesCommunicationInput
storeLocationIdInt

SignUpPropertyInput

This input is used for fields that can be auto filled with PersonLookup

FieldTypeDescription
valueString

If the user has made no change this should contain the encrypted value from PersonLookup, otherwise populate with the user input.

hasChangedBoolean

Specifies if the value field is encrypted or not.

UpdateCartInput

FieldTypeDescription
cartIdString
items[UpdateCartItemInput!]

UpdateCartItemInput

FieldTypeDescription
idString!
quantityInt!
comments[InputComment]
preOrderDateDateTime

UpdateCustomerProductListInput

FieldTypeDescription
idID!
typeIdID!
nameString!
descriptionString

UpdateCustomerProductListItemInput

FieldTypeDescription
idID!
articleNumberString!
quantityInt

Default value is 1.

descriptionString

Enums

ActivationStatusSource

ValueDescription
PREEXISTING_CUSTOMER
ACTIVATION_REQUIRED
ADDITIONAL_USER_DATA_REQUIRED
NON_EXISTING_CUSTOMER
COUNTRY_NOT_VALID

ContentPropertyValueType

ValueDescription
OBJECT
SCALAR

CustomerType

ValueDescription
PRIVATE
COMPANY

ProductBadgeLocation

ValueDescription
CUSTOM
TOP_LEFT
TOP_RIGHT
BOTTOM_LEFT
BOTTOM_RIGHT

ProductCustomFieldType

ValueDescription
STRING
BOOL
LIST
HTML
MULTI_LEVEL_LIST

ProductOrderOptions

ValueDescription
ARTICLE_NUMBER
NAME
PUBLISH_DATE
PRICE
SUB_HEADING
CUSTOM
BESTSELLER

SortDirection

ValueDescription
ASCENDING
DESCENDING

Scalars

Boolean

DateTime

The DateTime scalar type represents a date and time. DateTime expects timestamps to be formatted in accordance with the ISO-8601 standard.

Decimal

ID

Int

Paging

The Paging scalar type represents a numeric values between <1; 100>

String

Uri

Interfaces

CustomField

FieldArgumentTypeDescription
typeProductCustomFieldType
keyString
titleString

Customer

FieldArgumentTypeDescription
idID!
memberIdString
emailString
externalIdString

Customer id for external system

subscribedToNewsletter ⚠️Boolean

⚠️ DEPRECATED

Use communication.acceptsEmail

languageLanguage
billingAddressCustomerAddress
deliveryAddresses[CustomerAddress]
orderHeadersOrderHeaderResult

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

firstInt

Will fetch all if this is set to 0

offsetInt
communicationCustomerCommunication
storeStore

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

dynamicContentString
externalAttributes[CustomerExternalAttribute]
googleUserIdString

NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.

Document

FieldArgumentTypeDescription
headHtmlHead
primaryRouteRoute
breadcrumbTextString

Filter

FieldArgumentTypeDescription
idString!
nameString!

Unions

ContentItemPropertyValue

TypeDescription
StringValue
ImageValue
BoolValue
Product
Category

PackageDiscount

TypeDescription
PackageDiscountPercentage
PackageDiscountValue

StartPageItemObject

TypeDescription
Product
CustomItem

UpsellDiscount

TypeDescription
UpsellDiscountPercentage
UpsellDiscountValue