union AddFulfillmentToOrderResult = Fulfillment | EmptyOrderLineSelectionError | ItemsAlreadyFulfilledError | InsufficientStockOnHandError | InvalidFulfillmentHandlerError | FulfillmentStateTransitionError | CreateFulfillmentErrorunion AddManualPaymentToOrderResult = Order | ManualPaymentStateErrortype 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
}type Adjustment {
adjustmentSource: String!
type: AdjustmentType!
description: String!
amount: Money!
data: JSON
}type AdministratorList {
items: [Administrator!]!
totalItems: Int!
}type Allocation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
productVariant: ProductVariant!
type: StockMovementType!
quantity: Int!
orderLine: OrderLine!
customFields: JSON
}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
}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!
}union ApplyCouponCodeResult = Order | CouponCodeExpiredError | CouponCodeInvalidError | CouponCodeLimitErrortype Asset {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
type: AssetType!
fileSize: Int!
mimeType: String!
width: Int!
height: Int!
source: String!
preview: String!
focalPoint: Coordinate
tags: [Tag!]!
translations: [AssetTranslation!]!
customFields: JSON
}type AssetTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}union AuthenticationResult = CurrentUser | InvalidCredentialsError"""The `Boolean` scalar type represents `true` or `false`."""
scalar Booleantype BooleanCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
deprecated: Boolean
deprecationReason: String
ui: JSON
}type BooleanStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
ui: JSON
}union CancelOrderResult = Order | EmptyOrderLineSelectionError | QuantityTooGreatError | MultipleOrderError | CancelActiveOrderError | OrderStateTransitionErrorunion CancelPaymentResult = Payment | CancelPaymentError | PaymentStateTransitionErrortype Cancellation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
productVariant: ProductVariant!
type: StockMovementType!
quantity: Int!
orderLine: OrderLine!
customFields: JSON
}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
}type Collection {
isPrivate: Boolean!
inheritFilters: Boolean!
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!]
filters: [ConfigurableOperation!]!
translations: [CollectionTranslation!]!
productVariants(options: ProductVariantListOptions): ProductVariantList!
productVariantCount: Int!
customFields: JSON
}type CollectionList {
items: [Collection!]!
totalItems: Int!
}"""
Which Collections are present in the products returned
by the search, and in what quantity.
"""
type CollectionResult {
collection: Collection!
count: Int!
}type CollectionTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
slug: String!
description: String!
}type ConfigArg {
name: String!
value: String!
}type ConfigurableOperationDefinition {
code: String!
args: [ConfigArgDefinition!]!
description: String!
}type Coordinate {
x: Float!
y: Float!
}"""
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
}union CreateAssetResult = Asset | MimeTypeErrorunion CreateChannelResult = Channel | LanguageNotAvailableErrorunion CreateCustomerResult = Customer | EmailAddressConflictErrorunion CreatePromotionResult = Promotion | MissingConditionsErrortype CurrentUser {
id: ID!
identifier: String!
channels: [CurrentUserChannel!]!
}type CurrentUserChannel {
id: ID!
token: String!
code: String!
permissions: [Permission!]!
}"""
This type is deprecated in v2.2 in favor of the EntityCustomFields type,
which allows custom fields to be defined on user-supplied entities.
"""
type CustomFields {
Address: [CustomFieldConfig!]!
Administrator: [CustomFieldConfig!]!
ApiKey: [CustomFieldConfig!]!
Asset: [CustomFieldConfig!]!
Channel: [CustomFieldConfig!]!
Collection: [CustomFieldConfig!]!
Customer: [CustomFieldConfig!]!
CustomerGroup: [CustomFieldConfig!]!
Facet: [CustomFieldConfig!]!
FacetValue: [CustomFieldConfig!]!
Fulfillment: [CustomFieldConfig!]!
GlobalSettings: [CustomFieldConfig!]!
HistoryEntry: [CustomFieldConfig!]!
Order: [CustomFieldConfig!]!
OrderLine: [CustomFieldConfig!]!
Payment: [CustomFieldConfig!]!
PaymentMethod: [CustomFieldConfig!]!
Product: [CustomFieldConfig!]!
ProductOption: [CustomFieldConfig!]!
ProductOptionGroup: [CustomFieldConfig!]!
ProductVariant: [CustomFieldConfig!]!
ProductVariantPrice: [CustomFieldConfig!]!
Promotion: [CustomFieldConfig!]!
Refund: [CustomFieldConfig!]!
Region: [CustomFieldConfig!]!
Seller: [CustomFieldConfig!]!
Session: [CustomFieldConfig!]!
ShippingLine: [CustomFieldConfig!]!
ShippingMethod: [CustomFieldConfig!]!
StockLevel: [CustomFieldConfig!]!
StockLocation: [CustomFieldConfig!]!
StockMovement: [CustomFieldConfig!]!
TaxCategory: [CustomFieldConfig!]!
TaxRate: [CustomFieldConfig!]!
User: [CustomFieldConfig!]!
Zone: [CustomFieldConfig!]!
}type Customer {
groups: [CustomerGroup!]!
history(options: HistoryEntryListOptions): HistoryEntryList!
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
}type CustomerGroup {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
name: String!
customers(options: CustomerListOptions): CustomerList!
customFields: JSON
}type CustomerGroupList {
items: [CustomerGroup!]!
totalItems: Int!
}scalar DateTime"""
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
}"""
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
}type DeletionResponse {
result: DeletionResult!
message: String
}type Discount {
adjustmentSource: String!
type: AdjustmentType!
description: String!
amount: Money!
amountWithTax: Money!
}union DuplicateEntityResult = DuplicateEntitySuccess | DuplicateEntityErrortype DuplicateEntitySuccess {
newEntityId: ID!
}type EntityCustomFields {
entityName: String!
customFields: [CustomFieldConfig!]!
}type EntityDuplicatorDefinition {
code: String!
args: [ConfigArgDefinition!]!
description: String!
forEntities: [String!]!
requiresPermission: [Permission!]!
}type Facet {
isPrivate: Boolean!
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."""
valueList(options: FacetValueListOptions): FacetValueList!
translations: [FacetTranslation!]!
customFields: JSON
}type FacetTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}type FacetValue {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
facet: Facet!
facetId: ID!
name: String!
code: String!
translations: [FacetValueTranslation!]!
customFields: JSON
}type FacetValueList {
items: [FacetValue!]!
totalItems: Int!
}"""
Which FacetValues are present in the products returned
by the search, and in what quantity.
"""
type FacetValueResult {
facetValue: FacetValue!
count: Int!
}type FacetValueTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}"""The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point)."""
scalar Floattype FloatCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
deprecated: Boolean
deprecationReason: String
min: Float
max: Float
step: Float
ui: JSON
}type FloatStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
min: Float
max: Float
step: Float
ui: JSON
}type FulfillmentLine {
orderLine: OrderLine!
orderLineId: ID!
quantity: Int!
fulfillment: Fulfillment!
fulfillmentId: ID!
}type GlobalSettings {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
availableLanguages: [LanguageCode!]!
trackInventory: Boolean!
outOfStockThreshold: Int!
serverConfig: ServerConfig!
customFields: JSON
}type HistoryEntry {
isPublic: Boolean!
administrator: Administrator
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
type: HistoryEntryType!
data: JSON!
customFields: JSON
}type HistoryEntryList {
items: [HistoryEntry!]!
totalItems: Int!
}"""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"""The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1."""
scalar Inttype 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
}type IntStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
min: Int
max: Int
step: Int
ui: JSON
}scalar JSONtype LocaleStringCustomFieldConfig {
name: String!
type: String!
list: Boolean!
length: Int
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
deprecated: Boolean
deprecationReason: String
pattern: String
ui: JSON
}type LocaleTextCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
deprecated: Boolean
deprecationReason: String
ui: JSON
}type LocalizedString {
languageCode: LanguageCode!
value: String!
}type MetricSummary {
interval: MetricInterval!
type: MetricType!
title: String!
entries: [MetricSummaryEntry!]!
}union ModifyOrderResult = Order | NoChangesSpecifiedError | OrderModificationStateError | PaymentMethodMissingError | RefundPaymentIdMissingError | OrderLimitError | NegativeQuantityError | InsufficientStockError | CouponCodeExpiredError | CouponCodeInvalidError | CouponCodeLimitError | IneligibleShippingMethodErrorscalar Moneyunion NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyErrortype 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
}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
}type OrderModificationLine {
orderLine: OrderLine!
orderLineId: ID!
quantity: Int!
modification: OrderModification!
modificationId: ID!
}type OrderProcessState {
name: String!
to: [String!]!
}"""
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 PaymentMethod {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
name: String!
code: String!
description: String!
enabled: Boolean!
checker: ConfigurableOperation
handler: ConfigurableOperation!
translations: [PaymentMethodTranslation!]!
customFields: JSON
}type PaymentMethodList {
items: [PaymentMethod!]!
totalItems: Int!
}type PaymentMethodTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
description: String!
}"""The price range where the result has more than one price"""
type PriceRange {
min: Money!
max: Money!
}type Product {
channels: [Channel!]!
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"""
variantList(options: ProductVariantListOptions): ProductVariantList!
optionGroups: [ProductOptionGroup!]!
facetValues: [FacetValue!]!
translations: [ProductTranslation!]!
collections: [Collection!]!
customFields: JSON
}type ProductOption {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
code: String!
name: String!
groupId: ID!
group: ProductOptionGroup!
translations: [ProductOptionTranslation!]!
customFields: JSON
}type ProductOptionGroup {
channels: [Channel!]!
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
code: String!
name: String!
options: [ProductOption!]!
"""The number of products that use this option group"""
productCount: Int!
translations: [ProductOptionGroupTranslation!]!
customFields: JSON
}type ProductOptionGroupList {
totalItems: Int!
items: [ProductOptionGroup!]!
}type ProductOptionGroupTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}type ProductOptionList {
totalItems: Int!
items: [ProductOption!]!
}type ProductOptionTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}type ProductTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
slug: String!
description: String!
}type ProductVariant {
enabled: Boolean!
trackInventory: GlobalFlag!
stockOnHand: Int!
stockAllocated: Int!
outOfStockThreshold: Int!
useGlobalOutOfStockThreshold: Boolean!
prices: [ProductVariantPrice!]!
stockLevels: [StockLevel!]!
stockMovements(options: StockMovementListOptions): StockMovementList!
channels: [Channel!]!
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
}type ProductVariantList {
items: [ProductVariant!]!
totalItems: Int!
}type ProductVariantPrice {
currencyCode: CurrencyCode!
price: Money!
customFields: JSON
}type ProductVariantTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}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!]!
actions: [ConfigurableOperation!]!
translations: [PromotionTranslation!]!
customFields: JSON
}type PromotionTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
description: String!
}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
}union RefundOrderResult = Refund | QuantityTooGreatError | NothingToRefundError | OrderStateTransitionError | MultipleOrderError | PaymentOrderMismatchError | RefundOrderStateError | AlreadyRefundedError | RefundStateTransitionError | RefundAmountErrortype RegionTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
}type RelationCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
deprecated: Boolean
deprecationReason: String
entity: String!
scalarFields: [String!]!
ui: JSON
}type Release {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
productVariant: ProductVariant!
type: StockMovementType!
quantity: Int!
customFields: JSON
}union RemoveFacetFromChannelResult = Facet | FacetInUseErrorunion RemoveOptionGroupFromProductResult = Product | ProductOptionInUseErrorunion RemoveOrderItemsResult = Order | OrderModificationError | OrderInterceptorErrorunion RemoveProductOptionGroupFromChannelResult = ProductOptionGroup | ProductOptionGroupInUseErrortype Return {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
productVariant: ProductVariant!
type: StockMovementType!
quantity: Int!
customFields: JSON
}type Role {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
code: String!
description: String!
permissions: [Permission!]!
channels: [Channel!]!
}type RotateApiKeyResult {
"""The generated API-Key. API-Keys cannot be viewed again after creation!"""
apiKey: String!
}type Sale {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
productVariant: ProductVariant!
type: StockMovementType!
quantity: Int!
customFields: JSON
}type SearchReindexResponse {
success: Boolean!
}type SearchResponse {
items: [SearchResult!]!
totalItems: Int!
facetValues: [FacetValueResult!]!
collections: [CollectionResult!]!
}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!
}type SearchResultAsset {
id: ID!
preview: String!
focalPoint: Coordinate
}"""The price of a search result product, either as a range or as a single price"""
union SearchResultPrice = PriceRange | SinglePricetype 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!]!
}union SetCustomerForDraftOrderResult = Order | EmailAddressConflictErrorunion SetOrderShippingMethodResult = Order | OrderModificationError | IneligibleShippingMethodError | NoActiveOrderErrortype SettingsStoreFieldDefinition {
key: String!
scopeType: SettingsStoreScopeType!
readonly: Boolean!
currentValue: JSON
}union SettlePaymentResult = Payment | SettlePaymentError | PaymentStateTransitionError | OrderStateTransitionErrorunion SettleRefundResult = Refund | RefundStateTransitionErrortype ShippingLine {
id: ID!
shippingMethod: ShippingMethod!
price: Money!
priceWithTax: Money!
discountedPrice: Money!
discountedPriceWithTax: Money!
discounts: [Discount!]!
customFields: JSON
}type ShippingMethod {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
code: String!
name: String!
description: String!
fulfillmentHandlerCode: String!
checker: ConfigurableOperation!
calculator: ConfigurableOperation!
translations: [ShippingMethodTranslation!]!
customFields: JSON
}type ShippingMethodList {
items: [ShippingMethod!]!
totalItems: Int!
}type ShippingMethodTranslation {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
name: String!
description: String!
}"""The price value where the result has a single price"""
type SinglePrice {
value: Money!
}type StockAdjustment {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
productVariant: ProductVariant!
type: StockMovementType!
quantity: Int!
customFields: JSON
}type StockLocationList {
items: [StockLocation!]!
totalItems: Int!
}union StockMovementItem = StockAdjustment | Allocation | Sale | Cancellation | Return | Releasetype StockMovementList {
items: [StockMovementItem!]!
totalItems: Int!
}"""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 Stringtype StringCustomFieldConfig {
name: String!
type: String!
list: Boolean!
length: Int
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
deprecated: Boolean
deprecationReason: String
pattern: String
options: [StringFieldOption!]
ui: JSON
}type StringFieldOption {
value: String!
label: [LocalizedString!]
}type StringStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
length: Int
pattern: String
options: [StringFieldOption!]
ui: JSON
}type StructCustomFieldConfig {
name: String!
type: String!
list: Boolean!
fields: [StructFieldConfig!]!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
deprecated: Boolean
deprecationReason: String
ui: JSON
}union StructFieldConfig = StringStructFieldConfig | IntStructFieldConfig | FloatStructFieldConfig | BooleanStructFieldConfig | DateTimeStructFieldConfig | TextStructFieldConfig"""Indicates that an operation succeeded, where we do not want to return any more specific information."""
type Success {
success: Boolean!
}type TaxCategoryList {
items: [TaxCategory!]!
totalItems: Int!
}type TaxRate {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
name: String!
enabled: Boolean!
value: Float!
category: TaxCategory!
zone: Zone!
customerGroup: CustomerGroup
customFields: JSON
}type TestShippingMethodResult {
eligible: Boolean!
quote: TestShippingMethodQuote
}type TextCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: [Permission!]
deprecated: Boolean
deprecationReason: String
ui: JSON
}type TextStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: [LocalizedString!]
description: [LocalizedString!]
ui: JSON
}union TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionErrorunion TransitionOrderToStateResult = Order | OrderStateTransitionErrorunion TransitionPaymentToStateResult = Payment | PaymentStateTransitionErrorunion UpdateChannelResult = Channel | LanguageNotAvailableErrorunion UpdateCustomerResult = Customer | EmailAddressConflictErrorunion UpdateGlobalSettingsResult = GlobalSettings | ChannelDefaultLanguageError"""Union type of all possible errors that can occur when adding or removing items from an Order."""
union UpdateOrderItemErrorResult = OrderModificationError | OrderLimitError | NegativeQuantityError | InsufficientStockError | OrderInterceptorErrorunion UpdateOrderItemsResult = Order | OrderModificationError | OrderLimitError | NegativeQuantityError | InsufficientStockError | OrderInterceptorErrorunion UpdatePromotionResult = Promotion | MissingConditionsErrorscalar Upload