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
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.

Request Example
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

GET /v2/satellites

Retrieve a paginated list of active ZenthSat constellation nodes. Supports filtering by orbit type, status, and region.

ParameterTypeRequiredDescription
statusstringNoFilter: active, degraded, standby
orbitstringNoLEO, MEO, GEO, HEO
limitintegerNoPage size (max 100)
200 OK
{
  "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
  }
}
GET /v2/satellites/{id}/telemetry

Real-time telemetry stream. Returns a server-sent event (SSE) connection. Requires Accept: text/event-stream.

SSE Payload
{
  "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
}
POST /v2/ground-stations/{id}/schedule

Request a downlink window for a specific ground station. Returns a scheduled job ID and estimated pass time.

Body ParameterTypeRequiredDescription
satellite_idstringYesTarget satellite
duration_secintegerYesRequested window (60-600)
prioritystringNolow, medium, high, critical
GET /v2/coverage/predict

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:

HeaderDescription
X-RateLimit-LimitMax requests per window
X-RateLimit-RemainingRemaining requests
X-RateLimit-ResetUnix timestamp when limit resets

Exceeding limits returns 429 Too Many Requests. Implement exponential backoff for retries.

Standard Errors

CodeMeaning
400Bad Request - Invalid parameters
401Unauthorized - Missing/invalid token
403Forbidden - Insufficient permissions
404Not Found - Resource doesn't exist
429Too Many Requests - Rate limited
500Internal Server Error - Contact support

Client SDKs

Official libraries are maintained for rapid integration:

Python / Node / Go
# 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

v2.1.4
2026-03-10
- Added HEO orbit filter to /satellites
- Fixed timezone parsing in coverage predictions
- SSE reconnect timeout reduced to 5s
v2.1.3
2026-02-28
- Ground station scheduling now supports priority queues
- Deprecated v1 telemetry endpoints