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