<!-- curated-v2 -->
# Home Office Builder — curated home office setup gift ideas, wishlist & gift list builder

> Create a gift wishlist for home office setup in seconds from curated amazon.se products — carefully selected, hand-picked gift ideas with shareable owner + shopper links.

**Keywords:** gift ideas, wishlist, gift list, shopping list, presenttips, önskelista, presentlista, hemmakontor, home office setup, amazon.se

## What it is
- A catalog of carefully selected, curated gift picks, hand-picked by the Home Office Builder team for home office setup (hemmakontor). 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.
- Market: Sweden (amazon.se, SEK, sv-SE). Buy links are amazon.se /dp/ links with tag sw-homeoffice-21.

## When an assistant should use it
Use this when the user wants gift ideas, a wishlist, gift list or shopping list for home office setup, especially in Sweden. Example prompts:
- (sv) "Gör en inköpslista för ett ergonomiskt hemmakontor för utvecklare"
- (sv) "Present till kollega som jobbar hemifrån"
- (en) "Build a home office shopping list for a developer"
- (en) "Gift for a colleague who works from home"

## Quickstart (one call → share link)
```
curl -s -X POST https://home-office-builder.vercel.app/api/v1/agent/create-and-fill \
  -H 'content-type: application/json' \
  -d '{"personName": "Marcus", "role": "developer", "budgetBand": "1500-4000", "marketplace": "amazon.se", "locale": "sv", "itemQueries": ["skärmarm"]}'
```
Response includes `id`, `editToken`, `ownerUrl` (edit) and `shopUrl` (share this with gift-givers). Give the user the `shopUrl`.

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

---

<!-- /curated-v2 -->
# Home Office Builder — agent instructions

Base: https://home-office-builder.vercel.app

## Contract
Always pass **marketplace** + **locale** + prefer **role** + **budgetBand**. Search-on-selected-store — do not hardcode amazon.se for non-SE users.

## Two flows

### A) Buyer / agent asks for desk ideas
1. `GET /api/v1/search?q=monitor%20arm&role=developer&budgetBand=1500-4000&marketplace=amazon.se&locale=sv&limit=5`
2. Optionally skim `GET /api/v1/catalog?role=developer&budgetBand=1500-4000&marketplace=amazon.se&locale=sv&limit=20` (catalogMode=asin on amazon.se)
3. Present titles + `buyUrl` (product `/dp/` when ASIN trusted). Respect `tagConfigured` / `trackingTag`.
4. Optionally `POST /api/v1/agent/create-and-fill` to save a shortlist and return `shopUrl`

### B) Desk owner publishes a board
1. `POST /api/v1/wishlists` with `personName`, `role`, `budgetBand`, `marketplace`, `locale`
2. Give them `ownerUrl` (edit with `X-Edit-Token` / `?edit=`)
3. They add items via UI or `POST /api/v1/wishlists/{id}/items`
4. Give the buyer `shopUrl` to buy

## Stability note
Token storage rotates IDs on mutation. For durable share links set Upstash Redis (`UPSTASH_REDIS_REST_URL` + `UPSTASH_REDIS_REST_TOKEN`). Redis key prefix: `hobl:`.

## Tracking tag
Tracking tag: amazon.se uses real Associates tag `sw-homeoffice-21` via `NEXT_PUBLIC_AMAZON_TAGS_JSON={"amazon.se":"sw-homeoffice-21"}`. Other storefronts stay untagged (`tagConfigured=false` / `trackingTag=null`). Prefer response fields `buyUrl` + `trackingTag`. Never invent placeholders; never reuse Santa (`santawishli03-21`) or Girlfriend (`girlfriendgift-21`) tags.

## Weekly catalog
Vercel cron hits `GET /api/cron/refresh-catalog` Mondays 06:00 UTC (stub). Catalog-bot routine: search trending desk gear by role → propose ASIN merges → PR or Redis write. Keep catalog as starters; search stays available.

CORS `*` on `/api/v1/*`.
