ZenthSat API Reference
The ZenthSat REST API provides real-time access to satellite telemetry, orbital tracking, downlink scheduling, and constellation coverage prediction. All endpoints return JSON payloads and support standard HTTP caching headers.
Base URL: https://api.zenthsat.aevumzenth.com/v2
Authentication is required for all endpoints. Requests must include a valid Bearer token in the Authorization header. Rate limits and error responses are documented below.
Authentication
Access to the ZenthSat API is secured via OAuth 2.0 Bearer tokens. Generate a token using your API key pair from the Aevum Zenth Developer Portal.
GET /v2/satellites Authorization: Bearer zs_live_9a8b7c6d5e4f3g2h1i Content-Type: application/json
Invalid or expired tokens return 401 Unauthorized. Tokens expire after 24 hours. Refresh using your secret key via the /oauth/token endpoint.
Endpoints
Retrieve a paginated list of active ZenthSat constellation nodes. Supports filtering by orbit type, status, and region.
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter: active, degraded, standby |
orbit | string | No | LEO, MEO, GEO, HEO |
limit | integer | No | Page size (max 100) |
{
"data: [
{
"id: "zs-n-0492,
"name: "Aevum-Prime-7,
"status: "active,
"orbit: "LEO,
"inclination: 53.0,
"altitude_km: 550,
"last_contact: "2026-03-15T08:42:11Z
}
],
"pagination: {
"total: 412,
"page: 1,
"limit: 20
}
}
Real-time telemetry stream. Returns a server-sent event (SSE) connection. Requires Accept: text/event-stream.
{
"ts: "2026-03-15T08:45:30Z,
"battery_pct: 87,
"temp_c: -12.4,
"cpu_load: 0.34,
"signal_dbm: -88,
"downlink_rate_mbps: 14.2
}
Request a downlink window for a specific ground station. Returns a scheduled job ID and estimated pass time.
| Body Parameter | Type | Required | Description |
|---|---|---|---|
satellite_id | string | Yes | Target satellite |
duration_sec | integer | Yes | Requested window (60-600) |
priority | string | No | low, medium, high, critical |
Predicts constellation coverage footprint for a given lat/lon and time window. Returns GeoJSON polygon array.
Rate Limits & Error Codes
API requests are throttled per API key. Current tiers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Max requests per window |
X-RateLimit-Remaining | Remaining requests |
X-RateLimit-Reset | Unix timestamp when limit resets |
Exceeding limits returns 429 Too Many Requests. Implement exponential backoff for retries.
Standard Errors
| Code | Meaning |
|---|---|
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Missing/invalid token |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Resource doesn't exist |
429 | Too Many Requests - Rate limited |
500 | Internal Server Error - Contact support |
Client SDKs
Official libraries are maintained for rapid integration:
# Python pip install aevum-zenthsat # Node.js npm install @aevum/zenthsat-sdk # Go go get github.com/aevumzenth/zenthsat-go
SDKs handle token rotation, request retry logic, and SSE reconnection automatically.
Changelog
2026-03-10
- Added HEO orbit filter to /satellites
- Fixed timezone parsing in coverage predictions
- SSE reconnect timeout reduced to 5s
2026-02-28
- Ground station scheduling now supports priority queues
- Deprecated v1 telemetry endpoints