Back to dashboard

NAVIS API

A REST API for programmatic access to your fleet, metrics, and conjunction screening. All responses are JSON. Data is scoped to the organization that owns the API key.

Authentication

Every request requires an API key sent as a Bearer token. API keys are an Enterprise feature — generate one in Settings → API Keys (shown once at creation).

Authorization: Bearer navis_sk_xxxxxxxxxxxxxxxx

Base URL: https://<your-navis-origin>/api/v1

Endpoints

GET/api/v1/satellites

List your fleet (tracked + private). Query params: limit (1–1000, default 500), orbit (e.g. LEO), private (true).

curl https://<origin>/api/v1/satellites?orbit=LEO \
  -H "Authorization: Bearer navis_sk_..."

# → { "count": 12, "total": 12, "satellites": [
#     { "satellite_id": "ISS", "norad_id": "25544", "name": "ISS (ZARYA)",
#       "orbit_type": "LEO", "decision": "CONTINUE", "compliance_status": "PASS",
#       "mean_altitude_km": 418.3, "collision_probability": 0.0009, ... } ] }
GET/api/v1/satellites/{noradOrId}

Fetch one satellite by NORAD id or satellite_id.

curl https://<origin>/api/v1/satellites/25544 \
  -H "Authorization: Bearer navis_sk_..."
GET/api/v1/metrics

Aggregate fleet metrics.

curl https://<origin>/api/v1/metrics -H "Authorization: Bearer navis_sk_..."

# → { "satellites_tracked": 12, "active_today": 10, "decommission_queue": 1,
#     "compliance_failing": 0, "compliance_score": 100, "collision_watch": 2,
#     "mean_altitude_km": 612.4, "total_expected_loss_usd": 1840000 }
GET/api/v1/conjunctions

Conjunction screening — real intra-fleet SGP4 close approaches plus official Space-Track CDMs when configured.

curl https://<origin>/api/v1/conjunctions -H "Authorization: Bearer navis_sk_..."

# → { "conjunctions": [ { "primary": "...", "secondary": "...",
#       "tcaIso": "2026-06-15T03:12:00.000Z", "missDistanceKm": 4.21,
#       "relativeVelocityKmS": 12.8, "severity": "high" } ],
#     "catalog": [ { "primary": "...", "secondary": "...", "pc": 1.2e-4,
#       "missDistanceKm": 0.8, "tcaIso": "...", "severity": "critical" } ],
#     "screened": 12, "spaceTrackConfigured": true }
POST/api/private-satellites/ingest

Push a private satellite's ephemeris (TLE / OMM / state vector). Enterprise. See the modal in Inventory → Add Private Asset for the body shape.

curl -X POST https://<origin>/api/private-satellites/ingest \
  -H "Authorization: Bearer navis_sk_..." \
  -H "Content-Type: application/json" \
  -d '{ "satellite_id": "MY-SAT-1", "format": "tle",
        "line1": "1 ...", "line2": "2 ..." }'

Errors

401NO_KEY / BAD_KEYMissing, invalid, or revoked API key.
402PLAN_REQUIREDThe organization is not on an active Enterprise plan.
404NOT_FOUNDResource not in your fleet.
500Server error.

Errors return { "error": string, "code": string }. A machine-readable spec is available at /api/v1/openapi.json.

Notes: responses are not cached; CORS is open for browser clients. Conjunction screening is compute-heavy and may take a few seconds.