Vega
API Reference

Forecasting

Interference forecasts per satellite, ground station, and day, plus measured history.

All paths are relative to https://admin.vega.space/api/v1/frontend/organizations/:organization_id/forecasting. Every endpoint needs an organization your key can read; satellite_id and ground_station_id come from the workspace.

Forecasts come from the latest completed forecast run for the satellite. If no run exists yet the response carries the satellite and station but empty results.

GET /summary

Every active satellite in the organization: its latest run, whether the run is stale, and a per-day rollup.

Response

FieldDescription
organizationid, name, country, organization_type, satellites_count
forecast_runstatus, stale, and timing for the newest run in the organization
satellites[]id, name, norad, bands, forecast_available, latest_run_id, last_forecast_at
satellites[].days[]one entry per forecast day: date, max_intensity, max_severity (low / medium / high), event_count

GET /day_detail

One satellite, one ground station, one day, at the run's time step (typically one minute).

Query parameters

NameTypeRequiredDescription
satellite_idintyesFrom the workspace
ground_station_idintyesFrom the workspace
datestringyesYYYY-MM-DD, UTC

Response

FieldDescription
forecast_runid, generated_at, time_step_seconds, nside
satellite, ground_stationIdentity and, for the station, lat / lng
bands[]Frequency bands the satellite operates in
tone_thresholdswarning_min and high_min: interferer counts at which a minute is rated medium and high
minutes[]One entry per time step: the timestamp, whether the satellite is covered (visible from the station), and counts of same-band satellites sharing the station's sky, keyed by band. A null count means that band was not analyzed.
interference_windows[]Contiguous spans of elevated interference: start, end, severity, per-band breakdown
ground_station_band_interference[]Per-band totals for the day

GET /ground_station_summary

Day-by-day rollup for one satellite and station across a date range: passes, interference windows, and severity buckets per day.

Query parameters

NameTypeRequiredDescription
satellite_idintyes
ground_station_idintyes
start_datestringyesYYYY-MM-DD
end_datestringyesYYYY-MM-DD, on or after start

GET /history

Measured interference for one satellite and station over a past time range, stitched across every completed run that covers it. Use this to reach back before the current forecast window.

Query parameters

NameTypeRequiredDescription
satellite_idintyes
ground_station_idintyes
start_timestringyesISO 8601
end_timestringyesISO 8601, at most 7 days (10,080 minutes) after start_time
frequency_bandstringnoA band name from Frequency bands, or all (default)

Response carries timeseries[] (one point per minute the satellite was visible, each with counts per band), coverage_analysis_runs[] (the runs stitched together), coverage_gaps[], and visible_passes.

Returns 404 with code NO_COVERAGE_DATA when no run overlaps the range.

GET /slices

Whole-sky interference snapshots for one satellite over a window, for animating a day.

Query parameters

NameTypeRequiredDescription
satellite_idintyes
timestamp / start_time / datestringnoWindow start; defaults to today 00:00 UTC
end_timestringnoDefaults to 24 hours after the start
limitintnoSlices to return, 1 to 48, default 24

GET /heatmap_slice

One whole-sky snapshot at an instant.

Query parameters

NameTypeRequiredDescription
satellite_idintyes
timestampstringyesISO 8601
ground_station_idintnoMark one station on the slice
resolutionstringnoGrid resolution override

GET /track

The satellite's ground track for one day.

Query parameters

NameTypeRequiredDescription
satellite_idintyes
datestringyesYYYY-MM-DD
step_secondsintnoSpacing between track points

GET /satellite_position

The satellite's position at an instant.

Query parameters

NameTypeRequiredDescription
satellite_idintyes
timestampstringyesISO 8601

On this page