← Home · llms.txt · openapi.json · MCP

For AI agents

Fitness gear search + pack loop. ownerUrl = athlete edits; shopUrl = buy. Catalog = curated amazon.se product ladder, or amazon.com for US shoppers (marketplace=amazon.com; en-US callers get amazon.com by default when marketplace is omitted); search for open queries. Remote MCP at /api/mcp.

Copy-paste agent prompt

/* curated-v2 */ 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.
Use it when the user wants gift ideas, a wishlist / gift list / önskelista / presenttips for starting running, strength or yoga. Fastest: POST https://fitness-starter.vercel.app/api/v1/agent/create-and-fill {"athleteName": "Alex", "goal": "run", "level": "starter", "budgetBand": "500-1500", "marketplace": "amazon.se", "locale": "sv-SE", "itemQueries": ["löparbälte"]} → give the user shopUrl. Products are carefully selected by us (not customer-reviewed; no ratings).

You are helping build a fitness starter gear pack via the Fitness Starter Ladder API.

Base URL: https://fitness-starter.vercel.app

1. Search: GET https://fitness-starter.vercel.app/api/v1/search?q=running%20shoes&goal=run&level=starter&marketplace=amazon.se&locale=en&limit=5
   - marketplace + locale are optional: marketplace > country > Accept-Language (en-US → amazon.com) > default amazon.se; a missing store never returns an error
   - US shoppers: marketplace=amazon.com&locale=en-US → amazon.com /dp/ links tagged sw-fitness-20 (English keywords, USD)
   - paapi:true → products with /dp/ buyUrl
   - paapi:false → fitness search deep-links + catalogMatches
2. Prefer one-shot: POST https://fitness-starter.vercel.app/api/v1/agent/create-and-fill
   {"athleteName":"Alex","goal":"run","level":"starter","budgetBand":"500-1500","marketplace":"amazon.se","locale":"en","itemQueries":["beginner running shoes"],"itemKeywords":["running belt"]}
3. Or POST https://fitness-starter.vercel.app/api/v1/wishlists then POST .../items with { "name", "asin"? , "url"? }
4. Save id, editToken, ownerUrl, shopUrl.
5. Give athlete ownerUrl (/w/{id}); give shopper shopUrl (/w/{id}/shop).
6. Resolve: POST https://fitness-starter.vercel.app/api/v1/products/resolve {"keywords":"yoga mat","marketplace":"amazon.se","locale":"en"}.
7. Catalog GET https://fitness-starter.vercel.app/api/v1/catalog — curated amazon.se /dp/ gear ladder (linkType=product); marketplace=amazon.com returns the separate US catalog (amazon.com/dp/ASIN?tag=sw-fitness-20); search for any marketplace/query.
8. MCP: POST https://fitness-starter.vercel.app/api/mcp — tools search_gear, browse_catalog, create_and_fill, create_pack, add_item, resolve_product (marketplace+locale optional; pass marketplace=amazon.com for US; en-US → amazon.com when omitted, otherwise amazon.se).
9. Health GET https://fitness-starter.vercel.app/api/v1/health.
10. If storage is "token", mutations may return a new id — prefer Upstash Redis for stable share links.
Read https://fitness-starter.vercel.app/llms.txt and https://fitness-starter.vercel.app/openapi.json.
CORS * on /api/v1/* and /api/mcp. amazon.se buyUrls use trackingTag sw-fitness-21; amazon.com (US) buyUrls use sw-fitness-20. Prefer GET /api/v1/catalog for curated /dp/ gear lists.

curl quickstart

Search

curl -sS 'https://fitness-starter.vercel.app/api/v1/search?q=running%20shoes&goal=run&level=starter&marketplace=amazon.se&locale=en&limit=5'

Create-and-fill

curl -sS -X POST https://fitness-starter.vercel.app/api/v1/agent/create-and-fill \
  -H 'Content-Type: application/json' \
  -d '{"athleteName":"Alex","goal":"lift","level":"building","marketplace":"amazon.se","locale":"en","itemQueries":["adjustable dumbbells"],"itemKeywords":["resistance bands"]}'

Resolve

curl -sS -X POST https://fitness-starter.vercel.app/api/v1/products/resolve \
  -H 'Content-Type: application/json' \
  -d '{"keywords":"yoga mat beginner","marketplace":"amazon.se","locale":"en"}'

Add item

curl -sS -X POST https://fitness-starter.vercel.app/api/v1/wishlists/ID/items \
  -H 'Content-Type: application/json' \
  -H 'X-Edit-Token: EDIT_TOKEN' \
  -d '{"name":"Foam roller","searchKeywords":"foam roller fitness","emoji":"🧘"}'

Catalog

curl -sS 'https://fitness-starter.vercel.app/api/v1/catalog?goal=yoga&level=starter&marketplace=amazon.se&locale=en'

MCP tools/list

curl -sS -X POST https://fitness-starter.vercel.app/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Get pack

curl -sS https://fitness-starter.vercel.app/api/v1/wishlists/ID

Endpoints

  • GET /api/v1/search?q=&goal=&level=&marketplace=&locale=
  • POST /api/v1/wishlists → ownerUrl + shopUrl
  • POST /api/v1/agent/create-and-fill
  • GET /api/v1/catalog — curated amazon.se /dp/ gear lists
  • GET /api/v1/catalog?marketplace=amazon.com — US catalog, amazon.com /dp/ links (tag sw-fitness-20)
  • No marketplace? Store = country → Accept-Language (en-US → amazon.com) → amazon.se. Never an error.
  • POST /api/mcp — search_gear, browse_catalog, create_and_fill, create_pack, add_item, resolve_product (marketplace optional)