/api/v1/public/rates/{id}/candlesGETtimestamp is the end of the bucket, UTC. One hourly level at 12:00Z is the candle that ends at 13:00Z. A bucket with no level is omitted. interval defaults to 1hour (30-day window). 1d covers 90 days. A 1hour candle is that hour's published level. A 1d candle in the last 30 days is the open, high, low, and close of the hourly levels on that US Eastern day. An older day in the 90-day window is that day's published level. from is inclusive and to is exclusive, and both are clipped to the window. An unknown rate returns 404. A rate with no levels in the window returns an empty list.1hour (30-day window) or 1d (90-day window). daily and 1day are aliases of 1d."1hour"timestamp, ISO-8601 or YYYY-MM-DD. A date with no time is that UTC midnight. Clipped to the interval window.timestamp, ISO-8601 or YYYY-MM-DD. A date with no time is that UTC midnight. Capped at the 15-minute snapshot.1Min: 1100Min: 1Max: 500timestamp. desc is newest first."desc"1min, 5min, or 1hour bucket ends on a UTC boundary. A 1d bucket ends at the next midnight in US Eastern time. A level printed on a boundary belongs to the bucket that starts there.open.open.open. A bucket with one level has open, high, low, and close equal to that level.total and total_pages reflect the server's counting ceiling rather than the exact matched count: the real set is at least total large. Render such totals as a lower bound (for example "10,000+"). Omitted when the count is exact. A sorted markets search that fills the 10,000-candidate ceiling sets this flag.message. One of bad_request, unauthorized, forbidden, not_found, conflict, service_unavailable, upstream_error, service_error, or internal_error.message. One of bad_request, unauthorized, forbidden, not_found, conflict, service_unavailable, upstream_error, service_error, or internal_error.curl -X GET "https://api.adjacent.markets/api/v1/public/rates/<id>/candles"