diff --git a/schema.graphql b/schema.graphql new file mode 100644 index 000000000..5490d13e7 --- /dev/null +++ b/schema.graphql @@ -0,0 +1,3711 @@ +schema { + query: Query + mutation: Mutations +} + +type AccountAddressCreate { + errors: [Error!] + user: User + address: Address +} + +type AccountAddressDelete { + errors: [Error!] + user: User + address: Address +} + +type AccountAddressUpdate { + errors: [Error!] + user: User + address: Address +} + +type AccountDelete { + errors: [Error!] + user: User +} + +input AccountInput { + firstName: String + lastName: String + defaultBillingAddress: AddressInput + defaultShippingAddress: AddressInput +} + +type AccountRegister { + errors: [Error!] + user: User +} + +input AccountRegisterInput { + email: String! + password: String! +} + +type AccountRequestDeletion { + errors: [Error!] +} + +type AccountSetDefaultAddress { + errors: [Error!] + user: User +} + +type AccountUpdate { + errors: [Error!] + user: User +} + +type Address implements Node { + id: ID! + firstName: String! + lastName: String! + companyName: String! + streetAddress1: String! + streetAddress2: String! + city: String! + cityArea: String! + postalCode: String! + country: CountryDisplay! + countryArea: String! + phone: String + isDefaultShippingAddress: Boolean + isDefaultBillingAddress: Boolean +} + +type AddressCreate { + errors: [Error!] + user: User + address: Address +} + +type AddressDelete { + errors: [Error!] + user: User + address: Address +} + +input AddressInput { + firstName: String + lastName: String + companyName: String + streetAddress1: String + streetAddress2: String + city: String + cityArea: String + postalCode: String + country: String + countryArea: String + phone: String +} + +type AddressSetDefault { + errors: [Error!] + user: User +} + +enum AddressTypeEnum { + BILLING + SHIPPING +} + +type AddressUpdate { + errors: [Error!] + user: User + address: Address +} + +type AddressValidationData { + countryCode: String + countryName: String + addressFormat: String + addressLatinFormat: String + allowedFields: [String] + requiredFields: [String] + upperFields: [String] + countryAreaType: String + countryAreaChoices: [ChoiceValue] + cityType: String + cityChoices: [ChoiceValue] + cityAreaType: String + cityAreaChoices: [ChoiceValue] + postalCodeType: String + postalCodeMatchers: [String] + postalCodeExamples: [String] + postalCodePrefix: String +} + +type AssignNavigation { + errors: [Error!] + menu: Menu +} + +type Attribute implements Node { + id: ID! + productTypes(before: String, after: String, first: Int, last: Int): ProductTypeCountableConnection + productVariantTypes(before: String, after: String, first: Int, last: Int): ProductTypeCountableConnection + privateMeta: [MetaStore]! + meta: [MetaStore]! + inputType: AttributeInputTypeEnum + name: String + slug: String + values: [AttributeValue] + valueRequired: Boolean! + visibleInStorefront: Boolean! + filterableInStorefront: Boolean! + filterableInDashboard: Boolean! + availableInGrid: Boolean! + translation(languageCode: LanguageCodeEnum!): AttributeTranslation + storefrontSearchPosition: Int! +} + +type AttributeAssign { + errors: [Error!] + productType: ProductType +} + +input AttributeAssignInput { + id: ID! + type: AttributeTypeEnum! +} + +type AttributeBulkDelete { + errors: [Error!] + count: Int! +} + +type AttributeClearMeta { + errors: [Error!] + attribute: Attribute +} + +type AttributeClearPrivateMeta { + errors: [Error!] + attribute: Attribute +} + +type AttributeCountableConnection { + pageInfo: PageInfo! + edges: [AttributeCountableEdge!]! + totalCount: Int +} + +type AttributeCountableEdge { + node: Attribute! + cursor: String! +} + +type AttributeCreate { + errors: [Error!] + attribute: Attribute +} + +input AttributeCreateInput { + inputType: AttributeInputTypeEnum + name: String! + slug: String + values: [AttributeValueCreateInput] + valueRequired: Boolean + isVariantOnly: Boolean + visibleInStorefront: Boolean + filterableInStorefront: Boolean + filterableInDashboard: Boolean + storefrontSearchPosition: Int + availableInGrid: Boolean +} + +type AttributeDelete { + errors: [Error!] + attribute: Attribute +} + +input AttributeFilterInput { + valueRequired: Boolean + isVariantOnly: Boolean + visibleInStorefront: Boolean + filterableInStorefront: Boolean + filterableInDashboard: Boolean + availableInGrid: Boolean + search: String +} + +input AttributeInput { + slug: String! + value: String! +} + +enum AttributeInputTypeEnum { + DROPDOWN + MULTISELECT +} + +type AttributeReorderValues { + errors: [Error!] + attribute: Attribute +} + +scalar AttributeScalar + +enum AttributeSortField { + NAME + SLUG + VALUE_REQUIRED + IS_VARIANT_ONLY + VISIBLE_IN_STOREFRONT + FILTERABLE_IN_STOREFRONT + FILTERABLE_IN_DASHBOARD + DASHBOARD_VARIANT_POSITION + DASHBOARD_PRODUCT_POSITION + STOREFRONT_SEARCH_POSITION + AVAILABLE_IN_GRID +} + +input AttributeSortingInput { + field: AttributeSortField! + direction: OrderDirection! +} + +type AttributeTranslate { + errors: [Error!] + attribute: Attribute +} + +type AttributeTranslation implements Node { + id: ID! + name: String! + language: LanguageDisplay! +} + +enum AttributeTypeEnum { + PRODUCT + VARIANT +} + +type AttributeUnassign { + errors: [Error!] + productType: ProductType +} + +type AttributeUpdate { + errors: [Error!] + attribute: Attribute +} + +input AttributeUpdateInput { + name: String + slug: String + removeValues: [ID] + addValues: [AttributeValueCreateInput] + valueRequired: Boolean + isVariantOnly: Boolean + visibleInStorefront: Boolean + filterableInStorefront: Boolean + filterableInDashboard: Boolean + storefrontSearchPosition: Int + availableInGrid: Boolean +} + +type AttributeUpdateMeta { + errors: [Error!] + attribute: Attribute +} + +type AttributeUpdatePrivateMeta { + errors: [Error!] + attribute: Attribute +} + +type AttributeValue implements Node { + id: ID! + name: String + slug: String + type: AttributeValueType + value: String @deprecated(reason: "This field is deprecated") + translation(languageCode: LanguageCodeEnum!): AttributeValueTranslation + inputType: AttributeInputTypeEnum +} + +type AttributeValueBulkDelete { + errors: [Error!] + count: Int! +} + +type AttributeValueCreate { + errors: [Error!] + attribute: Attribute + attributeValue: AttributeValue +} + +input AttributeValueCreateInput { + name: String! + value: String +} + +type AttributeValueDelete { + errors: [Error!] + attribute: Attribute + attributeValue: AttributeValue +} + +input AttributeValueInput { + id: ID + name: String + slug: String + values: [String]! +} + +type AttributeValueTranslate { + errors: [Error!] + attributeValue: AttributeValue +} + +type AttributeValueTranslation implements Node { + id: ID! + name: String! + language: LanguageDisplay! +} + +enum AttributeValueType { + COLOR + GRADIENT + URL + STRING +} + +type AttributeValueUpdate { + errors: [Error!] + attribute: Attribute + attributeValue: AttributeValue +} + +type AuthorizationKey { + name: AuthorizationKeyType! + key: String! +} + +type AuthorizationKeyAdd { + errors: [Error!] + authorizationKey: AuthorizationKey + shop: Shop +} + +type AuthorizationKeyDelete { + errors: [Error!] + authorizationKey: AuthorizationKey + shop: Shop +} + +input AuthorizationKeyInput { + key: String! + password: String! +} + +enum AuthorizationKeyType { + FACEBOOK + GOOGLE_OAUTH2 +} + +input CatalogueInput { + products: [ID] + categories: [ID] + collections: [ID] +} + +type Category implements Node { + seoTitle: String + seoDescription: String + id: ID! + name: String! + slug: String! + description: String! + descriptionJson: JSONString! + parent: Category + level: Int! + privateMeta: [MetaStore]! + meta: [MetaStore]! + ancestors(before: String, after: String, first: Int, last: Int): CategoryCountableConnection + products(before: String, after: String, first: Int, last: Int): ProductCountableConnection + url: String + children(before: String, after: String, first: Int, last: Int): CategoryCountableConnection + backgroundImage(size: Int): Image + translation(languageCode: LanguageCodeEnum!): CategoryTranslation +} + +type CategoryBulkDelete { + errors: [Error!] + count: Int! +} + +type CategoryClearMeta { + errors: [Error!] + category: Category +} + +type CategoryClearPrivateMeta { + errors: [Error!] + category: Category +} + +type CategoryCountableConnection { + pageInfo: PageInfo! + edges: [CategoryCountableEdge!]! + totalCount: Int +} + +type CategoryCountableEdge { + node: Category! + cursor: String! +} + +type CategoryCreate { + errors: [Error!] + category: Category +} + +type CategoryDelete { + errors: [Error!] + category: Category +} + +input CategoryInput { + description: String + descriptionJson: JSONString + name: String + slug: String + seo: SeoInput + backgroundImage: Upload + backgroundImageAlt: String +} + +type CategoryTranslate { + errors: [Error!] + category: Category +} + +type CategoryTranslation implements Node { + seoTitle: String + seoDescription: String + id: ID! + name: String! + description: String! + descriptionJson: JSONString! + language: LanguageDisplay! +} + +type CategoryUpdate { + errors: [Error!] + category: Category +} + +type CategoryUpdateMeta { + errors: [Error!] + category: Category +} + +type CategoryUpdatePrivateMeta { + errors: [Error!] + category: Category +} + +type Checkout implements Node { + created: DateTime! + lastChange: DateTime! + user: User + token: UUID! + quantity: Int! + billingAddress: Address + shippingAddress: Address + shippingMethod: ShippingMethod + note: String! + discountAmount: Money + discountName: String + translatedDiscountName: String + voucherCode: String + giftCards: [GiftCard] + id: ID! + privateMeta: [MetaStore]! + meta: [MetaStore]! + availableShippingMethods: [ShippingMethod]! + availablePaymentGateways: [GatewaysEnum]! + email: String! + isShippingRequired: Boolean! + lines: [CheckoutLine] + shippingPrice: TaxedMoney + subtotalPrice: TaxedMoney + totalPrice: TaxedMoney +} + +type CheckoutAddPromoCode { + errors: [Error!] + checkout: Checkout +} + +type CheckoutBillingAddressUpdate { + errors: [Error!] + checkout: Checkout +} + +type CheckoutClearStoredMeta { + errors: [Error!] + checkout: Checkout +} + +type CheckoutClearStoredPrivateMeta { + errors: [Error!] + checkout: Checkout +} + +type CheckoutComplete { + errors: [Error!] + order: Order +} + +type CheckoutCountableConnection { + pageInfo: PageInfo! + edges: [CheckoutCountableEdge!]! + totalCount: Int +} + +type CheckoutCountableEdge { + node: Checkout! + cursor: String! +} + +type CheckoutCreate { + errors: [Error!] + created: Boolean + checkout: Checkout +} + +input CheckoutCreateInput { + lines: [CheckoutLineInput]! + email: String + shippingAddress: AddressInput + billingAddress: AddressInput +} + +type CheckoutCustomerAttach { + errors: [Error!] + checkout: Checkout +} + +type CheckoutCustomerDetach { + errors: [Error!] + checkout: Checkout +} + +type CheckoutEmailUpdate { + errors: [Error!] + checkout: Checkout +} + +type CheckoutLine implements Node { + id: ID! + variant: ProductVariant! + quantity: Int! + totalPrice: TaxedMoney + requiresShipping: Boolean +} + +type CheckoutLineCountableConnection { + pageInfo: PageInfo! + edges: [CheckoutLineCountableEdge!]! + totalCount: Int +} + +type CheckoutLineCountableEdge { + node: CheckoutLine! + cursor: String! +} + +type CheckoutLineDelete { + errors: [Error!] + checkout: Checkout +} + +input CheckoutLineInput { + quantity: Int! + variantId: ID! +} + +type CheckoutLinesAdd { + errors: [Error!] + checkout: Checkout +} + +type CheckoutLinesUpdate { + errors: [Error!] + checkout: Checkout +} + +type CheckoutPaymentCreate { + errors: [Error!] + checkout: Checkout + payment: Payment +} + +type CheckoutRemovePromoCode { + errors: [Error!] + checkout: Checkout +} + +type CheckoutShippingAddressUpdate { + errors: [Error!] + checkout: Checkout +} + +type CheckoutShippingMethodUpdate { + errors: [Error!] + checkout: Checkout +} + +type CheckoutUpdateMeta { + errors: [Error!] + checkout: Checkout +} + +type CheckoutUpdatePrivateMeta { + errors: [Error!] + checkout: Checkout +} + +type CheckoutUpdateVoucher { + errors: [Error!] + checkout: Checkout +} + +type ChoiceValue { + raw: String + verbose: String +} + +type Collection implements Node { + publicationDate: Date + isPublished: Boolean! + seoTitle: String + seoDescription: String + id: ID! + name: String! + slug: String! + description: String! + descriptionJson: JSONString! + privateMeta: [MetaStore]! + meta: [MetaStore]! + products(before: String, after: String, first: Int, last: Int): ProductCountableConnection + backgroundImage(size: Int): Image + publishedDate: Date @deprecated(reason: "publishedDate is deprecated, use publicationDate instead") + translation(languageCode: LanguageCodeEnum!): CollectionTranslation +} + +type CollectionAddProducts { + errors: [Error!] + collection: Collection +} + +type CollectionBulkDelete { + errors: [Error!] + count: Int! +} + +type CollectionBulkPublish { + errors: [Error!] + count: Int! +} + +type CollectionClearMeta { + errors: [Error!] + collection: Collection +} + +type CollectionClearPrivateMeta { + errors: [Error!] + collection: Collection +} + +type CollectionCountableConnection { + pageInfo: PageInfo! + edges: [CollectionCountableEdge!]! + totalCount: Int +} + +type CollectionCountableEdge { + node: Collection! + cursor: String! +} + +type CollectionCreate { + errors: [Error!] + collection: Collection +} + +input CollectionCreateInput { + isPublished: Boolean + name: String + slug: String + description: String + descriptionJson: JSONString + backgroundImage: Upload + backgroundImageAlt: String + seo: SeoInput + publicationDate: Date + products: [ID] +} + +type CollectionDelete { + errors: [Error!] + collection: Collection +} + +input CollectionFilterInput { + published: CollectionPublished + search: String +} + +input CollectionInput { + isPublished: Boolean + name: String + slug: String + description: String + descriptionJson: JSONString + backgroundImage: Upload + backgroundImageAlt: String + seo: SeoInput + publicationDate: Date +} + +enum CollectionPublished { + PUBLISHED + HIDDEN +} + +type CollectionRemoveProducts { + errors: [Error!] + collection: Collection +} + +type CollectionReorderProducts { + errors: [Error!] + collection: Collection +} + +type CollectionTranslate { + errors: [Error!] + collection: Collection +} + +type CollectionTranslation implements Node { + seoTitle: String + seoDescription: String + id: ID! + name: String! + description: String! + descriptionJson: JSONString! + language: LanguageDisplay! +} + +type CollectionUpdate { + errors: [Error!] + collection: Collection +} + +type CollectionUpdateMeta { + errors: [Error!] + collection: Collection +} + +type CollectionUpdatePrivateMeta { + errors: [Error!] + collection: Collection +} + +type ConfigurationItem { + name: String! + value: String! + type: ConfigurationTypeFieldEnum + helpText: String + label: String +} + +input ConfigurationItemInput { + name: String! + value: String! +} + +enum ConfigurationTypeFieldEnum { + STRING + BOOLEAN +} + +enum CountryCode { + AF + AX + AL + DZ + AS + AD + AO + AI + AQ + AG + AR + AM + AW + AU + AT + AZ + BS + BH + BD + BB + BY + BE + BZ + BJ + BM + BT + BO + BQ + BA + BW + BV + BR + IO + BN + BG + BF + BI + CV + KH + CM + CA + KY + CF + TD + CL + CN + CX + CC + CO + KM + CG + CD + CK + CR + CI + HR + CU + CW + CY + CZ + DK + DJ + DM + DO + EC + EG + SV + GQ + ER + EE + SZ + ET + EU + FK + FO + FJ + FI + FR + GF + PF + TF + GA + GM + GE + DE + GH + GI + GR + GL + GD + GP + GU + GT + GG + GN + GW + GY + HT + HM + VA + HN + HK + HU + IS + IN + ID + IR + IQ + IE + IM + IL + IT + JM + JP + JE + JO + KZ + KE + KI + KW + KG + LA + LV + LB + LS + LR + LY + LI + LT + LU + MO + MK + MG + MW + MY + MV + ML + MT + MH + MQ + MR + MU + YT + MX + FM + MD + MC + MN + ME + MS + MA + MZ + MM + NA + NR + NP + NL + NC + NZ + NI + NE + NG + NU + NF + KP + MP + NO + OM + PK + PW + PS + PA + PG + PY + PE + PH + PN + PL + PT + PR + QA + RE + RO + RU + RW + BL + SH + KN + LC + MF + PM + VC + WS + SM + ST + SA + SN + RS + SC + SL + SG + SX + SK + SI + SB + SO + ZA + GS + KR + SS + ES + LK + SD + SR + SJ + SE + CH + SY + TW + TJ + TZ + TH + TL + TG + TK + TO + TT + TN + TR + TM + TC + TV + UG + UA + AE + GB + UM + US + UY + UZ + VU + VE + VN + VG + VI + WF + EH + YE + ZM + ZW +} + +type CountryDisplay { + code: String! + country: String! + vat: VAT +} + +type CreateToken { + token: String + errors: [Error]! + user: User +} + +type CreditCard { + brand: String! + firstDigits: String! + lastDigits: String! + expMonth: Int! + expYear: Int! +} + +type CustomerAddressCreate { + errors: [Error!] + user: User + address: Address +} + +type CustomerBulkDelete { + errors: [Error!] + count: Int! +} + +type CustomerCreate { + errors: [Error!] + user: User +} + +type CustomerDelete { + errors: [Error!] + user: User +} + +type CustomerEvent implements Node { + id: ID! + date: DateTime + type: CustomerEventsEnum + user(id: ID): User + message: String + count: Int + order: Order + orderLine: OrderLine +} + +enum CustomerEventsEnum { + ACCOUNT_CREATED + PASSWORD_RESET_LINK_SENT + PASSWORD_RESET + PLACED_ORDER + NOTE_ADDED_TO_ORDER + DIGITAL_LINK_DOWNLOADED + CUSTOMER_DELETED + NAME_ASSIGNED + EMAIL_ASSIGNED + NOTE_ADDED +} + +input CustomerFilterInput { + dateJoined: DateRangeInput + moneySpent: PriceRangeInput + numberOfOrders: IntRangeInput + placedOrders: DateRangeInput + search: String +} + +input CustomerInput { + defaultBillingAddress: AddressInput + defaultShippingAddress: AddressInput + firstName: String + lastName: String + email: String + isActive: Boolean + note: String +} + +type CustomerPasswordReset { + errors: [Error!] +} + +input CustomerPasswordResetInput { + email: String! +} + +type CustomerRegister { + errors: [Error!] + user: User +} + +input CustomerRegisterInput { + email: String! + password: String! +} + +type CustomerSetDefaultAddress { + errors: [Error!] + user: User +} + +type CustomerUpdate { + errors: [Error!] + user: User +} + +scalar Date + +input DateRangeInput { + gte: Date + lte: Date +} + +scalar DateTime + +input DateTimeRangeInput { + gte: DateTime + lte: DateTime +} + +scalar Decimal + +type DigitalContent implements Node { + useDefaultSettings: Boolean! + automaticFulfillment: Boolean! + productVariant: ProductVariant! + contentFile: String! + maxDownloads: Int + urlValidDays: Int + urls: [DigitalContentUrl] + id: ID! + privateMeta: [MetaStore]! + meta: [MetaStore]! +} + +type DigitalContentCountableConnection { + pageInfo: PageInfo! + edges: [DigitalContentCountableEdge!]! + totalCount: Int +} + +type DigitalContentCountableEdge { + node: DigitalContent! + cursor: String! +} + +type DigitalContentCreate { + errors: [Error!] + variant: ProductVariant + content: DigitalContent +} + +type DigitalContentDelete { + errors: [Error!] + variant: ProductVariant +} + +input DigitalContentInput { + useDefaultSettings: Boolean! + maxDownloads: Int + urlValidDays: Int + automaticFulfillment: Boolean +} + +type DigitalContentUpdate { + errors: [Error!] + variant: ProductVariant + content: DigitalContent +} + +input DigitalContentUploadInput { + useDefaultSettings: Boolean! + maxDownloads: Int + urlValidDays: Int + automaticFulfillment: Boolean + contentFile: Upload! +} + +type DigitalContentUrl implements Node { + token: UUID! + content: DigitalContent! + created: DateTime! + downloadNum: Int! + id: ID! + url: String +} + +type DigitalContentUrlCreate { + errors: [Error!] + digitalContentUrl: DigitalContentUrl +} + +input DigitalContentUrlCreateInput { + content: ID! +} + +enum DiscountStatusEnum { + ACTIVE + EXPIRED + SCHEDULED +} + +enum DiscountValueTypeEnum { + FIXED + PERCENTAGE +} + +type Domain { + host: String! + sslEnabled: Boolean! + url: String! +} + +type DraftOrderBulkDelete { + errors: [Error!] + count: Int! +} + +type DraftOrderComplete { + errors: [Error!] + order: Order +} + +type DraftOrderCreate { + errors: [Error!] + order: Order +} + +input DraftOrderCreateInput { + billingAddress: AddressInput + user: ID + userEmail: String + discount: Decimal + shippingAddress: AddressInput + shippingMethod: ID + voucher: ID + lines: [OrderLineCreateInput] +} + +type DraftOrderDelete { + errors: [Error!] + order: Order +} + +input DraftOrderInput { + billingAddress: AddressInput + user: ID + userEmail: String + discount: Decimal + shippingAddress: AddressInput + shippingMethod: ID + voucher: ID +} + +type DraftOrderLineDelete { + errors: [Error!] + order: Order + orderLine: OrderLine +} + +type DraftOrderLineUpdate { + errors: [Error!] + order: Order + orderLine: OrderLine +} + +type DraftOrderLinesBulkDelete { + errors: [Error!] + count: Int! +} + +type DraftOrderLinesCreate { + errors: [Error!] + order: Order + orderLines: [OrderLine!] +} + +type DraftOrderUpdate { + errors: [Error!] + order: Order +} + +type Error { + field: String + message: String +} + +type Fulfillment implements Node { + id: ID! + fulfillmentOrder: Int! + status: FulfillmentStatus! + trackingNumber: String! + shippingDate: DateTime! + lines: [FulfillmentLine] + statusDisplay: String +} + +type FulfillmentCancel { + errors: [Error!] + fulfillment: Fulfillment + order: Order +} + +input FulfillmentCancelInput { + restock: Boolean +} + +type FulfillmentCreate { + errors: [Error!] + fulfillment: Fulfillment + order: Order +} + +input FulfillmentCreateInput { + trackingNumber: String + notifyCustomer: Boolean + lines: [FulfillmentLineInput]! +} + +type FulfillmentLine implements Node { + id: ID! + quantity: Int! + orderLine: OrderLine +} + +input FulfillmentLineInput { + orderLineId: ID + quantity: Int +} + +enum FulfillmentStatus { + FULFILLED + CANCELED +} + +type FulfillmentUpdateTracking { + errors: [Error!] + fulfillment: Fulfillment + order: Order +} + +input FulfillmentUpdateTrackingInput { + trackingNumber: String + notifyCustomer: Boolean +} + +enum GatewaysEnum { + DUMMY + BRAINTREE + RAZORPAY + STRIPE +} + +scalar GenericScalar + +type Geolocalization { + country: CountryDisplay +} + +type GiftCard implements Node { + code: String + user: User + created: DateTime! + startDate: Date! + endDate: Date + lastUsedOn: DateTime + isActive: Boolean! + initialBalance: Money + currentBalance: Money + id: ID! + displayCode: String +} + +type GiftCardActivate { + errors: [Error!] + giftCard: GiftCard +} + +type GiftCardCountableConnection { + pageInfo: PageInfo! + edges: [GiftCardCountableEdge!]! + totalCount: Int +} + +type GiftCardCountableEdge { + node: GiftCard! + cursor: String! +} + +type GiftCardCreate { + errors: [Error!] + giftCard: GiftCard +} + +input GiftCardCreateInput { + startDate: Date + endDate: Date + balance: Decimal + userEmail: String + code: String +} + +type GiftCardDeactivate { + errors: [Error!] + giftCard: GiftCard +} + +type GiftCardUpdate { + errors: [Error!] + giftCard: GiftCard +} + +input GiftCardUpdateInput { + startDate: Date + endDate: Date + balance: Decimal + userEmail: String +} + +type HomepageCollectionUpdate { + errors: [Error!] + shop: Shop +} + +type Image { + url: String! + alt: String +} + +input IntRangeInput { + gte: Int + lte: Int +} + +scalar JSONString + +enum LanguageCodeEnum { + AR + AZ + BG + BN + CA + CS + DA + DE + EL + EN + ES + ES_CO + ET + FA + FR + HI + HU + HY + ID + IS + IT + JA + KO + LT + MN + NB + NL + PL + PT + PT_BR + RO + RU + SK + SQ + SR + SW + SV + TH + TR + UK + VI + ZH_HANS + ZH_HANT +} + +type LanguageDisplay { + code: LanguageCodeEnum! + language: String! +} + +type LoggedUserUpdate { + errors: [Error!] + user: User +} + +type Margin { + start: Int + stop: Int +} + +type Menu implements Node { + id: ID! + name: String! + items: [MenuItem] +} + +type MenuBulkDelete { + errors: [Error!] + count: Int! +} + +type MenuCountableConnection { + pageInfo: PageInfo! + edges: [MenuCountableEdge!]! + totalCount: Int +} + +type MenuCountableEdge { + node: Menu! + cursor: String! +} + +type MenuCreate { + errors: [Error!] + menu: Menu +} + +input MenuCreateInput { + name: String! + items: [MenuItemInput] +} + +type MenuDelete { + errors: [Error!] + menu: Menu +} + +input MenuInput { + name: String +} + +type MenuItem implements Node { + id: ID! + sortOrder: Int + menu: Menu! + name: String! + parent: MenuItem + category: Category + collection: Collection + page: Page + level: Int! + children: [MenuItem] + url: String + translation(languageCode: LanguageCodeEnum!): MenuItemTranslation +} + +type MenuItemBulkDelete { + errors: [Error!] + count: Int! +} + +type MenuItemCountableConnection { + pageInfo: PageInfo! + edges: [MenuItemCountableEdge!]! + totalCount: Int +} + +type MenuItemCountableEdge { + node: MenuItem! + cursor: String! +} + +type MenuItemCreate { + errors: [Error!] + menuItem: MenuItem +} + +input MenuItemCreateInput { + name: String! + url: String + category: ID + collection: ID + page: ID + menu: ID! + parent: ID +} + +type MenuItemDelete { + errors: [Error!] + menuItem: MenuItem +} + +input MenuItemInput { + name: String + url: String + category: ID + collection: ID + page: ID +} + +type MenuItemMove { + errors: [Error!] + menu: Menu +} + +input MenuItemMoveInput { + itemId: ID! + parentId: ID + sortOrder: Int +} + +type MenuItemTranslate { + errors: [Error!] + menuItem: MenuItem +} + +type MenuItemTranslation implements Node { + id: ID! + name: String! + language: LanguageDisplay! +} + +type MenuItemUpdate { + errors: [Error!] + menuItem: MenuItem +} + +type MenuUpdate { + errors: [Error!] + menu: Menu +} + +type MetaClientStore { + name: String! + metadata: [MetaItem]! +} + +input MetaInput { + namespace: String! + clientName: String! + key: String! + value: String! +} + +type MetaItem { + key: String! + value: String! +} + +input MetaPath { + namespace: String! + clientName: String! + key: String! +} + +type MetaStore { + namespace: String! + clients: [MetaClientStore]! +} + +type Money { + currency: String! + amount: Float! + localized: String! +} + +type MoneyRange { + start: Money + stop: Money +} + +input MoveProductInput { + productId: ID! + sortOrder: Int +} + +type Mutations { + authorizationKeyAdd(input: AuthorizationKeyInput!, keyType: AuthorizationKeyType!): AuthorizationKeyAdd + authorizationKeyDelete(keyType: AuthorizationKeyType!): AuthorizationKeyDelete + homepageCollectionUpdate(collection: ID): HomepageCollectionUpdate + shopDomainUpdate(input: SiteDomainInput): ShopDomainUpdate + shopSettingsUpdate(input: ShopSettingsInput!): ShopSettingsUpdate + shopFetchTaxRates: ShopFetchTaxRates + shopSettingsTranslate(input: ShopSettingsTranslationInput!, languageCode: LanguageCodeEnum!): ShopSettingsTranslate + shopAddressUpdate(input: AddressInput): ShopAddressUpdate + shippingPriceCreate(input: ShippingPriceInput!): ShippingPriceCreate + shippingPriceDelete(id: ID!): ShippingPriceDelete + shippingPriceBulkDelete(ids: [ID]!): ShippingPriceBulkDelete + shippingPriceUpdate(id: ID!, input: ShippingPriceInput!): ShippingPriceUpdate + shippingPriceTranslate(id: ID!, input: NameTranslationInput!, languageCode: LanguageCodeEnum!): ShippingPriceTranslate + shippingZoneCreate(input: ShippingZoneInput!): ShippingZoneCreate + shippingZoneDelete(id: ID!): ShippingZoneDelete + shippingZoneBulkDelete(ids: [ID]!): ShippingZoneBulkDelete + shippingZoneUpdate(id: ID!, input: ShippingZoneInput!): ShippingZoneUpdate + attributeCreate(input: AttributeCreateInput!): AttributeCreate + attributeDelete(id: ID!): AttributeDelete + attributeBulkDelete(ids: [ID]!): AttributeBulkDelete + attributeAssign(operations: [AttributeAssignInput]!, productTypeId: ID!): AttributeAssign + attributeUnassign(attributeIds: [ID]!, productTypeId: ID!): AttributeUnassign + attributeUpdate(id: ID!, input: AttributeUpdateInput!): AttributeUpdate + attributeTranslate(id: ID!, input: NameTranslationInput!, languageCode: LanguageCodeEnum!): AttributeTranslate + attributeUpdateMetadata(id: ID!, input: MetaInput!): AttributeUpdateMeta + attributeClearMetadata(id: ID!, input: MetaPath!): AttributeClearMeta + attributeUpdatePrivateMetadata(id: ID!, input: MetaInput!): AttributeUpdatePrivateMeta + attributeClearPrivateMetadata(id: ID!, input: MetaPath!): AttributeClearPrivateMeta + attributeValueCreate(attribute: ID!, input: AttributeValueCreateInput!): AttributeValueCreate + attributeValueDelete(id: ID!): AttributeValueDelete + attributeValueBulkDelete(ids: [ID]!): AttributeValueBulkDelete + attributeValueUpdate(id: ID!, input: AttributeValueCreateInput!): AttributeValueUpdate + attributeValueTranslate(id: ID!, input: NameTranslationInput!, languageCode: LanguageCodeEnum!): AttributeValueTranslate + attributeReorderValues(attributeId: ID!, moves: [ReorderInput]!): AttributeReorderValues + categoryCreate(input: CategoryInput!, parent: ID): CategoryCreate + categoryDelete(id: ID!): CategoryDelete + categoryBulkDelete(ids: [ID]!): CategoryBulkDelete + categoryUpdate(id: ID!, input: CategoryInput!): CategoryUpdate + categoryTranslate(id: ID!, input: TranslationInput!, languageCode: LanguageCodeEnum!): CategoryTranslate + categoryUpdateMetadata(id: ID!, input: MetaInput!): CategoryUpdateMeta + categoryClearMetadata(id: ID!, input: MetaPath!): CategoryClearMeta + categoryUpdatePrivateMetadata(id: ID!, input: MetaInput!): CategoryUpdatePrivateMeta + categoryClearPrivateMetadata(id: ID!, input: MetaPath!): CategoryClearPrivateMeta + collectionAddProducts(collectionId: ID!, products: [ID]!): CollectionAddProducts + collectionCreate(input: CollectionCreateInput!): CollectionCreate + collectionDelete(id: ID!): CollectionDelete + collectionReorderProducts(collectionId: ID!, moves: [MoveProductInput]!): CollectionReorderProducts + collectionBulkDelete(ids: [ID]!): CollectionBulkDelete + collectionBulkPublish(ids: [ID]!, isPublished: Boolean!): CollectionBulkPublish + collectionRemoveProducts(collectionId: ID!, products: [ID]!): CollectionRemoveProducts + collectionUpdate(id: ID!, input: CollectionInput!): CollectionUpdate + collectionTranslate(id: ID!, input: TranslationInput!, languageCode: LanguageCodeEnum!): CollectionTranslate + collectionUpdateMetadata(id: ID!, input: MetaInput!): CollectionUpdateMeta + collectionClearMetadata(id: ID!, input: MetaPath!): CollectionClearMeta + collectionUpdatePrivateMetadata(id: ID!, input: MetaInput!): CollectionUpdatePrivateMeta + collectionClearPrivateMetadata(id: ID!, input: MetaPath!): CollectionClearPrivateMeta + productCreate(input: ProductCreateInput!): ProductCreate + productDelete(id: ID!): ProductDelete + productBulkDelete(ids: [ID]!): ProductBulkDelete + productBulkPublish(ids: [ID]!, isPublished: Boolean!): ProductBulkPublish + productUpdate(id: ID!, input: ProductInput!): ProductUpdate + productTranslate(id: ID!, input: TranslationInput!, languageCode: LanguageCodeEnum!): ProductTranslate + productUpdateMetadata(id: ID!, input: MetaInput!): ProductUpdateMeta + productClearMetadata(id: ID!, input: MetaPath!): ProductClearMeta + productUpdatePrivateMetadata(id: ID!, input: MetaInput!): ProductUpdatePrivateMeta + productClearPrivateMetadata(id: ID!, input: MetaPath!): ProductClearPrivateMeta + productImageCreate(input: ProductImageCreateInput!): ProductImageCreate + productImageDelete(id: ID!): ProductImageDelete + productImageBulkDelete(ids: [ID]!): ProductImageBulkDelete + productImageReorder(imagesIds: [ID]!, productId: ID!): ProductImageReorder + productImageUpdate(id: ID!, input: ProductImageUpdateInput!): ProductImageUpdate + productTypeCreate(input: ProductTypeInput!): ProductTypeCreate + productTypeDelete(id: ID!): ProductTypeDelete + productTypeBulkDelete(ids: [ID]!): ProductTypeBulkDelete + productTypeUpdate(id: ID!, input: ProductTypeInput!): ProductTypeUpdate + productTypeReorderAttributes(moves: [ReorderInput]!, productTypeId: ID!, type: AttributeTypeEnum!): ProductTypeReorderAttributes + productTypeUpdateMetadata(id: ID!, input: MetaInput!): ProductTypeUpdateMeta + productTypeClearMetadata(id: ID!, input: MetaPath!): ProductTypeClearMeta + productTypeUpdatePrivateMetadata(id: ID!, input: MetaInput!): ProductTypeUpdatePrivateMeta + productTypeClearPrivateMetadata(id: ID!, input: MetaPath!): ProductTypeClearPrivateMeta + digitalContentCreate(input: DigitalContentUploadInput!, variantId: ID!): DigitalContentCreate + digitalContentDelete(variantId: ID!): DigitalContentDelete + digitalContentUpdate(input: DigitalContentInput!, variantId: ID!): DigitalContentUpdate + digitalContentUrlCreate(input: DigitalContentUrlCreateInput!): DigitalContentUrlCreate + productVariantCreate(input: ProductVariantCreateInput!): ProductVariantCreate + productVariantDelete(id: ID!): ProductVariantDelete + productVariantBulkDelete(ids: [ID]!): ProductVariantBulkDelete + productVariantUpdate(id: ID!, input: ProductVariantInput!): ProductVariantUpdate + productVariantTranslate(id: ID!, input: NameTranslationInput!, languageCode: LanguageCodeEnum!): ProductVariantTranslate + productVariantUpdateMetadata(id: ID!, input: MetaInput!): ProductVariantUpdateMeta + productVariantClearMetadata(id: ID!, input: MetaPath!): ProductVariantClearMeta + productVariantUpdatePrivateMetadata(id: ID!, input: MetaInput!): ProductVariantUpdatePrivateMeta + productVariantClearPrivateMetadata(id: ID!, input: MetaPath!): ProductVariantClearPrivateMeta + variantImageAssign(imageId: ID!, variantId: ID!): VariantImageAssign + variantImageUnassign(imageId: ID!, variantId: ID!): VariantImageUnassign + paymentCapture(amount: Decimal, paymentId: ID!): PaymentCapture + paymentRefund(amount: Decimal, paymentId: ID!): PaymentRefund + paymentVoid(paymentId: ID!): PaymentVoid + pageCreate(input: PageInput!): PageCreate + pageDelete(id: ID!): PageDelete + pageBulkDelete(ids: [ID]!): PageBulkDelete + pageBulkPublish(ids: [ID]!, isPublished: Boolean!): PageBulkPublish + pageUpdate(id: ID!, input: PageInput!): PageUpdate + pageTranslate(id: ID!, input: PageTranslationInput!, languageCode: LanguageCodeEnum!): PageTranslate + draftOrderComplete(id: ID!): DraftOrderComplete + draftOrderCreate(input: DraftOrderCreateInput!): DraftOrderCreate + draftOrderDelete(id: ID!): DraftOrderDelete + draftOrderBulkDelete(ids: [ID]!): DraftOrderBulkDelete + draftOrderLinesBulkDelete(ids: [ID]!): DraftOrderLinesBulkDelete + draftOrderLinesCreate(id: ID!, input: [OrderLineCreateInput]!): DraftOrderLinesCreate + draftOrderLineDelete(id: ID!): DraftOrderLineDelete + draftOrderLineUpdate(id: ID!, input: OrderLineInput!): DraftOrderLineUpdate + draftOrderUpdate(id: ID!, input: DraftOrderInput!): DraftOrderUpdate + orderAddNote(order: ID!, input: OrderAddNoteInput!): OrderAddNote + orderCancel(id: ID!, restock: Boolean!): OrderCancel + orderCapture(amount: Decimal!, id: ID!): OrderCapture + orderFulfillmentCancel(id: ID!, input: FulfillmentCancelInput!): FulfillmentCancel + orderFulfillmentCreate(input: FulfillmentCreateInput!, order: ID): FulfillmentCreate + orderFulfillmentUpdateTracking(id: ID!, input: FulfillmentUpdateTrackingInput!): FulfillmentUpdateTracking + orderMarkAsPaid(id: ID!): OrderMarkAsPaid + orderRefund(amount: Decimal!, id: ID!): OrderRefund + orderUpdate(id: ID!, input: OrderUpdateInput!): OrderUpdate + orderUpdateShipping(order: ID!, input: OrderUpdateShippingInput): OrderUpdateShipping + orderVoid(id: ID!): OrderVoid + orderBulkCancel(ids: [ID]!, restock: Boolean!): OrderBulkCancel + assignNavigation(menu: ID, navigationType: NavigationType!): AssignNavigation + menuCreate(input: MenuCreateInput!): MenuCreate + menuDelete(id: ID!): MenuDelete + menuBulkDelete(ids: [ID]!): MenuBulkDelete + menuUpdate(id: ID!, input: MenuInput!): MenuUpdate + menuItemCreate(input: MenuItemCreateInput!): MenuItemCreate + menuItemDelete(id: ID!): MenuItemDelete + menuItemBulkDelete(ids: [ID]!): MenuItemBulkDelete + menuItemUpdate(id: ID!, input: MenuItemInput!): MenuItemUpdate + menuItemTranslate(id: ID!, input: NameTranslationInput!, languageCode: LanguageCodeEnum!): MenuItemTranslate + menuItemMove(menu: ID!, moves: [MenuItemMoveInput]!): MenuItemMove + giftCardActivate(id: ID!): GiftCardActivate + giftCardCreate(input: GiftCardCreateInput!): GiftCardCreate + giftCardDeactivate(id: ID!): GiftCardDeactivate + giftCardUpdate(id: ID!, input: GiftCardUpdateInput!): GiftCardUpdate + pluginConfigurationUpdate(id: ID!, input: PluginConfigurationUpdateInput!): PluginConfigurationUpdate + saleCreate(input: SaleInput!): SaleCreate + saleDelete(id: ID!): SaleDelete + saleBulkDelete(ids: [ID]!): SaleBulkDelete + saleUpdate(id: ID!, input: SaleInput!): SaleUpdate + saleCataloguesAdd(id: ID!, input: CatalogueInput!): SaleAddCatalogues + saleCataloguesRemove(id: ID!, input: CatalogueInput!): SaleRemoveCatalogues + saleTranslate(id: ID!, input: NameTranslationInput!, languageCode: LanguageCodeEnum!): SaleTranslate + voucherCreate(input: VoucherInput!): VoucherCreate + voucherDelete(id: ID!): VoucherDelete + voucherBulkDelete(ids: [ID]!): VoucherBulkDelete + voucherUpdate(id: ID!, input: VoucherInput!): VoucherUpdate + voucherCataloguesAdd(id: ID!, input: CatalogueInput!): VoucherAddCatalogues + voucherCataloguesRemove(id: ID!, input: CatalogueInput!): VoucherRemoveCatalogues + voucherTranslate(id: ID!, input: NameTranslationInput!, languageCode: LanguageCodeEnum!): VoucherTranslate + tokenCreate(email: String!, password: String!): CreateToken + tokenRefresh(token: String!): Refresh + tokenVerify(token: String!): VerifyToken + checkoutAddPromoCode(checkoutId: ID!, promoCode: String!): CheckoutAddPromoCode + checkoutBillingAddressUpdate(billingAddress: AddressInput!, checkoutId: ID!): CheckoutBillingAddressUpdate + checkoutComplete(checkoutId: ID!, storeSource: Boolean = false): CheckoutComplete + checkoutCreate(input: CheckoutCreateInput!): CheckoutCreate + checkoutCustomerAttach(checkoutId: ID!, customerId: ID!): CheckoutCustomerAttach + checkoutCustomerDetach(checkoutId: ID!): CheckoutCustomerDetach + checkoutEmailUpdate(checkoutId: ID, email: String!): CheckoutEmailUpdate + checkoutLineDelete(checkoutId: ID!, lineId: ID): CheckoutLineDelete + checkoutLinesAdd(checkoutId: ID!, lines: [CheckoutLineInput]!): CheckoutLinesAdd + checkoutLinesUpdate(checkoutId: ID!, lines: [CheckoutLineInput]!): CheckoutLinesUpdate + checkoutRemovePromoCode(checkoutId: ID!, promoCode: String!): CheckoutRemovePromoCode + checkoutPaymentCreate(checkoutId: ID!, input: PaymentInput!): CheckoutPaymentCreate + checkoutShippingAddressUpdate(checkoutId: ID!, shippingAddress: AddressInput!): CheckoutShippingAddressUpdate + checkoutShippingMethodUpdate(checkoutId: ID, shippingMethodId: ID!): CheckoutShippingMethodUpdate + checkoutUpdateVoucher(checkoutId: ID!, voucherCode: String): CheckoutUpdateVoucher + checkoutUpdateMetadata(id: ID!, input: MetaInput!): CheckoutUpdateMeta + checkoutClearMetadata(id: ID!, input: MetaPath!): CheckoutClearStoredMeta + checkoutUpdatePrivateMetadata(id: ID!, input: MetaInput!): CheckoutUpdatePrivateMeta + checkoutClearPrivateMetadata(id: ID!, input: MetaPath!): CheckoutClearStoredPrivateMeta + requestPasswordReset(email: String!): RequestPasswordReset + setPassword(id: ID!, input: SetPasswordInput!): SetPassword + userUpdateMetadata(id: ID!, input: MetaInput!): UserUpdateMeta + userClearStoredMetadata(id: ID!, input: MetaPath!): UserClearStoredMeta + accountAddressCreate(input: AddressInput!, type: AddressTypeEnum): AccountAddressCreate + accountAddressUpdate(id: ID!, input: AddressInput!): AccountAddressUpdate + accountAddressDelete(id: ID!): AccountAddressDelete + accountSetDefaultAddress(id: ID!, type: AddressTypeEnum!): AccountSetDefaultAddress + accountRegister(input: AccountRegisterInput!): AccountRegister + accountUpdate(input: AccountInput!): AccountUpdate + accountRequestDeletion: AccountRequestDeletion + accountDelete(token: String!): AccountDelete + customerPasswordReset(input: CustomerPasswordResetInput!): CustomerPasswordReset + customerAddressCreate(input: AddressInput!, type: AddressTypeEnum): CustomerAddressCreate + customerSetDefaultAddress(id: ID!, type: AddressTypeEnum!): CustomerSetDefaultAddress + customerRegister(input: CustomerRegisterInput!): CustomerRegister + loggedUserUpdate(input: UserAddressInput!): LoggedUserUpdate + addressCreate(input: AddressInput!, userId: ID!): AddressCreate + addressUpdate(id: ID!, input: AddressInput!): AddressUpdate + addressDelete(id: ID!): AddressDelete + addressSetDefault(addressId: ID!, type: AddressTypeEnum!, userId: ID!): AddressSetDefault + customerCreate(input: UserCreateInput!): CustomerCreate + customerUpdate(id: ID!, input: CustomerInput!): CustomerUpdate + customerDelete(id: ID!): CustomerDelete + customerBulkDelete(ids: [ID]!): CustomerBulkDelete + staffCreate(input: StaffCreateInput!): StaffCreate + staffUpdate(id: ID!, input: StaffInput!): StaffUpdate + staffDelete(id: ID!): StaffDelete + staffBulkDelete(ids: [ID]!): StaffBulkDelete + userAvatarUpdate(image: Upload!): UserAvatarUpdate + userAvatarDelete: UserAvatarDelete + userBulkSetActive(ids: [ID]!, isActive: Boolean!): UserBulkSetActive + userUpdatePrivateMetadata(id: ID!, input: MetaInput!): UserUpdatePrivateMeta + userClearStoredPrivateMetadata(id: ID!, input: MetaPath!): UserClearStoredPrivateMeta + passwordReset(email: String!): PasswordReset +} + +input NameTranslationInput { + name: String +} + +type Navigation { + main: Menu + secondary: Menu +} + +enum NavigationType { + MAIN + SECONDARY +} + +interface Node { + id: ID! +} + +type Order implements Node { + id: ID! + created: DateTime! + status: OrderStatus! + user: User + languageCode: String! + trackingClientId: String! + billingAddress: Address + shippingAddress: Address + shippingMethod: ShippingMethod + shippingPrice: TaxedMoney + shippingMethodName: String + token: String! + voucher: Voucher + giftCards: [GiftCard] + discountAmount: Money + discountName: String! + translatedDiscountName: String! + displayGrossPrices: Boolean! + customerNote: String! + weight: Weight + fulfillments: [Fulfillment]! + lines: [OrderLine]! + actions: [OrderAction]! + availableShippingMethods: [ShippingMethod] + number: String + isPaid: Boolean + paymentStatus: PaymentChargeStatusEnum + paymentStatusDisplay: String + payments: [Payment] + total: TaxedMoney + subtotal: TaxedMoney + statusDisplay: String + canFinalize: Boolean! + totalAuthorized: Money + totalCaptured: Money + events: [OrderEvent] + totalBalance: Money! + userEmail: String + isShippingRequired: Boolean! +} + +enum OrderAction { + CAPTURE + MARK_AS_PAID + REFUND + VOID +} + +type OrderAddNote { + errors: [Error!] + order: Order + event: OrderEvent +} + +input OrderAddNoteInput { + message: String +} + +type OrderBulkCancel { + errors: [Error!] + count: Int! +} + +type OrderCancel { + errors: [Error!] + order: Order +} + +type OrderCapture { + errors: [Error!] + order: Order +} + +type OrderCountableConnection { + pageInfo: PageInfo! + edges: [OrderCountableEdge!]! + totalCount: Int +} + +type OrderCountableEdge { + node: Order! + cursor: String! +} + +enum OrderDirection { + ASC + DESC +} + +input OrderDraftFilterInput { + customer: String + created: DateRangeInput +} + +type OrderEvent implements Node { + id: ID! + date: DateTime + type: OrderEventsEnum + user(id: ID): User + message: String + email: String + emailType: OrderEventsEmailsEnum + amount: Float + paymentId: String + paymentGateway: String + quantity: Int + composedId: String + orderNumber: String + oversoldItems: [String] + lines: [OrderEventOrderLineObject] + fulfilledItems: [FulfillmentLine] +} + +type OrderEventCountableConnection { + pageInfo: PageInfo! + edges: [OrderEventCountableEdge!]! + totalCount: Int +} + +type OrderEventCountableEdge { + node: OrderEvent! + cursor: String! +} + +type OrderEventOrderLineObject { + quantity: Int + orderLine: OrderLine + itemName: String +} + +enum OrderEventsEmailsEnum { + PAYMENT_CONFIRMATION + SHIPPING_CONFIRMATION + TRACKING_UPDATED + ORDER_CONFIRMATION + FULFILLMENT_CONFIRMATION + DIGITAL_LINKS +} + +enum OrderEventsEnum { + DRAFT_CREATED + DRAFT_ADDED_PRODUCTS + DRAFT_REMOVED_PRODUCTS + PLACED + PLACED_FROM_DRAFT + OVERSOLD_ITEMS + CANCELED + ORDER_MARKED_AS_PAID + ORDER_FULLY_PAID + UPDATED_ADDRESS + EMAIL_SENT + PAYMENT_CAPTURED + PAYMENT_REFUNDED + PAYMENT_VOIDED + PAYMENT_FAILED + FULFILLMENT_CANCELED + FULFILLMENT_RESTOCKED_ITEMS + FULFILLMENT_FULFILLED_ITEMS + TRACKING_UPDATED + NOTE_ADDED + OTHER +} + +input OrderFilterInput { + paymentStatus: [PaymentChargeStatusEnum] + status: [OrderStatusFilter] + customer: String + created: DateRangeInput +} + +type OrderLine implements Node { + id: ID! + productName: String! + translatedProductName: String! + productSku: String! + isShippingRequired: Boolean! + quantity: Int! + quantityFulfilled: Int! + taxRate: Float! + digitalContentUrl: DigitalContentUrl + thumbnailUrl(size: Int): String @deprecated(reason: "thumbnailUrl is deprecated, use thumbnail instead") + thumbnail(size: Int): Image + unitPrice: TaxedMoney + variant: ProductVariant +} + +input OrderLineCreateInput { + quantity: Int! + variantId: ID! +} + +input OrderLineInput { + quantity: Int! +} + +type OrderMarkAsPaid { + errors: [Error!] + order: Order +} + +type OrderRefund { + errors: [Error!] + order: Order +} + +enum OrderStatus { + DRAFT + UNFULFILLED + PARTIALLY_FULFILLED + FULFILLED + CANCELED +} + +enum OrderStatusFilter { + READY_TO_FULFILL + READY_TO_CAPTURE + UNFULFILLED + PARTIALLY_FULFILLED + FULFILLED + CANCELED +} + +type OrderUpdate { + errors: [Error!] + order: Order +} + +input OrderUpdateInput { + billingAddress: AddressInput + userEmail: String + shippingAddress: AddressInput +} + +type OrderUpdateShipping { + errors: [Error!] + order: Order +} + +input OrderUpdateShippingInput { + shippingMethod: ID +} + +type OrderVoid { + errors: [Error!] + order: Order +} + +type Page implements Node { + publicationDate: Date + isPublished: Boolean! + seoTitle: String + seoDescription: String + id: ID! + slug: String! + title: String! + content: String! + contentJson: JSONString! + created: DateTime! + availableOn: Date @deprecated(reason: "availableOn is deprecated, use publicationDate instead") + isVisible: Boolean @deprecated(reason: "isVisible is deprecated, use isPublished instead") + translation(languageCode: LanguageCodeEnum!): PageTranslation +} + +type PageBulkDelete { + errors: [Error!] + count: Int! +} + +type PageBulkPublish { + errors: [Error!] + count: Int! +} + +type PageCountableConnection { + pageInfo: PageInfo! + edges: [PageCountableEdge!]! + totalCount: Int +} + +type PageCountableEdge { + node: Page! + cursor: String! +} + +type PageCreate { + errors: [Error!] + page: Page +} + +type PageDelete { + errors: [Error!] + page: Page +} + +type PageInfo { + hasNextPage: Boolean! + hasPreviousPage: Boolean! + startCursor: String + endCursor: String +} + +input PageInput { + slug: String + title: String + content: String + contentJson: JSONString + isPublished: Boolean + publicationDate: String + seo: SeoInput +} + +type PageTranslate { + errors: [Error!] + page: Page +} + +type PageTranslation implements Node { + seoTitle: String + seoDescription: String + id: ID! + title: String! + content: String! + contentJson: JSONString! + language: LanguageDisplay! +} + +input PageTranslationInput { + seoTitle: String + seoDescription: String + title: String + content: String + contentJson: JSONString +} + +type PageUpdate { + errors: [Error!] + page: Page +} + +type PasswordReset { + errors: [Error!] +} + +type Payment implements Node { + id: ID! + gateway: String! + isActive: Boolean! + created: DateTime! + modified: DateTime! + token: String! + checkout: Checkout + order: Order + billingEmail: String! + customerIpAddress: String + extraData: String! + chargeStatus: PaymentChargeStatusEnum! + actions: [OrderAction]! + total: Money + capturedAmount: Money + billingAddress: Address + transactions: [Transaction] + availableCaptureAmount: Money + availableRefundAmount: Money + creditCard: CreditCard +} + +type PaymentCapture { + errors: [Error!] + payment: Payment +} + +enum PaymentChargeStatusEnum { + NOT_CHARGED + PARTIALLY_CHARGED + FULLY_CHARGED + PARTIALLY_REFUNDED + FULLY_REFUNDED +} + +type PaymentCountableConnection { + pageInfo: PageInfo! + edges: [PaymentCountableEdge!]! + totalCount: Int +} + +type PaymentCountableEdge { + node: Payment! + cursor: String! +} + +input PaymentInput { + gateway: GatewaysEnum! + token: String! + amount: Decimal + billingAddress: AddressInput +} + +type PaymentRefund { + errors: [Error!] + payment: Payment +} + +type PaymentSource { + gateway: String! + creditCardInfo: CreditCard +} + +type PaymentVoid { + errors: [Error!] + payment: Payment +} + +type PermissionDisplay { + code: PermissionEnum! + name: String! +} + +enum PermissionEnum { + MANAGE_USERS + MANAGE_STAFF + IMPERSONATE_USERS + MANAGE_DISCOUNTS + MANAGE_GIFT_CARD + MANAGE_PLUGINS + MANAGE_MENUS + MANAGE_ORDERS + MANAGE_PAGES + MANAGE_PRODUCTS + MANAGE_SHIPPING + MANAGE_SETTINGS + MANAGE_TRANSLATIONS +} + +type PluginConfiguration implements Node { + name: String! + description: String! + active: Boolean! + configuration: [ConfigurationItem] + id: ID! +} + +type PluginConfigurationCountableConnection { + pageInfo: PageInfo! + edges: [PluginConfigurationCountableEdge!]! + totalCount: Int +} + +type PluginConfigurationCountableEdge { + node: PluginConfiguration! + cursor: String! +} + +type PluginConfigurationUpdate { + errors: [Error!] + pluginConfiguration: PluginConfiguration +} + +input PluginConfigurationUpdateInput { + active: Boolean + configuration: [ConfigurationItemInput] +} + +input PriceRangeInput { + gte: Float + lte: Float +} + +type Product implements Node { + id: ID! + publicationDate: Date + isPublished: Boolean! + seoTitle: String + seoDescription: String + productType: ProductType! + name: String! + description: String! + descriptionJson: JSONString! + category: Category! + updatedAt: DateTime + chargeTaxes: Boolean! + weight: Weight + privateMeta: [MetaStore]! + meta: [MetaStore]! + url: String! + thumbnailUrl(size: Int): String @deprecated(reason: "thumbnailUrl is deprecated, use\\n thumbnail instead") + thumbnail(size: Int): Image + availability: ProductPricingInfo @deprecated(reason: "Has been renamed to 'pricing'.") + pricing: ProductPricingInfo + isAvailable: Boolean + basePrice: Money + price: Money @deprecated(reason: "Has been replaced by 'basePrice'") + taxRate: TaxRateType @deprecated(reason: "taxRate is deprecated. Use taxType to obtain taxCode for given tax gateway") + taxType: TaxType + attributes: [SelectedAttribute!]! + purchaseCost: MoneyRange + margin: Margin + imageById(id: ID): ProductImage + variants: [ProductVariant] + images: [ProductImage] + collections: [Collection] + availableOn: Date @deprecated(reason: "availableOn is deprecated, use publicationDate instead") + translation(languageCode: LanguageCodeEnum!): ProductTranslation + slug: String! +} + +type ProductBulkDelete { + errors: [Error!] + count: Int! +} + +type ProductBulkPublish { + errors: [Error!] + count: Int! +} + +type ProductClearMeta { + errors: [Error!] + product: Product +} + +type ProductClearPrivateMeta { + errors: [Error!] + product: Product +} + +type ProductCountableConnection { + pageInfo: PageInfo! + edges: [ProductCountableEdge!]! + totalCount: Int +} + +type ProductCountableEdge { + node: Product! + cursor: String! +} + +type ProductCreate { + errors: [Error!] + product: Product +} + +input ProductCreateInput { + attributes: [AttributeValueInput] + publicationDate: Date + category: ID + chargeTaxes: Boolean + collections: [ID] + description: String + descriptionJson: JSONString + isPublished: Boolean + name: String + price: Decimal + basePrice: Decimal + taxRate: TaxRateType + taxCode: String + seo: SeoInput + weight: WeightScalar + sku: String + quantity: Int + trackInventory: Boolean + productType: ID! +} + +type ProductDelete { + errors: [Error!] + product: Product +} + +input ProductFilterInput { + isPublished: Boolean + collections: [ID] + categories: [ID] + price: PriceRangeInput + attributes: [AttributeInput] + stockAvailability: StockAvailability + productType: ID + search: String +} + +type ProductImage implements Node { + sortOrder: Int + id: ID! + alt: String! + url(size: Int): String! +} + +type ProductImageBulkDelete { + errors: [Error!] + count: Int! +} + +type ProductImageCreate { + errors: [Error!] + product: Product + image: ProductImage +} + +input ProductImageCreateInput { + alt: String + image: Upload! + product: ID! +} + +type ProductImageDelete { + errors: [Error!] + product: Product + image: ProductImage +} + +type ProductImageReorder { + errors: [Error!] + product: Product + images: [ProductImage] +} + +type ProductImageUpdate { + errors: [Error!] + product: Product + image: ProductImage +} + +input ProductImageUpdateInput { + alt: String +} + +input ProductInput { + attributes: [AttributeValueInput] + publicationDate: Date + category: ID + chargeTaxes: Boolean + collections: [ID] + description: String + descriptionJson: JSONString + isPublished: Boolean + name: String + price: Decimal + basePrice: Decimal + taxRate: TaxRateType + taxCode: String + seo: SeoInput + weight: WeightScalar + sku: String + quantity: Int + trackInventory: Boolean +} + +input ProductOrder { + field: ProductOrderField! + direction: OrderDirection! +} + +enum ProductOrderField { + NAME + PRICE + DATE +} + +type ProductPricingInfo { + available: Boolean @deprecated(reason: "This has been moved to the parent type as 'is_available'.") + onSale: Boolean + discount: TaxedMoney + discountLocalCurrency: TaxedMoney + priceRange: TaxedMoneyRange + priceRangeUndiscounted: TaxedMoneyRange + priceRangeLocalCurrency: TaxedMoneyRange +} + +type ProductTranslate { + errors: [Error!] + product: Product +} + +type ProductTranslation implements Node { + id: ID! + seoTitle: String + seoDescription: String + name: String! + description: String! + descriptionJson: JSONString! + language: LanguageDisplay! +} + +type ProductType implements Node { + id: ID! + name: String! + hasVariants: Boolean! + isShippingRequired: Boolean! + isDigital: Boolean! + weight: Weight + privateMeta: [MetaStore]! + meta: [MetaStore]! + products(before: String, after: String, first: Int, last: Int): ProductCountableConnection + taxRate: TaxRateType + taxType: TaxType + variantAttributes: [Attribute] + productAttributes: [Attribute] + availableAttributes(filter: AttributeFilterInput, before: String, after: String, first: Int, last: Int): AttributeCountableConnection +} + +type ProductTypeBulkDelete { + errors: [Error!] + count: Int! +} + +type ProductTypeClearMeta { + errors: [Error!] + productType: ProductType +} + +type ProductTypeClearPrivateMeta { + errors: [Error!] + productType: ProductType +} + +enum ProductTypeConfigurable { + CONFIGURABLE + SIMPLE +} + +type ProductTypeCountableConnection { + pageInfo: PageInfo! + edges: [ProductTypeCountableEdge!]! + totalCount: Int +} + +type ProductTypeCountableEdge { + node: ProductType! + cursor: String! +} + +type ProductTypeCreate { + errors: [Error!] + productType: ProductType +} + +type ProductTypeDelete { + errors: [Error!] + productType: ProductType +} + +enum ProductTypeEnum { + DIGITAL + SHIPPABLE +} + +input ProductTypeFilterInput { + configurable: ProductTypeConfigurable + productType: ProductTypeEnum +} + +input ProductTypeInput { + name: String + hasVariants: Boolean + productAttributes: [ID] + variantAttributes: [ID] + isShippingRequired: Boolean + isDigital: Boolean + weight: WeightScalar + taxRate: TaxRateType + taxCode: String +} + +type ProductTypeReorderAttributes { + errors: [Error!] + productType: ProductType +} + +type ProductTypeUpdate { + errors: [Error!] + productType: ProductType +} + +type ProductTypeUpdateMeta { + errors: [Error!] + productType: ProductType +} + +type ProductTypeUpdatePrivateMeta { + errors: [Error!] + productType: ProductType +} + +type ProductUpdate { + errors: [Error!] + product: Product +} + +type ProductUpdateMeta { + errors: [Error!] + product: Product +} + +type ProductUpdatePrivateMeta { + errors: [Error!] + product: Product +} + +type ProductVariant implements Node { + id: ID! + sku: String! + name: String! + product: Product! + trackInventory: Boolean! + quantity: Int! + quantityAllocated: Int! + weight: Weight + privateMeta: [MetaStore]! + meta: [MetaStore]! + stockQuantity: Int! + priceOverride: Money + price: Money @deprecated(reason: "Has been replaced by 'pricing.price_undiscounted'") + availability: VariantPricingInfo @deprecated(reason: "Has been renamed to 'pricing'.") + pricing: VariantPricingInfo + isAvailable: Boolean + attributes: [SelectedAttribute!]! + costPrice: Money + margin: Int + quantityOrdered: Int + revenue(period: ReportingPeriod): TaxedMoney + images: [ProductImage] + translation(languageCode: LanguageCodeEnum!): ProductVariantTranslation + digitalContent: DigitalContent +} + +type ProductVariantBulkDelete { + errors: [Error!] + count: Int! +} + +type ProductVariantClearMeta { + errors: [Error!] + productVariant: ProductVariant +} + +type ProductVariantClearPrivateMeta { + errors: [Error!] + productVariant: ProductVariant +} + +type ProductVariantCountableConnection { + pageInfo: PageInfo! + edges: [ProductVariantCountableEdge!]! + totalCount: Int +} + +type ProductVariantCountableEdge { + node: ProductVariant! + cursor: String! +} + +type ProductVariantCreate { + errors: [Error!] + productVariant: ProductVariant +} + +input ProductVariantCreateInput { + attributes: [AttributeValueInput]! + costPrice: Decimal + priceOverride: Decimal + sku: String + quantity: Int + trackInventory: Boolean + weight: WeightScalar + product: ID! +} + +type ProductVariantDelete { + errors: [Error!] + productVariant: ProductVariant +} + +input ProductVariantInput { + attributes: [AttributeValueInput] + costPrice: Decimal + priceOverride: Decimal + sku: String + quantity: Int + trackInventory: Boolean + weight: WeightScalar +} + +type ProductVariantTranslate { + errors: [Error!] + productVariant: ProductVariant +} + +type ProductVariantTranslation implements Node { + id: ID! + name: String! + language: LanguageDisplay! +} + +type ProductVariantUpdate { + errors: [Error!] + productVariant: ProductVariant +} + +type ProductVariantUpdateMeta { + errors: [Error!] + productVariant: ProductVariant +} + +type ProductVariantUpdatePrivateMeta { + errors: [Error!] + productVariant: ProductVariant +} + +type Query { + translations(kind: TranslatableKinds!, before: String, after: String, first: Int, last: Int): TranslatableItemConnection + shop: Shop + shippingZone(id: ID!): ShippingZone + shippingZones(before: String, after: String, first: Int, last: Int): ShippingZoneCountableConnection + digitalContent(id: ID!): DigitalContent + digitalContents(query: String, level: Int, before: String, after: String, first: Int, last: Int): DigitalContentCountableConnection + attributes(query: String, inCategory: ID, inCollection: ID, filter: AttributeFilterInput, sortBy: AttributeSortingInput, before: String, after: String, first: Int, last: Int): AttributeCountableConnection + attribute(id: ID!): Attribute + categories(query: String, level: Int, before: String, after: String, first: Int, last: Int): CategoryCountableConnection + category(id: ID!): Category + collection(id: ID!): Collection + collections(filter: CollectionFilterInput, query: String, before: String, after: String, first: Int, last: Int): CollectionCountableConnection + product(id: ID!): Product + products(filter: ProductFilterInput, attributes: [AttributeScalar], categories: [ID], collections: [ID], priceLte: Float, priceGte: Float, sortBy: ProductOrder, stockAvailability: StockAvailability, query: String, before: String, after: String, first: Int, last: Int): ProductCountableConnection + productType(id: ID!): ProductType + productTypes(filter: ProductTypeFilterInput, before: String, after: String, first: Int, last: Int): ProductTypeCountableConnection + productVariant(id: ID!): ProductVariant + productVariants(ids: [ID], before: String, after: String, first: Int, last: Int): ProductVariantCountableConnection + reportProductSales(period: ReportingPeriod!, before: String, after: String, first: Int, last: Int): ProductVariantCountableConnection + payment(id: ID): Payment + payments(before: String, after: String, first: Int, last: Int): PaymentCountableConnection + paymentClientToken(gateway: GatewaysEnum): String + page(id: ID, slug: String): Page + pages(query: String, before: String, after: String, first: Int, last: Int): PageCountableConnection + homepageEvents(before: String, after: String, first: Int, last: Int): OrderEventCountableConnection + order(id: ID!): Order + orders(filter: OrderFilterInput, query: String, created: ReportingPeriod, status: OrderStatusFilter, before: String, after: String, first: Int, last: Int): OrderCountableConnection + draftOrders(filter: OrderDraftFilterInput, query: String, created: ReportingPeriod, before: String, after: String, first: Int, last: Int): OrderCountableConnection + ordersTotal(period: ReportingPeriod): TaxedMoney + orderByToken(token: String!): Order + menu(id: ID, name: String): Menu + menus(query: String, before: String, after: String, first: Int, last: Int): MenuCountableConnection + menuItem(id: ID!): MenuItem + menuItems(query: String, before: String, after: String, first: Int, last: Int): MenuItemCountableConnection + giftCard(id: ID!): GiftCard + giftCards(before: String, after: String, first: Int, last: Int): GiftCardCountableConnection + pluginConfiguration(id: ID!): PluginConfiguration + pluginConfigurations(before: String, after: String, first: Int, last: Int): PluginConfigurationCountableConnection + sale(id: ID!): Sale + sales(filter: SaleFilterInput, query: String, before: String, after: String, first: Int, last: Int): SaleCountableConnection + voucher(id: ID!): Voucher + vouchers(filter: VoucherFilterInput, query: String, before: String, after: String, first: Int, last: Int): VoucherCountableConnection + taxTypes: [TaxType] + checkout(token: UUID): Checkout + checkouts(before: String, after: String, first: Int, last: Int): CheckoutCountableConnection + checkoutLine(id: ID): CheckoutLine + checkoutLines(before: String, after: String, first: Int, last: Int): CheckoutLineCountableConnection + addressValidationRules(countryCode: CountryCode, countryArea: String, cityArea: String): AddressValidationData + customers(filter: CustomerFilterInput, query: String, before: String, after: String, first: Int, last: Int): UserCountableConnection + me: User + staffUsers(filter: StaffUserInput, query: String, before: String, after: String, first: Int, last: Int): UserCountableConnection + user(id: ID!): User + node(id: ID!): Node +} + +type ReducedRate { + rate: Float! + rateType: TaxRateType! +} + +type Refresh { + token: String + payload: GenericScalar +} + +input ReorderInput { + id: ID! + sortOrder: Int +} + +enum ReportingPeriod { + TODAY + THIS_MONTH +} + +type RequestPasswordReset { + errors: [Error!] +} + +type Sale implements Node { + id: ID! + name: String! + type: SaleType! + value: Float! + startDate: DateTime! + endDate: DateTime + categories(before: String, after: String, first: Int, last: Int): CategoryCountableConnection + collections(before: String, after: String, first: Int, last: Int): CollectionCountableConnection + products(before: String, after: String, first: Int, last: Int): ProductCountableConnection + translation(languageCode: LanguageCodeEnum!): SaleTranslation +} + +type SaleAddCatalogues { + errors: [Error!] + sale: Sale +} + +type SaleBulkDelete { + errors: [Error!] + count: Int! +} + +type SaleCountableConnection { + pageInfo: PageInfo! + edges: [SaleCountableEdge!]! + totalCount: Int +} + +type SaleCountableEdge { + node: Sale! + cursor: String! +} + +type SaleCreate { + errors: [Error!] + sale: Sale +} + +type SaleDelete { + errors: [Error!] + sale: Sale +} + +input SaleFilterInput { + status: [DiscountStatusEnum] + saleType: DiscountValueTypeEnum + started: DateTimeRangeInput + search: String +} + +input SaleInput { + name: String + type: DiscountValueTypeEnum + value: Decimal + products: [ID] + categories: [ID] + collections: [ID] + startDate: DateTime + endDate: DateTime +} + +type SaleRemoveCatalogues { + errors: [Error!] + sale: Sale +} + +type SaleTranslate { + errors: [Error!] + sale: Sale +} + +type SaleTranslation implements Node { + id: ID! + name: String + language: LanguageDisplay! +} + +enum SaleType { + FIXED + PERCENTAGE +} + +type SaleUpdate { + errors: [Error!] + sale: Sale +} + +type SelectedAttribute { + attribute: Attribute! + value: AttributeValue @deprecated(reason: "Use values instead.") + values: [AttributeValue]! +} + +input SeoInput { + title: String + description: String +} + +type SetPassword { + errors: [Error!] + user: User +} + +input SetPasswordInput { + token: String! + password: String! +} + +type ShippingMethod implements Node { + id: ID! + name: String! + price: Money + minimumOrderPrice: Money + maximumOrderPrice: Money + minimumOrderWeight: Weight + maximumOrderWeight: Weight + type: ShippingMethodTypeEnum + translation(languageCode: LanguageCodeEnum!): ShippingMethodTranslation +} + +type ShippingMethodTranslation implements Node { + id: ID! + name: String + language: LanguageDisplay! +} + +enum ShippingMethodTypeEnum { + PRICE + WEIGHT +} + +type ShippingPriceBulkDelete { + errors: [Error!] + count: Int! +} + +type ShippingPriceCreate { + errors: [Error!] + shippingZone: ShippingZone + shippingMethod: ShippingMethod +} + +type ShippingPriceDelete { + errors: [Error!] + shippingMethod: ShippingMethod + shippingZone: ShippingZone +} + +input ShippingPriceInput { + name: String + price: Decimal + minimumOrderPrice: Decimal + maximumOrderPrice: Decimal + minimumOrderWeight: WeightScalar + maximumOrderWeight: WeightScalar + type: ShippingMethodTypeEnum + shippingZone: ID +} + +type ShippingPriceTranslate { + errors: [Error!] + shippingMethod: ShippingMethod +} + +type ShippingPriceUpdate { + errors: [Error!] + shippingZone: ShippingZone + shippingMethod: ShippingMethod +} + +type ShippingZone implements Node { + id: ID! + name: String! + default: Boolean! + priceRange: MoneyRange + countries: [CountryDisplay] + shippingMethods: [ShippingMethod] +} + +type ShippingZoneBulkDelete { + errors: [Error!] + count: Int! +} + +type ShippingZoneCountableConnection { + pageInfo: PageInfo! + edges: [ShippingZoneCountableEdge!]! + totalCount: Int +} + +type ShippingZoneCountableEdge { + node: ShippingZone! + cursor: String! +} + +type ShippingZoneCreate { + errors: [Error!] + shippingZone: ShippingZone +} + +type ShippingZoneDelete { + errors: [Error!] + shippingZone: ShippingZone +} + +input ShippingZoneInput { + name: String + countries: [String] + default: Boolean +} + +type ShippingZoneUpdate { + errors: [Error!] + shippingZone: ShippingZone +} + +type Shop { + geolocalization: Geolocalization + authorizationKeys: [AuthorizationKey]! + countries: [CountryDisplay]! + currencies: [String]! + defaultCurrency: String! + defaultCountry: CountryDisplay + description: String + domain: Domain! + homepageCollection: Collection + languages: [LanguageDisplay]! + name: String! + navigation: Navigation + permissions: [PermissionDisplay]! + phonePrefixes: [String]! + headerText: String + includeTaxesInPrices: Boolean! + displayGrossPrices: Boolean! + chargeTaxesOnShipping: Boolean! + trackInventoryByDefault: Boolean + defaultWeightUnit: WeightUnitsEnum + translation(languageCode: LanguageCodeEnum!): ShopTranslation + automaticFulfillmentDigitalProducts: Boolean + defaultDigitalMaxDownloads: Int + defaultDigitalUrlValidDays: Int + companyAddress: Address +} + +type ShopAddressUpdate { + errors: [Error!] + shop: Shop +} + +type ShopDomainUpdate { + errors: [Error!] + shop: Shop +} + +type ShopFetchTaxRates { + errors: [Error!] + shop: Shop +} + +input ShopSettingsInput { + headerText: String + description: String + includeTaxesInPrices: Boolean + displayGrossPrices: Boolean + chargeTaxesOnShipping: Boolean + trackInventoryByDefault: Boolean + defaultWeightUnit: WeightUnitsEnum + automaticFulfillmentDigitalProducts: Boolean + defaultDigitalMaxDownloads: Int + defaultDigitalUrlValidDays: Int +} + +type ShopSettingsTranslate { + errors: [Error!] + shop: Shop +} + +input ShopSettingsTranslationInput { + headerText: String + description: String +} + +type ShopSettingsUpdate { + errors: [Error!] + shop: Shop +} + +type ShopTranslation implements Node { + id: ID! + headerText: String! + description: String! + language: LanguageDisplay! +} + +input SiteDomainInput { + domain: String + name: String +} + +type StaffBulkDelete { + errors: [Error!] + count: Int! +} + +type StaffCreate { + errors: [Error!] + user: User +} + +input StaffCreateInput { + firstName: String + lastName: String + email: String + isActive: Boolean + note: String + permissions: [PermissionEnum] + sendPasswordEmail: Boolean +} + +type StaffDelete { + errors: [Error!] + user: User +} + +input StaffInput { + firstName: String + lastName: String + email: String + isActive: Boolean + note: String + permissions: [PermissionEnum] +} + +enum StaffMemberStatus { + ACTIVE + DEACTIVATED +} + +type StaffUpdate { + errors: [Error!] + user: User +} + +input StaffUserInput { + status: StaffMemberStatus + search: String +} + +enum StockAvailability { + IN_STOCK + OUT_OF_STOCK +} + +enum TaxRateType { + ACCOMMODATION + ADMISSION_TO_CULTURAL_EVENTS + ADMISSION_TO_ENTERTAINMENT_EVENTS + ADMISSION_TO_SPORTING_EVENTS + ADVERTISING + AGRICULTURAL_SUPPLIES + BABY_FOODSTUFFS + BIKES + BOOKS + CHILDRENS_CLOTHING + DOMESTIC_FUEL + DOMESTIC_SERVICES + E_BOOKS + FOODSTUFFS + HOTELS + MEDICAL + NEWSPAPERS + PASSENGER_TRANSPORT + PHARMACEUTICALS + PROPERTY_RENOVATIONS + RESTAURANTS + SOCIAL_HOUSING + STANDARD + WATER + WINE +} + +type TaxType { + description: String + taxCode: String +} + +type TaxedMoney { + currency: String! + gross: Money! + net: Money! + tax: Money! +} + +type TaxedMoneyRange { + start: TaxedMoney + stop: TaxedMoney +} + +type Transaction implements Node { + id: ID! + created: DateTime! + payment: Payment! + token: String! + kind: TransactionKind! + isSuccess: Boolean! + error: TransactionError + gatewayResponse: JSONString! + amount: Money +} + +enum TransactionError { + TRANSACTIONERROR_INCORRECT_NUMBER + TRANSACTIONERROR_INVALID_NUMBER + TRANSACTIONERROR_INCORRECT_CVV + TRANSACTIONERROR_INVALID_CVV + TRANSACTIONERROR_INCORRECT_ZIP + TRANSACTIONERROR_INCORRECT_ADDRESS + TRANSACTIONERROR_INVALID_EXPIRY_DATE + TRANSACTIONERROR_EXPIRED + TRANSACTIONERROR_PROCESSING_ERROR + TRANSACTIONERROR_DECLINED +} + +enum TransactionKind { + AUTH + REFUND + CAPTURE + VOID +} + +union TranslatableItem = Product | Category | Collection | Attribute | AttributeValue | ProductVariant | Page | ShippingMethod | Sale | Voucher | MenuItem + +type TranslatableItemConnection { + pageInfo: PageInfo! + edges: [TranslatableItemEdge!]! + totalCount: Int +} + +type TranslatableItemEdge { + node: TranslatableItem! + cursor: String! +} + +enum TranslatableKinds { + ATTRIBUTE + ATTRIBUTE_VALUE + CATEGORY + COLLECTION + MENU_ITEM + PAGE + PRODUCT + SALE + SHIPPING_METHOD + VARIANT + VOUCHER +} + +input TranslationInput { + seoTitle: String + seoDescription: String + name: String + description: String + descriptionJson: JSONString +} + +scalar UUID + +scalar Upload + +type User implements Node { + id: ID! + lastLogin: DateTime + email: String! + firstName: String! + lastName: String! + isStaff: Boolean! + token: UUID! + isActive: Boolean! + note: String + dateJoined: DateTime! + defaultShippingAddress: Address + defaultBillingAddress: Address + privateMeta: [MetaStore]! + meta: [MetaStore]! + addresses: [Address] + checkout: Checkout + giftCards(before: String, after: String, first: Int, last: Int): GiftCardCountableConnection + orders(before: String, after: String, first: Int, last: Int): OrderCountableConnection + permissions: [PermissionDisplay] + avatar(size: Int): Image + events: [CustomerEvent] + storedPaymentSources: [PaymentSource] +} + +input UserAddressInput { + defaultBillingAddress: AddressInput + defaultShippingAddress: AddressInput +} + +type UserAvatarDelete { + errors: [Error!] + user: User +} + +type UserAvatarUpdate { + errors: [Error!] + user: User +} + +type UserBulkSetActive { + errors: [Error!] + count: Int! +} + +type UserClearStoredMeta { + errors: [Error!] + user: User +} + +type UserClearStoredPrivateMeta { + errors: [Error!] + user: User +} + +type UserCountableConnection { + pageInfo: PageInfo! + edges: [UserCountableEdge!]! + totalCount: Int +} + +type UserCountableEdge { + node: User! + cursor: String! +} + +input UserCreateInput { + defaultBillingAddress: AddressInput + defaultShippingAddress: AddressInput + firstName: String + lastName: String + email: String + isActive: Boolean + note: String + sendPasswordEmail: Boolean +} + +type UserUpdateMeta { + errors: [Error!] + user: User +} + +type UserUpdatePrivateMeta { + errors: [Error!] + user: User +} + +type VAT { + countryCode: String! + standardRate: Float + reducedRates: [ReducedRate]! +} + +type VariantImageAssign { + errors: [Error!] + productVariant: ProductVariant + image: ProductImage +} + +type VariantImageUnassign { + errors: [Error!] + productVariant: ProductVariant + image: ProductImage +} + +type VariantPricingInfo { + available: Boolean @deprecated(reason: "This has been moved to the parent type as 'is_available'.") + onSale: Boolean + discount: TaxedMoney + discountLocalCurrency: TaxedMoney + price: TaxedMoney + priceUndiscounted: TaxedMoney + priceLocalCurrency: TaxedMoney +} + +type VerifyToken { + payload: GenericScalar + user: User +} + +type Voucher implements Node { + id: ID! + type: VoucherTypeEnum! + name: String + code: String! + usageLimit: Int + used: Int! + startDate: DateTime! + endDate: DateTime + applyOncePerOrder: Boolean! + applyOncePerCustomer: Boolean! + discountValueType: DiscountValueTypeEnum! + discountValue: Float! + minAmountSpent: Money + minCheckoutItemsQuantity: Int + categories(before: String, after: String, first: Int, last: Int): CategoryCountableConnection + collections(before: String, after: String, first: Int, last: Int): CollectionCountableConnection + products(before: String, after: String, first: Int, last: Int): ProductCountableConnection + countries: [CountryDisplay] + translation(languageCode: LanguageCodeEnum!): VoucherTranslation +} + +type VoucherAddCatalogues { + errors: [Error!] + voucher: Voucher +} + +type VoucherBulkDelete { + errors: [Error!] + count: Int! +} + +type VoucherCountableConnection { + pageInfo: PageInfo! + edges: [VoucherCountableEdge!]! + totalCount: Int +} + +type VoucherCountableEdge { + node: Voucher! + cursor: String! +} + +type VoucherCreate { + errors: [Error!] + voucher: Voucher +} + +type VoucherDelete { + errors: [Error!] + voucher: Voucher +} + +enum VoucherDiscountType { + FIXED + PERCENTAGE + SHIPPING +} + +input VoucherFilterInput { + status: [DiscountStatusEnum] + timesUsed: IntRangeInput + discountType: [VoucherDiscountType] + started: DateTimeRangeInput + search: String +} + +input VoucherInput { + type: VoucherTypeEnum + name: String + code: String + startDate: DateTime + endDate: DateTime + discountValueType: DiscountValueTypeEnum + discountValue: Decimal + products: [ID] + collections: [ID] + categories: [ID] + minAmountSpent: Decimal + minCheckoutItemsQuantity: Int + countries: [String] + applyOncePerOrder: Boolean + applyOncePerCustomer: Boolean + usageLimit: Int +} + +type VoucherRemoveCatalogues { + errors: [Error!] + voucher: Voucher +} + +type VoucherTranslate { + errors: [Error!] + voucher: Voucher +} + +type VoucherTranslation implements Node { + id: ID! + name: String + language: LanguageDisplay! +} + +enum VoucherTypeEnum { + PRODUCT + COLLECTION + CATEGORY + SHIPPING + VALUE + ENTIRE_ORDER + SPECIFIC_PRODUCT +} + +type VoucherUpdate { + errors: [Error!] + voucher: Voucher +} + +type Weight { + unit: String! + value: Float! +} + +scalar WeightScalar + +enum WeightUnitsEnum { + KG + LB + OZ + G +}