Resources
Errors
Errors use standard HTTP status codes with a JSON body. The body never leaks internals — just a stable code and a human message.
Error shape
Live REST data routes return the same typed error envelope as the SDP WebSocket protocol. Gateway errors (401 / 402 / 403 / 429) come from the API gateway and use its own { "message": "…" } envelope.
Status codes
Soft dependencies
Some surfaces depend on optional infrastructure. If the history store is disabled or unavailable, history returns 503 with the typed error envelope above. Live streams are independent of the cold-history store. Treat 503 as retriable but back off.