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
| Field | Description |
|---|---|
organization | id, name, country, organization_type, satellites_count |
forecast_run | status, 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
| Name | Type | Required | Description |
|---|---|---|---|
satellite_id | int | yes | From the workspace |
ground_station_id | int | yes | From the workspace |
date | string | yes | YYYY-MM-DD, UTC |
Response
| Field | Description |
|---|---|
forecast_run | id, generated_at, time_step_seconds, nside |
satellite, ground_station | Identity and, for the station, lat / lng |
bands[] | Frequency bands the satellite operates in |
tone_thresholds | warning_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
| Name | Type | Required | Description |
|---|---|---|---|
satellite_id | int | yes | |
ground_station_id | int | yes | |
start_date | string | yes | YYYY-MM-DD |
end_date | string | yes | YYYY-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
| Name | Type | Required | Description |
|---|---|---|---|
satellite_id | int | yes | |
ground_station_id | int | yes | |
start_time | string | yes | ISO 8601 |
end_time | string | yes | ISO 8601, at most 7 days (10,080 minutes) after start_time |
frequency_band | string | no | A 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
| Name | Type | Required | Description |
|---|---|---|---|
satellite_id | int | yes | |
timestamp / start_time / date | string | no | Window start; defaults to today 00:00 UTC |
end_time | string | no | Defaults to 24 hours after the start |
limit | int | no | Slices to return, 1 to 48, default 24 |
GET /heatmap_slice
One whole-sky snapshot at an instant.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
satellite_id | int | yes | |
timestamp | string | yes | ISO 8601 |
ground_station_id | int | no | Mark one station on the slice |
resolution | string | no | Grid resolution override |
GET /track
The satellite's ground track for one day.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
satellite_id | int | yes | |
date | string | yes | YYYY-MM-DD |
step_seconds | int | no | Spacing between track points |
GET /satellite_position
The satellite's position at an instant.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
satellite_id | int | yes | |
timestamp | string | yes | ISO 8601 |