The Telescope Net cloud exposes a single versioned REST API used by three distinct caller types: autonomous node agents running on donated Seestar telescopes, authenticated member apps and dashboards, and unauthenticated public consumers. All endpoints share a common base URL, content-type convention, and JSON error envelope, making it straightforward to integrate from any HTTP client.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ManiFed/TTN/llms.txt
Use this file to discover all available pages before exploring further.
Base URL and versioning
Every API endpoint is served under:/api/v1/ prefix is stable for all documented endpoints. Future breaking changes will be introduced under a new version prefix rather than modifying existing routes.
The root URL (
/) serves tour.html — the public marketing site. /dashboard serves the member portal single-page application. Neither of these is part of the API surface.Content type
All requests that include a body must setContent-Type: application/json. All responses are returned as application/json unless otherwise noted (multipart for file uploads, binary for file downloads).
Authentication schemes
Three authentication schemes are supported depending on the caller type. See the Authentication guide for full details including header names, token acquisition flows, and code examples.| Caller | Scheme | Headers |
|---|---|---|
| Node agent | API key pair | X-Node-Id + X-Api-Key |
| Member / app | Bearer token | Authorization: Bearer <token> |
| Admin operator | Shared key | X-Admin-Key |
Endpoint categories
Node Endpoints
Authenticated with
X-Node-Id + X-Api-Key. Used by node agents for registration, 60-second heartbeats, observation plan download, photometry upload, FITS image storage, AAVSO file upload, and interrupt polling.Member Endpoints
Authenticated with
Authorization: Bearer <token>. Used by the member dashboard and mobile app for account management, node registration, observation history, cumulative stats, night summaries, and notification preferences.Public Endpoints
No authentication required. Returns active target queues, historical light curves, live network status, weather forecasts, and sky brightness data. Used by the marketing site for live statistics.
Admin Endpoints
Authenticated with
X-Admin-Key. Triggers alert ingestion, rescoring, plan regeneration, bulk activation code generation, interrupt broadcasts, and scoring weight management.Health check
Use the health endpoint to verify the API and its database connection are reachable before making authenticated calls:503 status with "ok": false indicates a database connectivity problem. The server_time field is always an ISO 8601 UTC timestamp.
Error responses
All error responses use a consistent envelope with a singleerror field:
400 for validation failures, 401 for missing or invalid credentials, 404 for unknown resources, 409 for conflicts (e.g. duplicate registration), and 410 for expired resources (e.g. expired activation codes).
CORS
All responses include permissive CORS headers (Access-Control-Allow-Origin: *), allowing browser clients — including the marketing site and the member dashboard running from a separate origin during development — to call public JSON endpoints directly.
Rate limits
Rate limiting is not explicitly documented in the current server implementation. Clients should apply reasonable backoff on429 or 503 responses. The 60-second heartbeat cadence used by node agents is the expected maximum call frequency for polling endpoints.