{"success":true,"data":{"name":"SatelliteDB API","version":"1.0.0","description":"Real-time satellite data pipeline with AI analysis","base":"/api/v1","auth":"X-Api-Key header (default read key: sdb-read-key)","endpoints":[{"method":"GET","path":"/api/v1/","auth":"none","desc":"This manifest"},{"method":"GET","path":"/api/v1/ai-context","auth":"none","desc":"AI orchestrator manifest"},{"method":"GET","path":"/api/v1/satellites","auth":"read","desc":"List satellites by category"},{"method":"GET","path":"/api/v1/satellites/search","auth":"read","desc":"Full-text search"},{"method":"GET","path":"/api/v1/satellites/tle-batch","auth":"read","desc":"All satellites with TLEs (id/name/norad/tle) — powers the 3D tracker"},{"method":"GET","path":"/api/v1/satellites/:id","auth":"read","desc":"Single satellite by NORAD number or internal id"},{"method":"GET","path":"/api/v1/tle/:norad","auth":"read","desc":"Current TLE lines for a satellite"},{"method":"GET","path":"/api/v1/tle/bulk","auth":"read","desc":"Bulk TLE lookup by comma-separated NORAD numbers (max 500)"},{"method":"POST","path":"/api/v1/satellites/similar","auth":"read","desc":"Cosine similarity search by embedding"},{"method":"POST","path":"/api/v1/satellites/:id/embedding","auth":"admin","desc":"Store embedding vector"},{"method":"POST","path":"/api/v1/analyze","auth":"read","desc":"Claude AI analysis (streaming SSE)"},{"method":"POST","path":"/api/chat","auth":"none","desc":"General AI chat (streaming SSE)"}],"categories":["starlink","intelsat","ses","inmarsat","noaa","gps-ops","glo-ops","galileo","beidou","stations","iridium","iridium-NEXT","oneweb","globalstar","planet","spire","military","cubesat","science","amateur","weather","goes","resource","tdrss","sarsat","dmc","argos","orbcomm","swarm","gnss","sbas","nnss","musson","geodetic","engineering","education","radar","x-comm","other-comm","geo","tle-new","visual","active","other"],"data_source":"postgresql — satellites table (see scripts/schema.sql)"},"meta":{}}