Skip to main content

Types

ActiveOrderResult

union ActiveOrderResult =

AddPaymentToOrderResult

Address

type Address {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
fullName: String
company: String
streetLine1: String!
streetLine2: String
city: String
province: String
postalCode: String
country: Country!
phoneNumber: String
defaultShippingAddress: Boolean
defaultBillingAddress: Boolean
customFields: JSON
}

Adjustment

type Adjustment {
adjustmentSource: String!
description: String!
amount: Money!
data: JSON
}

AlreadyLoggedInError

"""
Returned when attempting to set the Customer for an Order when already logged in.
"""
type AlreadyLoggedInError {
errorCode: ErrorCode!
message: String!
}

ApplyCouponCodeResult

Asset

type Asset {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
name: String!
type: AssetType!
fileSize: Int!
mimeType: String!
width: Int!
height: Int!
source: String!
preview: String!
focalPoint: Coordinate
tags: [Tag!]!
customFields: JSON
}

AssetList

type AssetList {
items: [Asset!]!
totalItems: Int!
}

AuthenticationMethod

type AuthenticationMethod {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
strategy: String!
}

AuthenticationResult

union AuthenticationResult =

Boolean

"""
The Boolean scalar type represents true or false.
"""
scalar Boolean

BooleanCustomFieldConfig

type BooleanCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
ui: JSON
}

BooleanStructFieldConfig

type BooleanStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
ui: JSON
}

Channel

type Channel {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
code: String!
token: String!
defaultTaxZone: Zone
defaultShippingZone: Zone
defaultLanguageCode: LanguageCode!
availableLanguageCodes: [LanguageCode!]
currencyCode: CurrencyCode!
defaultCurrencyCode: CurrencyCode!
availableCurrencyCodes: [CurrencyCode!]!
"""
Not yet used - will be implemented in a future release.
"""
trackInventory: Boolean
"""
Not yet used - will be implemented in a future release.
"""
outOfStockThreshold: Int
pricesIncludeTax: Boolean!
seller: Seller
customFields: JSON
}

Collection

type Collection {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode
name: String!
slug: String!
breadcrumbs: [CollectionBreadcrumb!]!
position: Int!
description: String!
featuredAsset: Asset
assets: [Asset!]!
parent: Collection
parentId: ID!
children: [Collection!]
translations: [CollectionTranslation!]!
productVariants(options: ProductVariantListOptions): ProductVariantList!
customFields: JSON
}

CollectionBreadcrumb

type CollectionBreadcrumb {
id: ID!
name: String!
slug: String!
}

CollectionList

type CollectionList {
items: [Collection!]!
totalItems: Int!
}

CollectionResult

"""
Which Collections are present in the products returned
by the search, and in what quantity.
"""
type CollectionResult {
collection: Collection!
count: Int!
}

CollectionTranslation

type CollectionTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
slug: String!
description: String!
}

ConfigArg

type ConfigArg {
name: String!
value: String!
}

ConfigArgDefinition

type ConfigArgDefinition {
name: String!
type: String!
list: Boolean!
required: Boolean!
defaultValue: JSON
label: String
description: String
ui: JSON
}

ConfigurableOperation

type ConfigurableOperation {
code: String!
args: [ConfigArg!]!
}

ConfigurableOperationDefinition

type ConfigurableOperationDefinition {
code: String!
description: String!
}

Coordinate

type Coordinate {
x: Float!
y: Float!
}

Country

"""
A Country of the world which your shop operates in.
The code field is typically a 2-character ISO code such as "GB", "US", "DE" etc. This code is used in certain inputs such as
UpdateAddressInput and CreateAddressInput to specify the country.
"""
type Country {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
code: String!
type: String!
name: String!
enabled: Boolean!
parent: Region
parentId: ID
translations: [RegionTranslation!]!
customFields: JSON
}

CountryList

type CountryList {
items: [Country!]!
totalItems: Int!
}

CouponCodeExpiredError

"""
Returned if the provided coupon code is invalid
"""
type CouponCodeExpiredError {
errorCode: ErrorCode!
message: String!
couponCode: String!
}

CouponCodeInvalidError

"""
Returned if the provided coupon code is invalid
"""
type CouponCodeInvalidError {
errorCode: ErrorCode!
message: String!
couponCode: String!
}

CouponCodeLimitError

"""
Returned if the provided coupon code is invalid
"""
type CouponCodeLimitError {
errorCode: ErrorCode!
message: String!
couponCode: String!
limit: Int!
}

CurrentUser

type CurrentUser {
id: ID!
identifier: String!
channels: [CurrentUserChannel!]!
}

CurrentUserChannel

type CurrentUserChannel {
id: ID!
token: String!
code: String!
permissions: [Permission!]!
}

CustomFieldConfig

Customer

type Customer {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
title: String
firstName: String!
lastName: String!
phoneNumber: String
emailAddress: String!
addresses: [Address!]
orders(options: OrderListOptions): OrderList!
user: User
customFields: JSON
}

CustomerGroup

type CustomerGroup {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
name: String!
customers(options: CustomerListOptions): CustomerList!
customFields: JSON
}

CustomerList

type CustomerList {
items: [Customer!]!
totalItems: Int!
}

DateTime

"""
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
"""
scalar DateTime

DateTimeCustomFieldConfig

"""
Expects the same validation formats as the <input type="datetime-local"> HTML element.
"""
type DateTimeCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
min: String
max: String
step: Int
ui: JSON
}

DateTimeStructFieldConfig

"""
Expects the same validation formats as the <input type="datetime-local"> HTML element.
"""
type DateTimeStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
min: String
max: String
step: Int
ui: JSON
}

DeletionResponse

type DeletionResponse {
message: String
}

Discount

type Discount {
adjustmentSource: String!
description: String!
amount: Money!
amountWithTax: Money!
}

EmailAddressConflictError

"""
Returned when attempting to create a Customer with an email address already registered to an existing User.
"""
type EmailAddressConflictError {
errorCode: ErrorCode!
message: String!
}

Facet

type Facet {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
code: String!
values: [FacetValue!]!
"""
Returns a paginated, sortable, filterable list of the Facet's values. Added in v2.1.0.
"""
translations: [FacetTranslation!]!
customFields: JSON
}

FacetList

type FacetList {
items: [Facet!]!
totalItems: Int!
}

FacetTranslation

type FacetTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}

FacetValue

type FacetValue {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
facet: Facet!
facetId: ID!
name: String!
code: String!
translations: [FacetValueTranslation!]!
customFields: JSON
}

FacetValueList

type FacetValueList {
items: [FacetValue!]!
totalItems: Int!
}

FacetValueResult

"""
Which FacetValues are present in the products returned
by the search, and in what quantity.
"""
type FacetValueResult {
facetValue: FacetValue!
count: Int!
}

FacetValueTranslation

type FacetValueTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}

Float

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

FloatCustomFieldConfig

type FloatCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
min: Float
max: Float
step: Float
ui: JSON
}

FloatStructFieldConfig

type FloatStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
min: Float
max: Float
step: Float
ui: JSON
}

Fulfillment

type Fulfillment {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
lines: [FulfillmentLine!]!
summary: [FulfillmentLine!]!
state: String!
method: String!
trackingCode: String
customFields: JSON
}

FulfillmentLine

type FulfillmentLine {
orderLine: OrderLine!
orderLineId: ID!
quantity: Int!
fulfillment: Fulfillment!
fulfillmentId: ID!
}

GuestCheckoutError

"""
Returned when attempting to set the Customer on a guest checkout when the configured GuestCheckoutStrategy does not allow it.
"""
type GuestCheckoutError {
errorCode: ErrorCode!
message: String!
errorDetail: String!
}

HistoryEntry

type HistoryEntry {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
data: JSON!
customFields: JSON
}

HistoryEntryList

type HistoryEntryList {
items: [HistoryEntry!]!
totalItems: Int!
}

ID

"""
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
"""
scalar ID

IdentifierChangeTokenExpiredError

"""
Returned if the token used to change a Customer's email address is valid, but has
expired according to the verificationTokenDuration setting in the AuthOptions.
"""
type IdentifierChangeTokenExpiredError {
errorCode: ErrorCode!
message: String!
}

IdentifierChangeTokenInvalidError

"""
Returned if the token used to change a Customer's email address is either
invalid or does not match any expected tokens.
"""
type IdentifierChangeTokenInvalidError {
errorCode: ErrorCode!
message: String!
}

IneligiblePaymentMethodError

"""
Returned when attempting to add a Payment using a PaymentMethod for which the Order is not eligible.
"""
type IneligiblePaymentMethodError {
errorCode: ErrorCode!
message: String!
eligibilityCheckerMessage: String
}

IneligibleShippingMethodError

"""
Returned when attempting to set a ShippingMethod for which the Order is not eligible
"""
type IneligibleShippingMethodError {
errorCode: ErrorCode!
message: String!
}

InsufficientStockError

"""
Returned when attempting to add more items to the Order than are available
"""
type InsufficientStockError {
errorCode: ErrorCode!
message: String!
quantityAvailable: Int!
order: Order!
}

Int

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

IntCustomFieldConfig

type IntCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
min: Int
max: Int
step: Int
ui: JSON
}

IntStructFieldConfig

type IntStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
min: Int
max: Int
step: Int
ui: JSON
}

InvalidCredentialsError

"""
Returned if the user authentication credentials are not valid
"""
type InvalidCredentialsError {
errorCode: ErrorCode!
message: String!
authenticationError: String!
}

JSON

"""
The JSON scalar type represents JSON values as specified by ECMA-404.
"""
scalar JSON

LocaleStringCustomFieldConfig

type LocaleStringCustomFieldConfig {
name: String!
type: String!
list: Boolean!
length: Int
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
pattern: String
ui: JSON
}

LocaleTextCustomFieldConfig

type LocaleTextCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
ui: JSON
}

LocalizedString

type LocalizedString {
languageCode: LanguageCode!
value: String!
}

MissingPasswordError

"""
Returned when attempting to register or verify a customer account without a password, when one is required.
"""
type MissingPasswordError {
errorCode: ErrorCode!
message: String!
}

Money

"""
The Money scalar type represents monetary values and supports signed double-precision fractional values as specified by IEEE 754.
"""
scalar Money

NativeAuthStrategyError

"""
Returned when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured.
"""
type NativeAuthStrategyError {
errorCode: ErrorCode!
message: String!
}

NativeAuthenticationResult

NegativeQuantityError

"""
Returned when attempting to set a negative OrderLine quantity.
"""
type NegativeQuantityError {
errorCode: ErrorCode!
message: String!
}

NoActiveOrderError

"""
Returned when invoking a mutation which depends on there being an active Order on the
current session.
"""
type NoActiveOrderError {
errorCode: ErrorCode!
message: String!
}

NotVerifiedError

"""
Returned if authOptions.requireVerification is set to true (which is the default)
and an unverified user attempts to authenticate.
"""
type NotVerifiedError {
errorCode: ErrorCode!
message: String!
}

Order

type Order {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
type: OrderType!
"""
The date & time that the Order was placed, i.e. the Customer
completed the checkout and the Order is no longer "active"
"""
orderPlacedAt: DateTime
"""
A unique code for the Order
"""
code: String!
state: String!
"""
An order is active as long as the payment process has not been completed
"""
active: Boolean!
customer: Customer
shippingAddress: OrderAddress
billingAddress: OrderAddress
lines: [OrderLine!]!
"""
Surcharges are arbitrary modifications to the Order total which are neither
ProductVariants nor discounts resulting from applied Promotions. For example,
one-off discounts based on customer interaction, or surcharges based on payment
methods.
"""
surcharges: [Surcharge!]!
discounts: [Discount!]!
"""
An array of all coupon codes applied to the Order
"""
couponCodes: [String!]!
"""
Promotions applied to the order. Only gets populated after the payment process has completed.
"""
promotions: [Promotion!]!
payments: [Payment!]
fulfillments: [Fulfillment!]
totalQuantity: Int!
"""
The subTotal is the total of all OrderLines in the Order. This figure also includes any Order-level
discounts which have been prorated (proportionally distributed) amongst the items of each OrderLine.
To get a total of all OrderLines which does not account for prorated discounts, use the
sum of OrderLine.discountedLinePrice values.
"""
subTotal: Money!
"""
Same as subTotal, but inclusive of tax
"""
subTotalWithTax: Money!
currencyCode: CurrencyCode!
shippingLines: [ShippingLine!]!
shipping: Money!
shippingWithTax: Money!
"""
Equal to subTotal plus shipping
"""
total: Money!
"""
The final payable amount. Equal to subTotalWithTax plus shippingWithTax
"""
totalWithTax: Money!
"""
A summary of the taxes being applied to this Order
"""
taxSummary: [OrderTaxSummary!]!
customFields: JSON
}

OrderAddress

type OrderAddress {
fullName: String
company: String
streetLine1: String
streetLine2: String
city: String
province: String
postalCode: String
country: String
countryCode: String
phoneNumber: String
customFields: JSON
}

OrderInterceptorError

"""
Returned when an order operation is rejected by an OrderInterceptor method.
"""
type OrderInterceptorError {
errorCode: ErrorCode!
message: String!
interceptorError: String!
}

OrderLimitError

"""
Returned when the maximum order size limit has been reached.
"""
type OrderLimitError {
errorCode: ErrorCode!
message: String!
maxItems: Int!
}

OrderLine

type OrderLine {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
productVariant: ProductVariant!
featuredAsset: Asset
"""
The price of a single unit, excluding tax and discounts
"""
unitPrice: Money!
"""
The price of a single unit, including tax but excluding discounts
"""
unitPriceWithTax: Money!
"""
Non-zero if the unitPrice has changed since it was initially added to Order
"""
unitPriceChangeSinceAdded: Money!
"""
Non-zero if the unitPriceWithTax has changed since it was initially added to Order
"""
unitPriceWithTaxChangeSinceAdded: Money!
"""
The price of a single unit including discounts, excluding tax.
If Order-level discounts have been applied, this will not be the
actual taxable unit price (see proratedUnitPrice), but is generally the
correct price to display to customers to avoid confusion
about the internal handling of distributed Order-level discounts.
"""
discountedUnitPrice: Money!
"""
The price of a single unit including discounts and tax
"""
discountedUnitPriceWithTax: Money!
"""
The actual unit price, taking into account both item discounts and prorated (proportionally-distributed)
Order-level discounts. This value is the true economic value of the OrderItem, and is used in tax
and refund calculations.
"""
proratedUnitPrice: Money!
"""
The proratedUnitPrice including tax
"""
proratedUnitPriceWithTax: Money!
"""
The quantity of items purchased
"""
quantity: Int!
"""
The quantity at the time the Order was placed
"""
orderPlacedQuantity: Int!
taxRate: Float!
"""
The total price of the line excluding tax and discounts.
"""
linePrice: Money!
"""
The total price of the line including tax but excluding discounts.
"""
linePriceWithTax: Money!
"""
The price of the line including discounts, excluding tax
"""
discountedLinePrice: Money!
"""
The price of the line including discounts and tax
"""
discountedLinePriceWithTax: Money!
"""
The actual line price, taking into account both item discounts and prorated (proportionally-distributed)
Order-level discounts. This value is the true economic value of the OrderLine, and is used in tax
and refund calculations.
"""
proratedLinePrice: Money!
"""
The proratedLinePrice including tax
"""
proratedLinePriceWithTax: Money!
"""
The total tax on this line
"""
lineTax: Money!
discounts: [Discount!]!
taxLines: [TaxLine!]!
order: Order!
fulfillmentLines: [FulfillmentLine!]
customFields: JSON
}

OrderList

type OrderList {
items: [Order!]!
totalItems: Int!
}

OrderModificationError

"""
Returned when attempting to modify the contents of an Order that is not in the AddingItems state.
"""
type OrderModificationError {
errorCode: ErrorCode!
message: String!
}

OrderPaymentStateError

"""
Returned when attempting to add a Payment to an Order that is not in the ArrangingPayment state.
"""
type OrderPaymentStateError {
errorCode: ErrorCode!
message: String!
}

OrderStateTransitionError

"""
Returned if there is an error in transitioning the Order state
"""
type OrderStateTransitionError {
errorCode: ErrorCode!
message: String!
transitionError: String!
fromState: String!
toState: String!
}

OrderTaxSummary

"""
A summary of the taxes being applied to this order, grouped
by taxRate.
"""
type OrderTaxSummary {
"""
A description of this tax
"""
description: String!
"""
The taxRate as a percentage
"""
taxRate: Float!
"""
The total net price of OrderLines to which this taxRate applies
"""
taxBase: Money!
"""
The total tax being applied to the Order at this taxRate
"""
taxTotal: Money!
}

PasswordAlreadySetError

"""
Returned when attempting to verify a customer account with a password, when a password has already been set.
"""
type PasswordAlreadySetError {
errorCode: ErrorCode!
message: String!
}

PasswordResetTokenExpiredError

"""
Returned if the token used to reset a Customer's password is valid, but has
expired according to the verificationTokenDuration setting in the AuthOptions.
"""
type PasswordResetTokenExpiredError {
errorCode: ErrorCode!
message: String!
}

PasswordResetTokenInvalidError

"""
Returned if the token used to reset a Customer's password is either
invalid or does not match any expected tokens.
"""
type PasswordResetTokenInvalidError {
errorCode: ErrorCode!
message: String!
}

PasswordValidationError

"""
Returned when attempting to register or verify a customer account where the given password fails password validation.
"""
type PasswordValidationError {
errorCode: ErrorCode!
message: String!
validationErrorMessage: String!
}

Payment

type Payment {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
method: String!
amount: Money!
state: String!
transactionId: String
errorMessage: String
refunds: [Refund!]!
metadata: JSON
customFields: JSON
}

PaymentDeclinedError

"""
Returned when a Payment is declined by the payment provider.
"""
type PaymentDeclinedError {
errorCode: ErrorCode!
message: String!
paymentErrorMessage: String!
}

PaymentFailedError

"""
Returned when a Payment fails due to an error.
"""
type PaymentFailedError {
errorCode: ErrorCode!
message: String!
paymentErrorMessage: String!
}

PaymentMethod

type PaymentMethod {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
name: String!
code: String!
description: String!
enabled: Boolean!
translations: [PaymentMethodTranslation!]!
customFields: JSON
}

PaymentMethodQuote

type PaymentMethodQuote {
id: ID!
code: String!
name: String!
description: String!
isEligible: Boolean!
eligibilityMessage: String
customFields: JSON
}

PaymentMethodTranslation

type PaymentMethodTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
description: String!
}

PriceRange

"""
The price range where the result has more than one price
"""
type PriceRange {
min: Money!
max: Money!
}

Product

type Product {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
slug: String!
description: String!
enabled: Boolean!
featuredAsset: Asset
assets: [Asset!]!
"""
Returns all ProductVariants
"""
variants: [ProductVariant!]!
"""
Returns a paginated, sortable, filterable list of ProductVariants
"""
optionGroups: [ProductOptionGroup!]!
facetValues: [FacetValue!]!
translations: [ProductTranslation!]!
collections: [Collection!]!
customFields: JSON
}

ProductList

type ProductList {
items: [Product!]!
totalItems: Int!
}

ProductOption

type ProductOption {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
code: String!
name: String!
groupId: ID!
translations: [ProductOptionTranslation!]!
customFields: JSON
}

ProductOptionGroup

type ProductOptionGroup {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
code: String!
name: String!
options: [ProductOption!]!
customFields: JSON
}

ProductOptionGroupTranslation

type ProductOptionGroupTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}

ProductOptionTranslation

type ProductOptionTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}

ProductTranslation

type ProductTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
slug: String!
description: String!
}

ProductVariant

type ProductVariant {
id: ID!
product: Product!
productId: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
sku: String!
name: String!
featuredAsset: Asset
assets: [Asset!]!
price: Money!
currencyCode: CurrencyCode!
priceWithTax: Money!
stockLevel: String!
taxRateApplied: TaxRate!
taxCategory: TaxCategory!
options: [ProductOption!]!
facetValues: [FacetValue!]!
translations: [ProductVariantTranslation!]!
customFields: JSON
}

ProductVariantList

type ProductVariantList {
items: [ProductVariant!]!
totalItems: Int!
}

ProductVariantTranslation

type ProductVariantTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}

Promotion

type Promotion {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
startsAt: DateTime
endsAt: DateTime
couponCode: String
perCustomerUsageLimit: Int
usageLimit: Int
name: String!
description: String!
enabled: Boolean!
conditions: [ConfigurableOperation!]!
translations: [PromotionTranslation!]!
customFields: JSON
}

PromotionList

type PromotionList {
items: [Promotion!]!
totalItems: Int!
}

PromotionTranslation

type PromotionTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
description: String!
}

Province

type Province {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
code: String!
type: String!
name: String!
enabled: Boolean!
parent: Region
parentId: ID
translations: [RegionTranslation!]!
customFields: JSON
}

ProvinceList

type ProvinceList {
items: [Province!]!
totalItems: Int!
}

RefreshCustomerVerificationResult

union RefreshCustomerVerificationResult =

Refund

type Refund {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
items: Money!
shipping: Money!
adjustment: Money!
total: Money!
method: String
state: String!
transactionId: String
reason: String
lines: [RefundLine!]!
paymentId: ID!
metadata: JSON
customFields: JSON
}

RefundLine

type RefundLine {
orderLine: OrderLine!
orderLineId: ID!
quantity: Int!
refund: Refund!
refundId: ID!
}

RegionTranslation

type RegionTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}

RegisterCustomerAccountResult

RelationCustomFieldConfig

type RelationCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
entity: String!
scalarFields: [String!]!
ui: JSON
}

RemoveOrderItemsResult

union RemoveOrderItemsResult =

RequestPasswordResetResult

union RequestPasswordResetResult =

RequestUpdateCustomerEmailAddressResult

union RequestUpdateCustomerEmailAddressResult =

ResetPasswordResult

Role

type Role {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
code: String!
description: String!
permissions: [Permission!]!
channels: [Channel!]!
}

RoleList

type RoleList {
items: [Role!]!
totalItems: Int!
}

SearchReindexResponse

type SearchReindexResponse {
success: Boolean!
}

SearchResponse

type SearchResponse {
items: [SearchResult!]!
totalItems: Int!
facetValues: [FacetValueResult!]!
collections: [CollectionResult!]!
}

SearchResult

type SearchResult {
sku: String!
slug: String!
productId: ID!
productName: String!
productAsset: SearchResultAsset
productVariantId: ID!
productVariantName: String!
productVariantAsset: SearchResultAsset
priceWithTax: SearchResultPrice!
currencyCode: CurrencyCode!
description: String!
facetIds: [ID!]!
facetValueIds: [ID!]!
"""
An array of ids of the Collections in which this result appears
"""
collectionIds: [ID!]!
"""
A relevance score for the result. Differs between database implementations
"""
score: Float!
}

SearchResultAsset

type SearchResultAsset {
id: ID!
preview: String!
focalPoint: Coordinate
}

SearchResultPrice

"""
The price of a search result product, either as a range or as a single price
"""
union SearchResultPrice =

Seller

type Seller {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
name: String!
customFields: JSON
}

SetCustomerForOrderResult

SetOrderShippingMethodResult

ShippingLine

type ShippingLine {
id: ID!
shippingMethod: ShippingMethod!
price: Money!
priceWithTax: Money!
discountedPrice: Money!
discountedPriceWithTax: Money!
discounts: [Discount!]!
customFields: JSON
}

ShippingMethod

type ShippingMethod {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
code: String!
name: String!
description: String!
fulfillmentHandlerCode: String!
translations: [ShippingMethodTranslation!]!
customFields: JSON
}

ShippingMethodList

type ShippingMethodList {
items: [ShippingMethod!]!
totalItems: Int!
}

ShippingMethodQuote

type ShippingMethodQuote {
id: ID!
price: Money!
priceWithTax: Money!
code: String!
name: String!
description: String!
"""
Any optional metadata returned by the ShippingCalculator in the ShippingCalculationResult
"""
metadata: JSON
customFields: JSON
}

ShippingMethodTranslation

type ShippingMethodTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
description: String!
}

SinglePrice

"""
The price value where the result has a single price
"""
type SinglePrice {
value: Money!
}

String

"""
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.
"""
scalar String

StringCustomFieldConfig

type StringCustomFieldConfig {
name: String!
type: String!
list: Boolean!
length: Int
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
pattern: String
options: [StringFieldOption!]
ui: JSON
}

StringFieldOption

type StringFieldOption {
value: String!
label: [LocalizedString!]
}

StringStructFieldConfig

type StringStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
length: Int
pattern: String
options: [StringFieldOption!]
ui: JSON
}

StructCustomFieldConfig

type StructCustomFieldConfig {
name: String!
type: String!
list: Boolean!
fields: [StructFieldConfig!]!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
ui: JSON
}

StructFieldConfig

Success

"""
Indicates that an operation succeeded, where we do not want to return any more specific information.
"""
type Success {
success: Boolean!
}

Surcharge

type Surcharge {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
description: String!
sku: String
taxLines: [TaxLine!]!
price: Money!
priceWithTax: Money!
taxRate: Float!
}

Tag

type Tag {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
value: String!
}

TagList

type TagList {
items: [Tag!]!
totalItems: Int!
}

TaxCategory

type TaxCategory {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
name: String!
isDefault: Boolean!
customFields: JSON
}

TaxLine

type TaxLine {
description: String!
taxRate: Float!
}

TaxRate

type TaxRate {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
name: String!
enabled: Boolean!
value: Float!
category: TaxCategory!
zone: Zone!
customerGroup: CustomerGroup
customFields: JSON
}

TaxRateList

type TaxRateList {
items: [TaxRate!]!
totalItems: Int!
}

TextCustomFieldConfig

type TextCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
ui: JSON
}

TextStructFieldConfig

type TextStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
ui: JSON
}

TransitionOrderToStateResult

union TransitionOrderToStateResult =

UpdateCustomerEmailAddressResult

UpdateCustomerPasswordResult

UpdateOrderItemsResult

Upload

"""
The Upload scalar type represents a file upload.
"""
scalar Upload

User

type User {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
identifier: String!
verified: Boolean!
roles: [Role!]!
lastLogin: DateTime
authenticationMethods: [AuthenticationMethod!]!
customFields: JSON
}

VerificationTokenExpiredError

"""
Returned if the verification token (used to verify a Customer's email address) is valid, but has
expired according to the verificationTokenDuration setting in the AuthOptions.
"""
type VerificationTokenExpiredError {
errorCode: ErrorCode!
message: String!
}

VerificationTokenInvalidError

"""
Returned if the verification token (used to verify a Customer's email address) is either
invalid or does not match any expected tokens.
"""
type VerificationTokenInvalidError {
errorCode: ErrorCode!
message: String!
}

VerifyCustomerAccountResult

Zone

type Zone {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
name: String!
members: [Region!]!
customFields: JSON
}