"""
Used to manually create a new Payment against an Order.
This can be used by an Administrator when an Order is in the ArrangingPayment state.
It is also used when a completed Order
has been modified (using `modifyOrder`) and the price has increased. The extra payment
can then be manually arranged by the administrator, and the details used to create a new
Payment.
"""
type Mutation {
addManualPaymentToOrder(input: ManualPaymentInput!): AddManualPaymentToOrderResult!
}
addMembersToZone
mutationaddMembersToZone
"""Add members to a Zone"""
type Mutation {
addMembersToZone(zoneId: ID!, memberIds: [ID!]!): Zone!
}
"""Add an OptionGroup to a Product"""
type Mutation {
addOptionGroupToProduct(productId: ID!, optionGroupId: ID!): Product!
}
adjustDraftOrderLine
mutationadjustDraftOrderLine
"""Adjusts a draft OrderLine. If custom fields are defined on the OrderLine entity, a third argument 'customFields' of type `OrderLineCustomFieldsInput` will be available."""
type Mutation {
adjustDraftOrderLine(orderId: ID!, input: AdjustDraftOrderLineInput!): UpdateOrderItemsResult!
}
applyCouponCodeToDraftOrder
mutationapplyCouponCodeToDraftOrder
"""Applies the given coupon code to the draft Order"""
type Mutation {
applyCouponCodeToDraftOrder(orderId: ID!, couponCode: String!): ApplyCouponCodeResult!
}
Use assignRolesToUser instead. assignRoleToAdministrator assigns the Role on the active Channel only.
"""Assign a Role to an Administrator"""
type Mutation {
assignRoleToAdministrator(administratorId: ID!, roleId: ID!): Administrator!
}
assignRolesToUser
mutationassignRolesToUser
"""
Grants the User each Role on the given Channel. The active user must hold every permission
of the Role on that Channel, be able to grant every assignment the User already holds, and
have UpdateAdministrator (UpdateApiKey for an ApiKey's User) on each Channel involved.
A SuperAdmin grant applies on every Channel.
"""
type Mutation {
assignRolesToUser(input: AssignRolesToUserInput!): User!
}
"""
Generates a new API-Key and attaches it to an Administrator.
Returns the generated API-Key.
API-Keys cannot be viewed again after creation.
"""
type Mutation {
createApiKey(input: CreateApiKeyInput!): CreateApiKeyResult!
}
"""Create a new Customer. If a password is provided, a new User will also be created an linked to the Customer."""
type Mutation {
createCustomer(input: CreateCustomerInput!, password: String): CreateCustomerResult!
}
createCustomerAddress
mutationcreateCustomerAddress
"""Create a new Address and associate it with the Customer specified by customerId"""
type Mutation {
createCustomerAddress(customerId: ID!, input: CreateAddressInput!): Address!
}
"""
Creates ProductVariants for the given Product. Each input must name exactly one option from
each OptionGroup assigned to the Product. A create is rejected if another variant of the
Product already holds the same combination of options. A Product with no OptionGroups may
hold any number of variants.
"""
type Mutation {
createProductVariants(input: [CreateProductVariantInput!]!): [ProductVariant]!
}
"""Delete an existing Tag"""
type Mutation {
deleteTag(id: ID!): DeletionResponse!
}
deleteTaxCategories
mutationdeleteTaxCategories
"""Deletes multiple TaxCategories"""
type Mutation {
deleteTaxCategories(ids: [ID!]!): [DeletionResponse!]!
}
deleteTaxCategory
mutationdeleteTaxCategory
"""Deletes a TaxCategory"""
type Mutation {
deleteTaxCategory(id: ID!): DeletionResponse!
}
deleteTaxRate
mutationdeleteTaxRate
"""Delete a TaxRate"""
type Mutation {
deleteTaxRate(id: ID!): DeletionResponse!
}
deleteTaxRates
mutationdeleteTaxRates
"""Delete multiple TaxRates"""
type Mutation {
deleteTaxRates(ids: [ID!]!): [DeletionResponse!]!
}
deleteZone
mutationdeleteZone
"""Delete a Zone"""
type Mutation {
deleteZone(id: ID!): DeletionResponse!
}
deleteZones
mutationdeleteZones
"""Delete a Zone"""
type Mutation {
deleteZones(ids: [ID!]!): [DeletionResponse!]!
}
duplicateEntity
mutationduplicateEntity
"""
Duplicate an existing entity using a specific EntityDuplicator.
Since v2.2.0.
"""
type Mutation {
duplicateEntity(input: DuplicateEntityInput!): DuplicateEntityResult!
}
flushBufferedJobs
mutationflushBufferedJobs
type Mutation {
flushBufferedJobs(bufferIds: [String!]): Success!
}
"""
Authenticates the user using the native authentication strategy. This mutation is an alias for authenticate({ native: { ... }})
The `rememberMe` option applies when using cookie-based sessions, and if `true` it will set the maxAge of the session cookie
to 1 year.
"""
type Mutation {
login(username: String!, password: String!, rememberMe: Boolean): NativeAuthenticationResult!
}
"""
Allows an Order to be modified after it has been completed by the Customer. The Order must first
be in the `Modifying` state.
"""
type Mutation {
modifyOrder(input: ModifyOrderInput!): ModifyOrderResult!
}
"""Remove members from a Zone"""
type Mutation {
removeMembersFromZone(zoneId: ID!, memberIds: [ID!]!): Zone!
}
removeOptionGroupFromProduct
mutationremoveOptionGroupFromProduct
"""
Remove an OptionGroup from a Product. If the OptionGroup is in use by any ProductVariants
the mutation will return a ProductOptionInUseError, and the OptionGroup will not be removed.
Setting the `force` argument to `true` will override this and remove the OptionGroup anyway,
as well as removing any of the group's options from the Product's ProductVariants.
"""
type Mutation {
removeOptionGroupFromProduct(productId: ID!, optionGroupId: ID!, force: Boolean): RemoveOptionGroupFromProductResult!
}
"""
Revokes each Role on the given Channel from the User, under the same rules as
assignRolesToUser. Revoking SuperAdmin removes it on every Channel; the sole SuperAdmin
cannot lose it.
"""
type Mutation {
removeRolesFromUser(input: RemoveRolesFromUserInput!): User!
}
removeSettledJobs
mutationremoveSettledJobs
"""Remove all settled jobs in the given queues older than the given date. Returns the number of jobs deleted."""
type Mutation {
removeSettledJobs(queueNames: [String!], olderThan: DateTime): Int!
}
"""
Requests a password reset email to be sent to the Customer, the same as the Customer calling
`requestPasswordReset` from the Shop API: it sets a reset token and publishes a
`PasswordResetEvent`, which the EmailPlugin uses to send the email. The event carries the
administrator's RequestContext, so the email uses the administrator's language.
When `authOptions.requireVerification` is on, a Customer who has not verified their account is
marked as verified when they complete the reset. No `AccountVerifiedEvent` is published.
Throws for a Customer with no User (a guest checkout), and for a User with no native
authentication method, since neither has a native credential to reset.
"""
type Mutation {
requestCustomerPasswordReset(id: ID!): Success!
}
requestPasswordReset
mutationrequestPasswordReset
"""
Requests a password reset email to be sent to the Administrator with the given email address. To
prevent leaking information about which email addresses exist, the mutation resolves to `Success`
even if no Administrator with that email address was found.
"""
type Mutation {
requestPasswordReset(emailAddress: String!): RequestPasswordResetResult
}
resetPassword
mutationresetPassword
"""
Resets an Administrator's password based on the provided token, which is obtained via the email
sent as a result of the `requestPasswordReset` mutation. Upon success, the Administrator will be
signed in.
"""
type Mutation {
resetPassword(token: String!, password: String!): ResetPasswordResult!
}
rotateApiKey
mutationrotateApiKey
"""
Replaces the old with a new API-Key.
This is a convenience method to invalidate an API-Key without
deleting the underlying roles and permissions.
"""
type Mutation {
rotateApiKey(id: ID!): RotateApiKeyResult!
}
runPendingSearchIndexUpdates
mutationrunPendingSearchIndexUpdates
type Mutation {
runPendingSearchIndexUpdates: Success!
}
runScheduledTask
mutationrunScheduledTask
type Mutation {
runScheduledTask(id: String!): Success!
}
setActiveAdministratorAvatar
mutationsetActiveAdministratorAvatar
"""Upload, replace or remove the active Administrator's profile picture"""
type Mutation {
setActiveAdministratorAvatar(file: Upload): Administrator!
}
"""Sets the billing address for a draft Order"""
type Mutation {
setDraftOrderBillingAddress(orderId: ID!, input: CreateAddressInput!): Order!
}
setDraftOrderCustomFields
mutationsetDraftOrderCustomFields
"""Allows any custom fields to be set for the active order"""
type Mutation {
setDraftOrderCustomFields(orderId: ID!, input: UpdateOrderInput!): Order!
}
setDraftOrderShippingAddress
mutationsetDraftOrderShippingAddress
"""Sets the shipping address for a draft Order"""
type Mutation {
setDraftOrderShippingAddress(orderId: ID!, input: CreateAddressInput!): Order!
}
setDraftOrderShippingMethod
mutationsetDraftOrderShippingMethod
"""Sets the shipping method by id, which can be obtained with the `eligibleShippingMethodsForDraftOrder` query"""
type Mutation {
setDraftOrderShippingMethod(orderId: ID!, shippingMethodId: ID!): SetOrderShippingMethodResult!
}
"""Allows a different Customer to be assigned to an Order. Added in v2.2.0."""
type Mutation {
setOrderCustomer(input: SetOrderCustomerInput!): Order
}
setSettingsStoreValue
mutationsetSettingsStoreValue
"""Set a single key-value pair (automatically scoped based on field configuration)"""
type Mutation {
setSettingsStoreValue(input: SettingsStoreInput!): SetSettingsStoreValueResult!
}
setSettingsStoreValues
mutationsetSettingsStoreValues
"""Set multiple key-value pairs in a transaction (each automatically scoped)"""
type Mutation {
setSettingsStoreValues(inputs: [SettingsStoreInput!]!): [SetSettingsStoreValueResult!]!
}
"""
Manually mark a Customer's email address as verified, without the Customer having to use a
verification email.
A Customer with no password set (as created by `createCustomer` without one) cannot log in.
Omitting `password` for such a Customer returns a `MissingPasswordError`. Passing one for a
Customer who already has a password returns a `PasswordAlreadySetError`.
Two failures are outside the result union, because they describe a Customer the caller should
not have picked rather than a password they should correct: a Customer with no User at all (a
guest checkout), and a User whose only credential is external, which a password cannot be
stored on. Both throw.
"""
type Mutation {
verifyCustomerAccount(id: ID!, password: String): VerifyCustomerAccountResult!
}
Past the docs?
Architecture reviews, custom plugin work, migrations, ongoing support. Get a hand from the team that builds Vendure.