Configuration
The operational settings that change APEX's behavior — the default rate-limit budget, the analytics price sanity bounds, and the incremental-sync tuning knobs. Plus the settings that are read but currently inert.
APEX is configured through environment settings. This page lists the ones that change observable behavior; deployment topology is out of scope for these docs.
Behavior-affecting settings
| Setting | Effect |
|---|---|
RATE_LIMIT_DEFAULT_PER_MINUTE | Fallback per-minute budget for keys with no explicit limit (default 120). See Rate limiting. |
ANALYTICS_MIN_PRICE_PER_KM_EUR | Lower bound of the analytics price sanity filter (default 0.5). |
ANALYTICS_MAX_PRICE_PER_KM_EUR | Upper bound of the analytics price sanity filter (default 5.0). |
SYNC_OVERLAP_HOURS | How far back each incremental sync re-reads to avoid gaps at the checkpoint boundary. |
SYNC_EARLY_STOP_PAGES | Stop paging ingestion after this many consecutive fully-known pages. |
ADMIN_API_KEY | Enables the internal admin API when set; when unset, admin endpoints return 503 ADMIN_DISABLED. |
Read but currently inert
Some settings are read at startup but not consulted on the hot path — do not rely on them to change behavior:
API_KEY_HASH_ALGO— key hashing is fixed to SHA-256.ENABLE_REQUEST_LOGGING— request logging is governed elsewhere.REDIS_*— there is no cache in the request path (see Known gaps).
For what the numbers behind APEX mean, see APEX › Concepts.
Errors
The APEX error catalog — a consistent JSON envelope with a stable machine-readable code, the full list of estimation and admin codes, the responses that look like errors but aren't, and retry guidance.
Known gaps & limitations
Honest limitations of the current APEX service — the unpaginated corridors endpoint, per-instance rate limiting, the inert outlier detector, and the aggregation refresh cadence. Documented so consumers can plan around them.