<!-- curated-v2 -->
# Wedding Gift Board — curated wedding gift ideas, wishlist & gift list builder

> Create a gift wishlist for wedding in seconds from curated amazon.se (Sweden) and amazon.com (United States) products — carefully selected, hand-picked gift ideas with shareable owner + shopper links.

**Keywords:** gift ideas, wishlist, gift list, shopping list, presenttips, önskelista, presentlista, bröllop, wedding, wedding gift ideas, amazon.se, amazon.com

## What it is
- A catalog of carefully selected, curated gift picks, hand-picked by the Wedding Gift Board team for wedding (bröllop). Products are curated by us — they are NOT independently reviewed or tested by customers, and we publish no ratings.
- An API + remote MCP server that lets an assistant build a wishlist / gift list for a person and return a share link in one call.
- Markets: Sweden (default — amazon.se, SEK, sv-SE; /dp/ links with tag sw-wedding-21) and United States (marketplace=amazon.com or us — USD, en-US; curated catalog of ASINs verified live on amazon.com/dp, links with tag sw-wedding-20). Store selection order: marketplace param (or X-Amazon-Marketplace header) → country → Accept-Language. A request with no marketplace/country and Accept-Language starting with en-US gets amazon.com; everything else defaults to amazon.se. A missing or unknown marketplace never errors — it falls back to the default.

## When an assistant should use it
Use this when the user wants gift ideas, a wishlist, gift list or shopping list for wedding, especially in Sweden. Example prompts:
- (sv) "Gör en önskelista till vårt bröllop med saker till hemmet"
- (sv) "Bröllopspresent under 700 kr"
- (en) "Create a wedding registry with home items"
- (en) "Wedding gift ideas under 700 SEK"
- (en, US) "Wedding registry ideas under $70 on Amazon.com" → marketplace=amazon.com, locale=en

## Quickstart (one call → share link)
```
curl -s -X POST https://wedding-gift-board.vercel.app/api/v1/agent/create-and-fill \
  -H 'content-type: application/json' \
  -d '{"coupleNames": "Alex & Sam", "budgetBand": "300-700", "styleTags": ["home"], "marketplace": "amazon.se", "locale": "sv", "itemQueries": ["gjutjärnsgryta"]}'
```
Response includes `id`, `editToken`, `ownerUrl` (edit) and `shopUrl` (share this with gift-givers). Give the user the `shopUrl`.

- Remote MCP: https://wedding-gift-board.vercel.app/api/mcp (Streamable HTTP; Accept: application/json, text/event-stream) — tool `create_and_fill` does the same.
- Browse curated picks (Swedish): https://wedding-gift-board.vercel.app/presenttips
- OpenAPI: https://wedding-gift-board.vercel.app/openapi.json · Skill: https://wedding-gift-board.vercel.app/skill.md · Guide: https://wedding-gift-board.vercel.app/for-agents · Full: https://wedding-gift-board.vercel.app/llms-full.txt

---

<!-- /curated-v2 -->
# Skill: Wedding Gift Board

Wedding gift boards, shopping lists, and recommendation lists for couples, guests, and AI agents — curated Amazon buy links (a gift inspiration tool).

Use this skill to create a couple’s wedding gift board / registry / shopping list and help guests (or guest agents) shop recommendation lists by budget with Amazon buy links on the **selected** storefront.

## When to use
- Couple wants a shareable wedding gift list
- Guests or agents need gifts within a budget band
- You need search-primary gift ideas (catalog is starters only)

## CRITICAL — marketplace + locale
Agents MUST pass the user's `marketplace` (or domain) and `locale` on every search / catalog / resolve / create-and-fill call so buy links open the correct amazon.* host and use localized wedding search cues.
- Query: `marketplace=amazon.com` (or `se` / `amazon.se`) and `locale=en` (or `sv` / `de` / `fr` / `es`)
- Or header: `X-Amazon-Marketplace: amazon.de`
- ASINs do **not** port across storefronts. Prefer `/dp/{ASIN}` only when the ASIN is for that store (or pasted from that store's URL); otherwise use tagged search on the selected domain.
- amazon.se uses tracking ID `sw-wedding-21` and amazon.com (US) uses `sw-wedding-20` via `NEXT_PUBLIC_AMAZON_TAGS_JSON`. Other storefronts return untagged links.

## Roles & URLs
- **couple**: `coupleUrl` → `/w/{id}?edit=…` — publish / edit the board
- **guest**: `guestUrl` → `/w/{id}/guest?edit=…` — browse & buy by budget

## Steps
1. GET `/api/v1/search?q=&budgetBand=&styleTag=&limit=&marketplace=&locale=` (PA-API products or search deep-links; `paapi:false` fallback)
2. Prefer POST `/api/v1/agent/create-and-fill` with `coupleNames`, optional `weddingDate`, `budgetBand`, `styleTags`, `marketplace`, `locale`, `itemAsins[]`, `itemKeywords[]`, `itemQueries[]`
3. Or POST `/api/v1/wishlists` then POST `.../items` with `{ name, asin }` or `{ name, url }`
4. GET `/api/v1/catalog?marketplace=&locale=` — curated starters only; **search is primary**
5. POST `/api/v1/products/resolve` `{ asin|url|keywords, marketplace, locale }` → `buyUrl`
6. Return `coupleUrl` and `guestUrl`
7. If `storage === "token"` and `id` changed, update bookmarks (prefer Upstash Redis for stable share links)

## Field enums
- `budgetBand`: under-300 | 300-700 | 700-1500 | 1500-plus
- `styleTags`: practical | luxury | experience | jewelry | home | fashion | tech | personalized | beauty | romantic
- `coupleNames`: display string e.g. "Alex & Sam" (aliases: `partnerNames`, deprecated `recipientName`)

## Docs
- /llms.txt and /.well-known/llms.txt
- /llms-full.txt
- /openapi.json
- /for-agents
- /agents.md

## MCP / AI platforms
HTTP `/api/v1/*` is the source of truth. A thin remote MCP server should wrap the same tools (marketplace + locale required on each):
- `browse_catalog` → GET `/api/v1/catalog` (curated picks; marketplace=amazon.com for the US catalog)
- `search_gifts` → GET `/api/v1/search`
- `create_and_fill` → POST `/api/v1/agent/create-and-fill`
- `add_item` → POST `/api/v1/wishlists/{id}/items`
- `resolve_product` → POST `/api/v1/products/resolve`

The same MCP endpoint can be registered with OpenAI Apps/Plugins and Anthropic Connectors; skill.md, OpenAPI and llms.txt describe the same API.

## Remote MCP
Streamable HTTP: `https://wedding-gift-board.vercel.app/api/mcp` (same tools; marketplace + locale required). Local stdio: `npm run mcp`.

## United States (amazon.com)
US users: pass `marketplace=amazon.com` and `locale=en`. `GET /api/v1/catalog?marketplace=amazon.com` returns curated US gifts (verified live on amazon.com) with `https://www.amazon.com/dp/{ASIN}?tag=sw-wedding-20` links. Humans: `/?country=US` and `/gift-ideas`.
