---
title: "Request a guest withdrawal link"
method: POST
path: "/eu-withdrawals/guest/lookup"
tags: ["EU Withdrawal"]
---

# Request a guest withdrawal link

`POST /eu-withdrawals/guest/lookup`

## Request

- Base URL: `http://localhost:8000/api/shop`
- URL: `http://localhost:8000/api/shop/eu-withdrawals/guest/lookup`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bagisto/apis/bagisto-shop-api/docs/eu-withdrawals/guest/lookup/post.ts> (a function with typed inputs; its response is checked against the schema)

Step 1 of a guest withdrawal. When the order number and email match a guest order on an EU-enabled channel, a signed link valid for 24 hours is emailed to that address. Pass that link to `POST /api/shop/eu-withdrawals/guest` to file the withdrawal. The response is the same whether or not the order matched, so it cannot be used to discover orders. Limited to 5 requests a minute per IP.

## Headers

- `X-STOREFRONT-KEY` string, required
- `X-Locale` string
- `X-Channel` string
- `X-Currency` string

## Request body

- object
  - `order_increment_id` string, required
  - `email` string, required

## Response `201`

Accepted. The same answer is returned whether or not the order matched.

## Other responses

- `400`: Invalid input
- `404`: EU withdrawal is switched off for this channel.
- `422`: Missing or invalid order number or email.
- `429`: Too many requests from this IP.

## Changes

- **2026-10-28** `63e385bd5442`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bagisto/apis/bagisto-shop-api/changes/eu-withdrawals/guest/lookup/post.md)

---

[API](https://skmtc.dev/bagisto/apis/bagisto-shop-api.md) - [All operations](https://skmtc.dev/bagisto/apis/bagisto-shop-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bagisto/apis/bagisto-shop-api/revisions/f619df36bf29?raw)
