Developer Docs
API Reference
REST API for programmatic contact scheduling, TLE management, pass prediction, and webhook-based event delivery. JSON over HTTPS. API key authentication. No SOAP, no EDI, no proprietary SDK required. Base URL: https://api.orbitvein.com/v1
API Key Authentication
All API requests require an API key passed in the X-API-Key header. API keys are provisioned by Orbitvein after you submit the contact form. Each key is scoped to your organization and associated with your NORAD IDs and spacecraft list.
X-API-Key: orbv_sk_live_<your_api_key>
API Endpoint Reference
| Method | Path | Description | Key Parameters |
|---|---|---|---|
| POST | /contacts/schedule | Schedule a contact window at a specific station | norad_id, station, aos_utc, los_utc, frequency_band, aperture_m, priority |
| GET | /passes/predict | Predict all passes for a spacecraft over the next N days | norad_id, days (1-7), min_elevation |
| POST | /tle/ingest | Ingest or update TLE for a spacecraft | norad_id, mission_name, refresh_cadence, auto_update |
| GET | /stations/availability | Check station availability for a time window | start_utc, end_utc, frequency_band, aperture_min |
| GET | /contacts/{id}/status | Get status and post-contact report for a scheduled contact | contact_id (path param) |
Schedule a Contact
import requests
api_key = "orbv_sk_live_..."
base_url = "https://api.orbitvein.com/v1"
# Schedule a contact
response = requests.post(
f"{base_url}/contacts/schedule",
headers={"X-API-Key": api_key},
json={
"norad_id": 58320,
"station": "ZA-Alpha",
"aos_utc": "2025-05-14T03:42:18Z",
"los_utc": "2025-05-14T03:53:44Z",
"frequency_band": "X",
"aperture_m": 5.4,
"priority": "standard",
"ccsds_mode": "TM_TC"
}
)
contact = response.json()
print(contact["contact_id"], contact["status"])
curl -X POST https://api.orbitvein.com/v1/contacts/schedule \
-H "X-API-Key: orbv_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"norad_id": 58320,
"station": "ZA-Alpha",
"aos_utc": "2025-05-14T03:42:18Z",
"los_utc": "2025-05-14T03:53:44Z",
"frequency_band": "X",
"aperture_m": 5.4,
"priority": "standard",
"ccsds_mode": "TM_TC"
}'
Response
{
"contact_id": "ctct_7aKx29mBnQ",
"status": "confirmed",
"station": "ZA-Alpha",
"aos_utc": "2025-05-14T03:42:18Z",
"los_utc": "2025-05-14T03:53:44Z",
"aperture_m": 5.4,
"frequency_band": "X",
"delivery_endpoint": "s3://your-bucket/contacts/ctct_7aKx29mBnQ/"
}
Event Notifications
Orbitvein pushes contact lifecycle events to your configured webhook endpoint. Configure your webhook URL via the contact form when requesting your API key.
Webhook Payload Example
{
"event": "contact.data_ready",
"contact_id": "ctct_7aKx29mBnQ",
"norad_id": 58320,
"station": "ZA-Alpha",
"actual_aos_utc": "2025-05-14T03:42:21Z",
"actual_los_utc": "2025-05-14T03:53:41Z",
"contact_duration_s": 680,
"delivery_endpoint": "s3://your-bucket/contacts/ctct_7aKx29mBnQ/",
"frame_count": 14280,
"peak_elevation_deg": 71.3
}
Get Your API Key
Keys are provisioned after a brief operator onboarding — typically within one business day. Contact us with your NORAD ID, spacecraft name, and primary frequency band. No procurement approval process. No 30-day sales cycle.