Docs
API and SDK reference
The Nomos Orbital web app and Python SDK share the same FastAPI contract.
Endpoints
Base URL: https://orbital-cortex-api.fly.dev
POST/v1/jobs
Create a job and routing decision
GET/v1/jobs
List jobs
GET/v1/jobs/{job_id}
Read job detail
GET/v1/jobs/{job_id}/events
Read lifecycle events
GET/v1/jobs/{job_id}/scene
Read scene metadata
GET/v1/jobs/{job_id}/routing
Read route scores
POST/v1/jobs/{job_id}/replay
Replay routing for audit hash
GET/v1/jobs/{job_id}/result
Read result manifest and artifact URLs
GET/v1/jobs/{job_id}/detections
Read detections GeoJSON
GET/v1/nodes
Read compute nodes and ground stations
GET/v1/ground-stations
List ground stations
GET/v1/satellites
List satellites with pinned TLEs
GET/v1/contact-windows
List SGP4 contact windows
POST/v1/simulate/run/{job_id}
Advance simulation manually
Create job
curl -X POST https://orbital-cortex-api.fly.dev/v1/jobs \
-H "Authorization: Bearer oc_test_123" \
-H "Content-Type: application/json" \
-d '{
"job_type": "ship_detection",
"area_of_interest": {
"type": "bbox",
"coordinates": [-74.3, 40.3, -73.5, 41.0]
},
"sensor": "SAR",
"priority": "fastest",
"compute_preference": "orbital_if_available",
"max_cost_usd": 500
}'Python SDK
from orbitalcortex import Client
client = Client(api_key="oc_test_123", base_url="https://orbital-cortex-api.fly.dev")
job = client.jobs.create(
job_type="ship_detection",
area_of_interest={
"type": "bbox",
"coordinates": [-74.3, 40.3, -73.5, 41.0],
},
sensor="SAR",
priority="fastest",
compute_preference="orbital_if_available",
max_cost_usd=500,
)
print(job)Job lifecycle
queued -> routing -> executing -> downlinking -> complete
Default use case
SAR ship detection over New York Harbor
Result shape
GeoJSON detections and signed artifact URLs