{"apiVersion":"v1","docs":"/api/v1/openapi.json","entries":[{"id":"asset-filter","date":"2026-09-26","version":"v1","type":"added","summary":"Filter the feed to specific assets with ?asset= (slug or id, comma-separated, combinable with ?category=)."},{"id":"self-documentation","date":"2026-09-26","version":"v1","type":"added","summary":"The contract is now self-documenting for tools and AI agents: a Link header to the spec and docs, documented values for every field, the sell and buy reading rules, and a full example response."},{"id":"problem-json-errors","date":"2026-09-26","version":"v1","type":"changed","summary":"Errors now return application/problem+json (RFC 9457), keeping the existing fields."},{"id":"free-history-window","date":"2026-09-26","version":"v1","type":"changed","summary":"The free feed returns the most recent 30 days of history per asset (seriesWindowDays). Longer and per-seller history is reserved for the paid tier."},{"id":"cors-conditional-requests","date":"2026-09-26","version":"v1","type":"fixed","summary":"Browser apps can now read the ETag and rate-limit headers and use conditional requests across origins."},{"id":"launch","date":"2026-08-28","version":"v1","type":"added","summary":"Public API v1 launched: the free JSON feed at /api/v1/feed.json with the best licensed seller by direction, the day's verdict, official and global rates, and daily history. Versioned URL, a category filter, conditional requests (ETag), a published OpenAPI contract, no key, and CORS open."}]}