Skip to content

File a Guest EU Withdrawal

Record 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 triggered.

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

Endpoint

POST /api/shop/eu-withdrawals/guest

Authentication

This endpoint requires only the storefront key — no customer token. See the Authentication page.

Request Headers

HeaderRequiredDescription
Content-TypeYesapplication/json
X-STOREFRONT-KEYYesYour storefront API key

Request Body

json
{
  "order_increment_id": "1000123",
  "email": "[email protected]",
  "reason_text": "Changed my mind."
}

Request Parameters

ParameterTypeRequiredDescription
order_increment_idstringYesThe human-readable order number of the guest order.
emailstringYesThe email address used on the guest order.
reason_textstringNoAn optional reason for withdrawing.

Response Fields (201 Created)

FieldTypeDescription
idintegerDeclaration ID.
uuidstringStable public identifier for the declaration.
orderIdintegerNumeric ID of the order the withdrawal applies to.
orderIncrementIdstringHuman-readable order number.
isGuestbooleanWhether the declaration was filed on a guest order.
customerEmailstringEmail address tied to the declaration.
statusstringDeclaration status: received, declined, refunded.
reasonTextstringThe reason the shopper supplied, or null.
receivedAtstringISO 8601 timestamp when the declaration was received.
confirmationSentAtstringISO 8601 timestamp when the confirmation email was sent, or null.
createdAtstringISO 8601 creation timestamp.

Status Codes

StatusMeaning
201 CreatedDeclaration filed (or the existing one returned); status is received.
400 Bad Requestorder_increment_id or email is missing.
403 ForbiddenMissing or invalid storefront key.
404 Not FoundThe order increment id and email do not match a guest order on an EU-withdrawal-enabled channel.

Released under the MIT License.