{"version":1,"app_version":"1.5.0","timestamp_units":"Unix milliseconds (except series interval, in seconds)","archive_schema_version":2,"snapshot_level_encoding":"price_size_objects","endpoints":["/api/v1/status","/api/v1/series","/api/v1/series/summary?period=all","/api/v1/markets?series=SLUG&status=started&from_ms=N&to_ms=N&limit=50&cursor=TOKEN","/api/v1/markets/{slug}","/api/v1/markets/{slug}/snapshots?from_ms=N&to_ms=N&limit=20&after=N&depth_levels=15","/api/v1/markets/{slug}/archive"],"notes":["Snapshot filters use local received_at_ms; from is inclusive and to is exclusive.","New archives store [price,size] pairs and book identity once in market.metadata. Snapshot pages expand these to objects with book identity.","depth_levels accepts a positive integer or null (default: all stored levels). Selects the last N entries of each token side in original order, after validating price order. Keep filters and depth unchanged when following next_after.","depth is the saved archive policy; returned_depth describes the effective response limit. Queries cannot restore levels or hashes omitted from the archive.","format.book_hashes / archive.book_hashes = omitted means source hashes were intentionally excluded; absent means source hashes were retained.","Archive reads are sequential, including pages and time filters.","Archive download returns original gzip bytes, without HTTP Content-Encoding.","No upstream requests are made by this service."]}