{"ok":true,"schema":"bykaranteli.public-manifest.v1","generated_at":"2026-09-08T16:12:45.500Z","endpoints":[{"path":"/api/v1/public/health","method":"GET","auth":"none","description":"Uptime probe with DB reachability + data feed freshness (liquidation stream, venue snapshots).","cache_seconds":10,"params":{}},{"path":"/api/v1/public/manifest","method":"GET","auth":"none","description":"This document. Self-describing index of public endpoints.","cache_seconds":300,"params":{}},{"path":"/api/v1/public/sitemap.json","method":"GET","auth":"none","description":"JSON mirror of /sitemap.xml · same URLs, machine-friendly shape.","cache_seconds":300,"params":{}},{"path":"/api/v1/public/ideas","method":"GET","auth":"none","description":"Member-published trade ideas (opt-in profiles only).","cache_seconds":60,"params":{"sort":"hot | new. Default new.","symbol":"Filter by symbol (uppercase).","limit":"1-100. Default 50.","since_days":"1-365."}},{"path":"/api/v1/public/series","method":"GET","auth":"none","description":"Published course series with course counts. No parameters: the handler returns every published series.","cache_seconds":60},{"path":"/api/v1/public/profiles/[handle]","method":"GET","auth":"none","description":"Public profile aggregate: mentor, follow counts, perf, ideas, courses, series.","cache_seconds":60,"params":{}},{"path":"/api/v1/public/liquidation-map","method":"GET","auth":"none","description":"Compatibility alias kept for external agents: redirects to /api/public/liqmap with the symbol normalised to its base asset (?symbol=BTCUSDT -> BTC). Prefer /api/public/liqmap directly.","cache_seconds":0,"params":{"symbol":"e.g. BTCUSDT or BTC (optional, default BTC)","timeframe":"LiqMap timeframe (optional, default 24h)"}},{"path":"/api/v1/public/datasets/[name]","method":"GET","auth":"none","description":"CC0 dataset download (JSON, or CSV with ?format=csv): the free CC0 datasets listed on /data (32 today; the hub is authoritative, older text said 20) (liquidations-daily, etf-flows, etf-issuer-daily, dvol-daily, metric-daily...). funding-history is a PAID x402 dataset; the free funding table is the daily-symbols board.","cache_seconds":600,"params":{"name":"dataset slug (see /data)","format":"json | csv (optional, default json)"}},{"path":"/api/v1/public/me","method":"GET","auth":"Bearer (api key)","description":"Same shape as /profiles/[handle] but for the API key owner. Requires public_profile_enabled.","cache_seconds":0,"params":{}}],"rss_feeds":[{"path":"/feed.xml","description":"RSS · archived daily market briefs."}],"conventions":{"cache_header":"All cached endpoints set Cache-Control: public, max-age=N, s-maxage=N (CDN-safe).","rate_limit":"Public endpoints have no hard per-IP limit today; fair use is about 20 requests per minute per IP. Bearer-auth /api/v1/me/* and /api/v1/public/me limit at 60 req/min/key.","auth":"Bearer token in Authorization header, or ?api_key= / ?token= for clients that can't set headers (calendar feeds).","error_shape":"{ ok: false, error: '<code>', message?: '<human>' } with appropriate HTTP status."}}