# 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 --- # Home Office Builder — full agent docs Site: https://home-office-builder.vercel.app Service: home-office-builder Redis prefix: hobl: ## Tracking tag policy 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. ## Product Build complete home-office desks by **role** (developer | designer | student | general) and **budgetBand** (under-500 | 500-1500 | 1500-4000 | 4000-plus). Curated catalog (150+ verified amazon.se /dp/ starters; catalogMode=asin for amazon.se). Open Amazon search on the **selected marketplace** remains available. ASIN ledger: src/data/amazon-se-asins.json. Public brand = gift inspiration / desk-setup shopping list tool — never brand as “affiliate” in user-facing copy (short disclosure OK if present). ## Agent requirements - Pass `marketplace` (amazon.se, amazon.com, …) and `locale` (sv, en-US, …) on search, catalog, resolve, and create-and-fill - Prefer `/dp/ASIN` when ASIN is trusted for that marketplace; else `/s?k=…` with desk/role/budget query rewrite - Append `?tag=` only when `tagConfigured` is true (amazon.se → sw-homeoffice-21) - Return `ownerUrl` (desk owner) and `shopUrl` (buyer) - Prefer response fields `buyUrl` + `trackingTag` (deprecated aliases `affiliateUrl` / `affiliateTag` may still appear for compat) ## Endpoints (CORS *) - GET /api/v1/health → service, storage, paapi, trackingTag, tagConfigured, catalogCount - GET /api/v1/search?q=&role=&budgetBand=&marketplace=&locale=&limit= - GET /api/v1/catalog?q=&role=&budgetBand=&category=&marketplace=&locale=&offset=&limit= - POST /api/v1/wishlists JSON: personName, deskName?, role, budgetBand, marketplace, locale, items? - GET|PATCH /api/v1/wishlists/:id (PATCH needs X-Edit-Token) - POST|DELETE /api/v1/wishlists/:id/items[/:itemId] - POST /api/v1/agent/create-and-fill - POST /api/v1/products/resolve { asin? | url? | keywords?, role?, budgetBand?, marketplace?, locale? } → buyUrl - GET /api/mcp — Streamable HTTP MCP - GET /api/cron/refresh-catalog (weekly stub; protect with CRON_SECRET) ## Discovery /llms.txt · /llms-full.txt · /openapi.json · /.well-known/ai-plugin.json · /skill.md · /agents.md · /for-agents ## Storage - token (default): compressed id; mutations may rotate id - redis: stable 8-char id under hobl: prefix ## Consumer UI Minimal Amazon Associates disclosure only — gift inspiration / desk-setup shopping list framing on human pages (no API marketing chrome).