"""Returned if an attempting to refund an OrderItem which has already been refunded"""
type AlreadyRefundedError {
errorCode: ErrorCode!
message: String!
refundId: ID!
}
ApiKey
typeApiKey
type ApiKey {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
"""
ID by which we can look up the API-Key.
Also helps you identify keys without leaking the underlying secret API-Key.
"""
lookupId: String!
"""Helps you identify unused keys"""
lastUsedAt: DateTime
"""
Usually the user who created the ApiKey but could also be used as the basis for
restricting resolvers to `Permission.Owner` queries for customers for example.
"""
owner: User!
"""This is the underlying User which determines the kind of permissions for this API-Key."""
user: User!
"""A descriptive name so you can remind yourself where the API-Key gets used"""
name: String!
translations: [ApiKeyTranslation!]!
customFields: JSON
}
ApiKeyList
typeApiKeyList
type ApiKeyList {
items: [ApiKey!]!
totalItems: Int!
}
ApiKeyTranslation
typeApiKeyTranslation
type ApiKeyTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
"""A descriptive name so you can remind yourself where the API-Key gets used"""
name: String!
}
"""Returned if an attempting to cancel lines from an Order which is still active"""
type CancelActiveOrderError {
errorCode: ErrorCode!
message: String!
orderState: String!
}
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
}
ChannelDefaultLanguageError
typeChannelDefaultLanguageError
"""
Returned when the default LanguageCode of a Channel is no longer found in the `availableLanguages`
of the GlobalSettings
"""
type ChannelDefaultLanguageError {
errorCode: ErrorCode!
message: String!
language: String!
channelCode: String!
}
ChannelList
typeChannelList
type ChannelList {
items: [Channel!]!
totalItems: Int!
}
type CollectionBreadcrumb {
id: ID!
name: String!
slug: String!
}
CollectionList
typeCollectionList
type CollectionList {
items: [Collection!]!
totalItems: Int!
}
CollectionResult
typeCollectionResult
"""
Which Collections are present in the products returned
by the search, and in what quantity.
"""
type CollectionResult {
collection: Collection!
count: Int!
}
"""
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
typeCountryList
type CountryList {
items: [Country!]!
totalItems: Int!
}
CouponCodeExpiredError
typeCouponCodeExpiredError
"""Returned if the provided coupon code is invalid"""
type CouponCodeExpiredError {
errorCode: ErrorCode!
message: String!
couponCode: String!
}
CouponCodeInvalidError
typeCouponCodeInvalidError
"""Returned if the provided coupon code is invalid"""
type CouponCodeInvalidError {
errorCode: ErrorCode!
message: String!
couponCode: String!
}
CouponCodeLimitError
typeCouponCodeLimitError
"""Returned if the provided coupon code is invalid"""
type CouponCodeLimitError {
errorCode: ErrorCode!
message: String!
couponCode: String!
limit: Int!
}
CreateApiKeyResult
typeCreateApiKeyResult
type CreateApiKeyResult {
"""The generated API-Key. API-Keys cannot be viewed again after creation!"""
apiKey: String!
"""ID of the created ApiKey-Entity"""
entityId: ID!
}
"""Returned if an error is thrown in a FulfillmentHandler's createFulfillment method"""
type CreateFulfillmentError {
errorCode: ErrorCode!
message: String!
fulfillmentHandlerError: String!
}
type CustomerGroupList {
items: [CustomerGroup!]!
totalItems: Int!
}
CustomerList
typeCustomerList
type CustomerList {
items: [Customer!]!
totalItems: Int!
}
DateTime
scalarDateTime
scalar DateTime
DateTimeCustomFieldConfig
typeDateTimeCustomFieldConfig
"""
Expects the same validation formats as the `<input type="datetime-local">` HTML element.
See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes
"""
type DateTimeCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
deprecated: Boolean
deprecationReason: String
min: String
max: String
step: Int
ui: JSON
}
DateTimeStructFieldConfig
typeDateTimeStructFieldConfig
"""
Expects the same validation formats as the `<input type="datetime-local">` HTML element.
See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes
"""
type DateTimeStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
min: String
max: String
step: Int
ui: JSON
}
"""Returned when attempting to create a Customer with an email address already registered to an existing User."""
type EmailAddressConflictError {
errorCode: ErrorCode!
message: String!
}
EmptyOrderLineSelectionError
typeEmptyOrderLineSelectionError
"""Returned if no OrderLines have been specified for the operation"""
type EmptyOrderLineSelectionError {
errorCode: ErrorCode!
message: String!
}
type FacetValueList {
items: [FacetValue!]!
totalItems: Int!
}
FacetValueResult
typeFacetValueResult
"""
Which FacetValues are present in the products returned
by the search, and in what quantity.
"""
type FacetValueResult {
facetValue: FacetValue!
count: Int!
}
"""The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point)."""
scalar Float
"""Returned when there is an error in transitioning the Fulfillment state"""
type FulfillmentStateTransitionError {
errorCode: ErrorCode!
message: String!
transitionError: String!
fromState: String!
toState: String!
}
"""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!
}
type HistoryEntryList {
items: [HistoryEntry!]!
totalItems: Int!
}
ID
scalarID
"""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
ImportInfo
typeImportInfo
type ImportInfo {
errors: [String!]
processed: Int!
imported: Int!
}
IneligibleShippingMethodError
typeIneligibleShippingMethodError
"""Returned when attempting to set a ShippingMethod for which the Order is not eligible"""
type IneligibleShippingMethodError {
errorCode: ErrorCode!
message: String!
}
InsufficientStockError
typeInsufficientStockError
"""Returned when attempting to add more items to the Order than are available"""
type InsufficientStockError {
errorCode: ErrorCode!
message: String!
quantityAvailable: Int!
order: Order!
}
InsufficientStockOnHandError
typeInsufficientStockOnHandError
"""
Returned if attempting to create a Fulfillment when there is insufficient
stockOnHand of a ProductVariant to satisfy the requested quantity.
"""
type InsufficientStockOnHandError {
errorCode: ErrorCode!
message: String!
productVariantId: ID!
productVariantName: String!
stockOnHand: Int!
}
Int
scalarInt
"""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
typeIntCustomFieldConfig
type IntCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
deprecated: Boolean
deprecationReason: String
min: Int
max: Int
step: Int
ui: JSON
}
IntStructFieldConfig
typeIntStructFieldConfig
type IntStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
min: Int
max: Int
step: Int
ui: JSON
}
InvalidCredentialsError
typeInvalidCredentialsError
"""Returned if the user authentication credentials are not valid"""
type InvalidCredentialsError {
errorCode: ErrorCode!
message: String!
authenticationError: String!
}
InvalidFulfillmentHandlerError
typeInvalidFulfillmentHandlerError
"""Returned if the specified FulfillmentHandler code is not valid"""
type InvalidFulfillmentHandlerError {
errorCode: ErrorCode!
message: String!
}
ItemsAlreadyFulfilledError
typeItemsAlreadyFulfilledError
"""Returned if the specified items are already part of a Fulfillment"""
type ItemsAlreadyFulfilledError {
errorCode: ErrorCode!
message: String!
}
"""Returned if attempting to set a Channel's defaultLanguageCode to a language which is not enabled in GlobalSettings"""
type LanguageNotAvailableError {
errorCode: ErrorCode!
message: String!
languageCode: String!
}
"""
Returned when a call to addManualPaymentToOrder is made but the Order
is not in the required state.
"""
type ManualPaymentStateError {
errorCode: ErrorCode!
message: String!
}
"""Returned if a PromotionCondition has neither a couponCode nor any conditions set"""
type MissingConditionsError {
errorCode: ErrorCode!
message: String!
}
"""Returned if an operation has specified OrderLines from multiple Orders"""
type MultipleOrderError {
errorCode: ErrorCode!
message: String!
}
NativeAuthStrategyError
typeNativeAuthStrategyError
"""Returned when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured."""
type NativeAuthStrategyError {
errorCode: ErrorCode!
message: String!
}
"""Returned when attempting to set a negative OrderLine quantity."""
type NegativeQuantityError {
errorCode: ErrorCode!
message: String!
}
NoActiveOrderError
typeNoActiveOrderError
"""
Returned when invoking a mutation which depends on there being an active Order on the
current session.
"""
type NoActiveOrderError {
errorCode: ErrorCode!
message: String!
}
NoChangesSpecifiedError
typeNoChangesSpecifiedError
"""Returned when a call to modifyOrder fails to specify any changes"""
type NoChangesSpecifiedError {
errorCode: ErrorCode!
message: String!
}
NothingToRefundError
typeNothingToRefundError
"""Returned if an attempting to refund an Order but neither items nor shipping refund was specified"""
type NothingToRefundError {
errorCode: ErrorCode!
message: String!
}
Order
typeOrder
type Order {
nextStates: [String!]!
modifications: [OrderModification!]!
sellerOrders: [Order!]
aggregateOrder: Order
aggregateOrderId: ID
channels: [Channel!]!
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!]!
history(options: HistoryEntryListOptions): HistoryEntryList!
customFields: JSON
}
"""Returned when an order operation is rejected by an OrderInterceptor method."""
type OrderInterceptorError {
errorCode: ErrorCode!
message: String!
interceptorError: String!
}
OrderLimitError
typeOrderLimitError
"""Returned when the maximum order size limit has been reached."""
type OrderLimitError {
errorCode: ErrorCode!
message: String!
maxItems: Int!
}
OrderLine
typeOrderLine
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
typeOrderList
type OrderList {
items: [Order!]!
totalItems: Int!
}
"""Returned when attempting to modify the contents of an Order that is not in the `AddingItems` state."""
type OrderModificationError {
errorCode: ErrorCode!
message: String!
}
"""Returned when attempting to modify the contents of an Order that is not in the `Modifying` state."""
type OrderModificationStateError {
errorCode: ErrorCode!
message: String!
}
OrderProcessState
typeOrderProcessState
type OrderProcessState {
name: String!
to: [String!]!
}
OrderStateTransitionError
typeOrderStateTransitionError
"""Returned if there is an error in transitioning the Order state"""
type OrderStateTransitionError {
errorCode: ErrorCode!
message: String!
transitionError: String!
fromState: String!
toState: String!
}
OrderTaxSummary
typeOrderTaxSummary
"""
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!
}
type PaymentMethodList {
items: [PaymentMethod!]!
totalItems: Int!
}
PaymentMethodMissingError
typePaymentMethodMissingError
"""
Returned when a call to modifyOrder fails to include a paymentMethod even
though the price has increased as a result of the changes.
"""
type PaymentMethodMissingError {
errorCode: ErrorCode!
message: String!
}
"""Returned if an attempting to refund a Payment against OrderLines from a different Order"""
type PaymentOrderMismatchError {
errorCode: ErrorCode!
message: String!
}
PaymentStateTransitionError
typePaymentStateTransitionError
"""Returned when there is an error in transitioning the Payment state"""
type PaymentStateTransitionError {
errorCode: ErrorCode!
message: String!
transitionError: String!
fromState: String!
toState: String!
}
PermissionDefinition
typePermissionDefinition
type PermissionDefinition {
name: String!
description: String!
assignable: Boolean!
}
PriceRange
typePriceRange
"""The price range where the result has more than one price"""
type PriceRange {
min: Money!
max: Money!
}
type ProvinceList {
items: [Province!]!
totalItems: Int!
}
QuantityTooGreatError
typeQuantityTooGreatError
"""Returned if the specified quantity of an OrderLine is greater than the number of items in that line"""
type QuantityTooGreatError {
errorCode: ErrorCode!
message: String!
}
"""Returned if `amount` is greater than the maximum un-refunded amount of the Payment"""
type RefundAmountError {
errorCode: ErrorCode!
message: String!
maximumRefundable: Int!
}
"""Returned if an attempting to refund an Order which is not in the expected state"""
type RefundOrderStateError {
errorCode: ErrorCode!
message: String!
orderState: String!
}
RefundPaymentIdMissingError
typeRefundPaymentIdMissingError
"""
Returned when a call to modifyOrder fails to include a refundPaymentId even
though the price has decreased as a result of the changes.
"""
type RefundPaymentIdMissingError {
errorCode: ErrorCode!
message: String!
}
RefundStateTransitionError
typeRefundStateTransitionError
"""Returned when there is an error in transitioning the Refund state"""
type RefundStateTransitionError {
errorCode: ErrorCode!
message: String!
transitionError: String!
fromState: String!
toState: String!
}
type SearchResult {
enabled: Boolean!
"""An array of ids of the Channels in which this result appears"""
channelIds: [ID!]!
sku: String!
slug: String!
productId: ID!
productName: String!
productAsset: SearchResultAsset
productVariantId: ID!
productVariantName: String!
productVariantAsset: SearchResultAsset
price: SearchResultPrice!
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
typeSearchResultAsset
type SearchResultAsset {
id: ID!
preview: String!
focalPoint: Coordinate
}
SearchResultPrice
unionSearchResultPrice
"""The price of a search result product, either as a range or as a single price"""
union SearchResultPrice = PriceRange | SinglePrice
type SellerList {
items: [Seller!]!
totalItems: Int!
}
ServerConfig
typeServerConfig
type ServerConfig {
orderProcess: [OrderProcessState!]!
permittedAssetTypes: [String!]!
permissions: [PermissionDefinition!]!
moneyStrategyPrecision: Int!
"""
This field is deprecated in v2.2 in favor of the entityCustomFields field,
which allows custom fields to be defined on user-supplies entities.
"""
customFieldConfig: CustomFields!
entityCustomFields: [EntityCustomFields!]!
}
type ShippingMethodList {
items: [ShippingMethod!]!
totalItems: Int!
}
ShippingMethodQuote
typeShippingMethodQuote
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
}
"""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