Skip to Content
ReferenceHTTP APIInter-satellite links

Inter-satellite links

POST/isl

Purpose

Returns the inter-satellite link topology: which satellites can see each other, and at what range, at a given instant.

The result is a graph. It is what routing, latency, and relay analysis are built on, because a constellation with inter-satellite links is a network whose connectivity changes continuously as the satellites move.

Request

ParameterTypeUnitDefaultRequiredDescription
constellation_idstringn/a—YesIdentifier of an existing constellation.
startstringRFC 3339 UTC2026-01-01T00:00:00ZNoAnalysis start epoch.
duration_hoursnumberh6NoPropagation window.
step_secondsnumbers60NoTime step.
propagation_modelstringn/atwo_bodyNoPropagation model.
sample_indexintegerindex0NoWhich sample in the timeline to report the topology for.

Example

curl -s -X POST http://127.0.0.1:8080/isl \ -H 'content-type: application/json' \ -d '{"constellation_id":"demo","duration_hours":2.0}'
{ "constellation_id": "demo", "satellite_count": 60, "sample_count": 121, "sample_index": 0, "edges": [ { "satellite_a": "demo-s0-p00-sat00", "satellite_b": "demo-s0-p00-sat01", "range_km": 4281.82414471573 } ] }

Response elided; edges holds every feasible link at that sample.

One instant, not the whole window

The response describes the topology at one sample_index, even though the request propagates the whole window. sample_count tells you how many indices are available.

Topology in a low Earth orbit constellation changes continuously. A single sample is a snapshot, and routing analysis needs the sequence. Call the endpoint per index, or use the CLI, which can emit the whole series.

Reading an edge

An edge means the two satellites have line of sight to each other, unobstructed by the Earth. range_km is the separation.

The 4282 km between sat00 and sat01 is worth examining. Both are in plane 00, adjacent in the ring of ten. At 550 km altitude the orbital radius is about 6928 km, and ten satellites evenly spaced puts adjacent pairs 36 degrees apart:

d=2rsin⁡ ⁣(36∘2)=2×6928×sin⁡(18∘)≈4282 kmd = 2 r \sin\!\left(\frac{36^\circ}{2}\right) = 2 \times 6928 \times \sin(18^\circ) \approx 4282\ \mathrm{km}

The reported range matches the geometry exactly, which is a useful check that the constellation was generated with the phasing you intended.

Link typeCharacter
Intra-plane, within a ringRange is nearly constant; the geometry barely changes
Inter-plane, between ringsRange varies strongly over an orbit, and relative velocity is high near the poles or the seam

Intra-plane links are the easy ones: neighbors hold station relative to each other, so pointing is nearly fixed. Inter-plane links must track a target whose relative position and velocity change substantially, and in a Walker Star pattern the counter-rotating seam is where that is hardest.

See also

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