type Query { activeCustomer: Customer activeOrder: Order availableCountries: [Country!]! eligibleShippingMethods: [ShippingMethodQuote!]! me: CurrentUser nextOrderStates: [String!]! order(id: ID!): Order orderByCode(code: String!): Order productCategories(languageCode: LanguageCode, options: ProductCategoryListOptions): ProductCategoryList! productCategory(id: ID!, languageCode: LanguageCode): ProductCategory product(id: ID!, languageCode: LanguageCode): Product products(languageCode: LanguageCode, options: ProductListOptions): ProductList! search(input: SearchInput!): SearchResponse! } type Mutation { addItemToOrder(productVariantId: ID!, quantity: Int!): Order removeItemFromOrder(orderItemId: ID!): Order adjustItemQuantity(orderItemId: ID!, quantity: Int!): Order transitionOrderToState(state: String!): Order setOrderShippingAddress(input: CreateAddressInput!): Order setOrderShippingMethod(shippingMethodId: ID!): Order addPaymentToOrder(input: PaymentInput!): Order setCustomerForOrder(input: CreateCustomerInput!): Order login(username: String!, password: String!, rememberMe: Boolean): LoginResult! logout: Boolean! "Regenerate and send a verification token for a new Customer registration. Only applicable if `authOptions.requireVerification` is set to true." refreshCustomerVerification(emailAddress: String!): Boolean! "Register a Customer account with the given credentials" registerCustomerAccount(input: RegisterCustomerInput!): Boolean! "Update an existing Customer" updateCustomer(input: UpdateCustomerInput!): Customer! "Create a new Customer Address" createCustomerAddress(input: CreateAddressInput!): Address! "Update an existing Address" updateCustomerAddress(input: UpdateAddressInput!): Address! "Delete an existing Address" deleteCustomerAddress(id: ID!): Boolean! "Verify a Customer email address with the token sent to that address. Only applicable if `authOptions.requireVerification` is set to true." verifyCustomerAccount(token: String!, password: String!): LoginResult! "Update the password of the active Customer" updateCustomerPassword(currentPassword: String!, newPassword: String!): Boolean "Requests a password reset email to be sent" requestPasswordReset(emailAddress: String!): Boolean "Resets a Customer's password based on the provided token" resetPassword(token: String!, password: String!): LoginResult! } input RegisterCustomerInput { emailAddress: String! title: String firstName: String lastName: String password: String } input UpdateCustomerInput { title: String firstName: String lastName: String phoneNumber: String emailAddress: String } input PaymentInput { method: String! metadata: JSON! } # generated by generateListOptions function input ProductCategoryListOptions # generated by generateListOptions function input OrderListOptions # generated by generateListOptions function input ProductListOptions