{"authentication":"All endpoints require session ID via X-Session-ID header or ?session_id= parameter","crypto":{"note":"Crypto endpoints to be added separately - DO NOT MIX WITH STOCKS"},"examples":{"combined":"/{table}?$select=id,name&$filter=price gt 100&$orderby=name asc&$top=5","crypto_4h":"/crypto_prices?$filter=symbol eq 'BTC-USDT' and timeframe eq '4h'&$top=100","filter_and":"/{table}?$filter=symbol eq 'BTC-USDT' and timeframe eq '4h'","filter_or":"/{table}?$filter=price gt 100 or price lt 10","filter_single":"/{table}?$filter=price gt 100","limit":"/{table}?$top=10","select_columns":"/{table}?$select=id,name","sort":"/{table}?$orderby=price desc"},"message":"TAPI - Table API","odata_params":{"$filter":"Filter records with AND/OR (e.g., price gt 100 and name eq 'test')","$limit":"Alias for $top","$orderby":"Sort records (e.g., price desc, name asc)","$select":"Select specific columns (comma-separated)","$top":"Limit number of records"},"stocks":{"example":"/stocks/live/AAPL?session_id=YOUR_SESSION_ID","get_price":"/stocks/live/{symbol} - Get live stock price via yfinance WebSocket","note":"Uses yfinance WebSocket for true real-time data","stop_stream":"/stocks/live/{symbol}/stop - Stop WebSocket for symbol","stream_sse":"/stocks/stream/{symbol} - Stream stock updates via SSE","stream_websocket":"wss://tapi.nordiska.io/ws - Real-time WebSocket streaming"},"usage":"Use /{table_name} for CRUD operations","version":"1.0","websocket":{"connect":"wss://tapi.nordiska.io/ws?session_id=YOUR_SESSION_ID","events":{"connect":"Establish WebSocket connection (requires session_id parameter)","disconnect":"Close connection","price_update":"Receive updates: {\"type\": \"price_update\", \"data\": {...}}","subscribe":"Send JSON: {\"action\": \"subscribe\", \"symbol\": \"AAPL\"}","unsubscribe":"Send JSON: {\"action\": \"unsubscribe\", \"symbol\": \"AAPL\"}"},"example_client":"const ws = new WebSocket(\"wss://tapi.nordiska.io/ws?session_id=YOUR_ID\")"}}
