<!-- curated-v2 -->
# Fitness Starter — curated starting running, strength or yoga gift ideas, wishlist & gift list builder

> Create a gift wishlist for starting running, strength or yoga 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, träning, starting running, strength or yoga, amazon.se, amazon.com, US fitness gifts

## What it is
- A catalog of carefully selected, curated gift picks, hand-picked by the Fitness Starter team for starting running, strength or yoga (träning). 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-fitness-21.
- Market: United States (amazon.com, USD, en-US). Pass marketplace=amazon.com for US shoppers: catalog/search return hand-picked amazon.com /dp/{ASIN} links with tag sw-fitness-20 (e.g. https://www.amazon.com/dp/ASIN?tag=sw-fitness-20). Human pages auto-switch for US visitors; ?country=US forces the US store, ?country=SE the Swedish one.


## United States (amazon.com)

- GET /api/v1/catalog?goal=run&level=starter&marketplace=amazon.com&locale=en-US — hand-picked amazon.com /dp/ products (catalog: "us", linkType=product, trackingTag sw-fitness-20)
- GET /api/v1/search?q=yoga%20mat&goal=yoga&level=starter&marketplace=amazon.com&locale=en-US&limit=5 — catalogMatches are amazon.com /dp/ links
- POST /api/v1/agent/create-and-fill with "marketplace":"amazon.com","locale":"en-US" — pack items link to amazon.com/dp/ASIN?tag=sw-fitness-20
- MCP (/api/mcp): pass marketplace=amazon.com on browse_catalog, search_gear, create_and_fill, create_pack, resolve_product
- budgetBand keys are shared; for amazon.com they mean under $50 (under-500), $50–150 (500-1500), $150–300 (1500-3000), $300+ (3000-plus)

## Store selection (marketplace optional, never an error)
- marketplace and locale are optional on every API and MCP call; a missing store never returns an error.
- Order: marketplace (or domain / X-Amazon-Marketplace header) > country (param or X-Country header; US → amazon.com) > Accept-Language (starts with en-US → amazon.com) > default amazon.se.
- An en-US caller with no marketplace gets amazon.com /dp/ links tagged sw-fitness-20; sv-SE and everything else gets amazon.se links tagged sw-fitness-21. For US shoppers, pass marketplace=amazon.com explicitly.
- amazon.com search links always use English keywords; amazon.com prices are USD (priceUsd) or omitted.

## When an assistant should use it
Use this when the user wants gift ideas, a wishlist, gift list or shopping list for starting running, strength or yoga, especially in Sweden or the United States (amazon.com). Example prompts:
- (sv) "Vilken utrustning behöver jag för att börja springa?"
- (sv) "Present till någon som börjat med yoga, max 500 kr"
- (en) "What gear do I need to start running?"
- (en) "Gift for someone who just started yoga under 500 SEK"
- (en-US) "Beginner lifting gear under $50" → marketplace=amazon.com

## Quickstart (one call → share link)
```
curl -s -X POST https://fitness-starter.vercel.app/api/v1/agent/create-and-fill \
  -H 'content-type: application/json' \
  -d '{"athleteName": "Alex", "goal": "run", "level": "starter", "budgetBand": "500-1500", "marketplace": "amazon.se", "locale": "sv-SE", "itemQueries": ["löparbälte"]}'
```
Response includes `id`, `editToken`, `ownerUrl` (edit) and `shopUrl` (share this with gift-givers). Give the user the `shopUrl`.

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

---

<!-- /curated-v2 -->
# Agents guide — Fitness Starter Ladder

Gear lists · starter ladders · recommendation packs (run / lift / yoga).

## One-shot
POST /api/v1/agent/create-and-fill
  { athleteName, goal, level, budgetBand?, marketplace, locale, itemAsins, itemKeywords, itemQueries }
→ save id, editToken, ownerUrl, shopUrl

## Catalog & search
GET /api/v1/catalog?goal=run&level=starter&marketplace=amazon.se&locale=en
GET /api/v1/catalog?goal=run&level=starter&marketplace=amazon.com&locale=en-US
GET /api/v1/search?q=running%20shoes&goal=run&level=starter&marketplace=amazon.se&locale=en
GET /api/v1/search?q=running%20shoes&goal=run&level=starter&marketplace=amazon.com&locale=en-US

## MCP
POST /api/mcp — search_gear, browse_catalog, create_and_fill, create_pack, add_item, resolve_product (marketplace + locale optional; en-US → amazon.com, otherwise amazon.se).

## Rules
- Pass marketplace=amazon.com for US shoppers, marketplace=amazon.se for Sweden; if omitted, Accept-Language en-US → amazon.com, otherwise amazon.se (never an error)
- amazon.se catalog = real /dp/{ASIN} products (linkType=product), tagged sw-fitness-21
- amazon.com catalog = separate hand-picked US /dp/{ASIN} products, tagged sw-fitness-20 (marketplace=amazon.com)
- Prefer buyUrl + trackingTag
- Token storage may rotate id on mutate — prefer Redis for stable share links
