Skip to Content
ReferenceHTTP APIReference data

Reference data

GET/stations
GET/orbits/special
GET/ephemeris/solar-system

Purpose

Three read-only endpoints returning reference data the service carries. None takes a request body, and none touches the constellation store, so they work immediately after startup.

GET /stations

The built-in ground-station catalog.

curl -s http://127.0.0.1:8080/stations
[ { "id": "dsn:goldstone", "network": "dsn", "name": "NASA DSN Goldstone (Mojave, USA)", "latitude_deg": 35.4267, "longitude_deg": -116.89, "altitude_km": 1.0, "min_elevation_deg": 6.0, "provenance": "https://deepspace.jpl.nasa.gov/about/complexes/" } ]

Response elided; the catalog holds 14 stations.

ParameterTypeUnitDefaultRequiredDescription
idstringn/a—NoNamespaced identifier as `network:site`.
networkstringn/a—NoOperating network, for example `dsn`, `ksat`, `ssc`.
latitude_degnumberdeg—NoGeodetic latitude, positive north.
longitude_degnumberdeg—NoLongitude, positive east. Goldstone at -116.89 is west.
altitude_kmnumberkm—NoHeight above the reference ellipsoid.
min_elevation_degnumberdeg—NoThe mask the site actually works to. Part of the site definition, not a preference.
provenancestringn/a—NoSource for the coordinates. Every entry cites where its data came from.

The provenance field is worth noticing. Station coordinates are the kind of input that gets copied between documents until nobody knows where they came from, and citing the source per entry is what makes the catalog auditable.

Stations are supplied to analysis endpoints inline, not by catalog identifier. Use this endpoint to look coordinates up, then include them in a ground_stations array.

GET /orbits/special

Constants for the orbits that have names.

curl -s http://127.0.0.1:8080/orbits/special
{ "geostationary_altitude_km": 35786.032461861854, "critical_inclination_deg": 63.43494882292201, "sun_synchronous_inclination_deg": null, "sun_synchronous_error": null, "repeat_ground_track_altitude_km": null, "repeat_ground_track_error": null }
FieldMeaning
geostationary_altitude_kmAltitude at which the orbital period matches one sidereal day
critical_inclination_deg63.435 degrees, where J2-driven apsidal rotation vanishes
sun_synchronous_*Inclination for a requested altitude, when one is supplied
repeat_ground_track_*Altitude for a requested repeat cycle, when one is supplied

The null fields are not missing data. They are solutions to queries you did not ask: supply the relevant query parameters and they are populated, with a companion _error field reporting how closely the condition was met.

The critical inclination of 63.435 degrees is where the J2 apsidal rotation rate goes to zero, so an eccentric orbit keeps its perigee over the same latitude. It is why Molniya orbits use it.

GET /ephemeris/solar-system

Sampled positions of solar system bodies, used for third-body perturbations and for the solar system view in the globe viewer.

curl -s http://127.0.0.1:8080/ephemeris/solar-system
{ "start": "2026-01-01T00:00:00Z", "days": 730.0, "au_to_km": 149597870.7, "sample_days": [0.0, 2.0054945054945055, 4.010989010989011] }

Response elided.

The default span is 730 days sampled at roughly two-day intervals. The au_to_km constant is included so a consumer can convert without hard-coding it, which is the sort of detail that prevents a unit error downstream.

See also

Question? Give us feedbackDocuments Varaha Constellation Designer main (pre-release)
Last updated on