> ## Documentation Index
> Fetch the complete documentation index at: https://platform.trendlinelabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Freshness

Every answer says how fresh it is. A source that is dead, absent or older than its bound answers
503 upstream\_unavailable (or dependency\_unavailable for our own stores), never an empty 200.

| route | liveness fields | bound |
| - | - | - |
| `/opportunities` | `metadata.last_update_secs`, `metadata.age_s` | 600 s (an environment setting) |
| `/markets/search` | `built_at_ms`, `age_s` | 1200 s (an environment setting) |
| `/events` | `universe_last_seen_at`, `universe_age_s` | 300 s (an environment setting) |
| `/markets/{universal_id}/orderbook` | `ts_ms`, `age_ms`, `max_age_s` | per venue, returned as `max_age_s`: 1200 s Kalshi, 1800 s Polymarket, 3600 s Limitless, 3600 s predict.fun (an environment setting) |
| `/markets/{universal_id}/candles` | `as_of_ms`, `cached` | — |
| `/markets/{universal_id}/trades` | `tape_ts_ms`, `newest_trade_ts_ms`, `as_of_ms` | — |
| `/prices/snapshot` | each leg's `price_source` and `price_ts_ms`; `closed_gate` | — |

The bounds shown are the API's configured values.

Notes:

* An order book's `ts_ms` is its last change, so a quiet live book can be old.
* A Limitless book is also checked against the venue as a whole. Our market-data feed records, once a
  minute, how many Limitless updates it received live and applied. When that record shows none in the last 120 s (an
  environment setting), or the record is missing or unreadable, every Limitless book answers 503
  upstream\_unavailable, however recent its own `ts_ms`, because the Limitless feed may have stopped. If our
  own store cannot be read for this check, the answer is 503 dependency\_unavailable. Books are served again
  once the record shows Limitless updates; we check about every 15 s. Other venues are not checked this way.
* A trade tape is written only on a trade, so a quiet market's tape can be days old.
* A Limitless trade can reach us about a minute after it happened (an estimate from one observed trade),
  so the newest Limitless trades may be missing for that long. The Limitless check above applies to
  books only, not to trades.
* A candle series' `last_bar_ts_ms` is information, not a liveness signal: a quiet market adds no bars.
* In a price snapshot, `closed_gate` says whether the closed-leg check ran; when it reads unavailable, an
  absent `closed` does not mean none is closed.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.