Skip to content

File an EU Withdrawal

About

The createEuWithdrawal mutation records an EU right-of-withdrawal declaration against one of the authenticated customer's own orders and triggers the durable-medium confirmation email. The declaration is created with status received.

Filing is idempotent — a second call for the same order returns the existing declaration instead of creating a duplicate.

Authentication

This mutation requires an authenticated customer — send the storefront key and a customer Bearer token. See the Authentication page.

The channel must have withdrawal enabled

Filing only works when EU right of withdrawal is switched on for the channel the order belongs to. The setting is off by default. When it is off the mutation fails with the same not-found message an unknown order produces, so check the configuration before assuming the identifiers are wrong — see the overview.

Input Fields

FieldTypeRequiredDescription
orderIdInt!✅ YesThe numeric ID of one of the customer's own orders.
reasonTextString❌ NoAn optional reason for withdrawing.

Possible Returns

FieldTypeDescription
euWithdrawal._idInt!Numeric declaration ID.
euWithdrawal.uuidString!Stable public identifier for the declaration.
euWithdrawal.orderIdInt!Numeric ID of the order the withdrawal applies to.
euWithdrawal.orderIncrementIdString!Human-readable order number.
euWithdrawal.isGuestBoolean!Whether the declaration was filed on a guest order.
euWithdrawal.customerEmailString!Email address tied to the declaration.
euWithdrawal.statusString!Declaration status: received, declined, refunded.
euWithdrawal.reasonTextStringThe reason the shopper supplied, or null.
euWithdrawal.receivedAtDateTimeTimestamp when the declaration was received.
euWithdrawal.confirmationSentAtDateTimeTimestamp when the confirmation email was sent, or null.
euWithdrawal.declinedAtDateTimeTimestamp when the withdrawal was declined, or null.
euWithdrawal.declinedReasonStringReason the store declined the withdrawal, or null.
euWithdrawal.refundedAtDateTimeTimestamp when the order was refunded, or null.
euWithdrawal.refundNoteStringNote attached to the refund, or null.
euWithdrawal.createdAtDateTime!Declaration creation timestamp.
euWithdrawal.updatedAtDateTime!Declaration last update timestamp.

Released under the MIT License.