File a Guest EU Withdrawal
About
The createGuestEuWithdrawal mutation records an EU right-of-withdrawal declaration for a guest order. Ownership is proved by supplying the order increment id together with the email used on the order. The declaration is created with status received and the durable-medium confirmation email is sent.
Filing is idempotent — a second call for the same order returns the existing declaration instead of creating a duplicate.
Authentication
This mutation requires only the storefront key — no customer token. See the Authentication page.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
orderIncrementId | String! | ✅ Yes | The human-readable order number of the guest order. |
email | String! | ✅ Yes | The email address used on the guest order. |
reasonText | String | ❌ No | An optional reason for withdrawing. |
Possible Returns
| Field | Type | Description |
|---|---|---|
guestEuWithdrawal._id | Int! | Numeric declaration ID. |
guestEuWithdrawal.uuid | String! | Stable public identifier for the declaration. |
guestEuWithdrawal.orderId | Int! | Numeric ID of the order the withdrawal applies to. |
guestEuWithdrawal.orderIncrementId | String! | Human-readable order number. |
guestEuWithdrawal.isGuest | Boolean! | Whether the declaration was filed on a guest order. |
guestEuWithdrawal.customerEmail | String! | Email address tied to the declaration. |
guestEuWithdrawal.status | String! | Declaration status: received, declined, refunded. |
guestEuWithdrawal.reasonText | String | The reason the shopper supplied, or null. |
guestEuWithdrawal.receivedAt | DateTime | Timestamp when the declaration was received. |
guestEuWithdrawal.confirmationSentAt | DateTime | Timestamp when the confirmation email was sent, or null. |
guestEuWithdrawal.createdAt | DateTime! | Declaration creation timestamp. |

