Demo environment. Do not submit proprietary or export-controlled information.

Docs

API and SDK reference

The web console and Python SDK share one FastAPI contract. Use the public demo to create a job, inspect its route, and retrieve its result.

Quickstart

One request, end to end.

Submit a job, poll its status, then fetch the routing scores, lifecycle events, and GeoJSON result. The demo credential oc_demo_public works for everyone. Creation is rate-limited per IP.

The credential identifies the shared demo in examples. It is not customer authentication. The async worker normally completes jobs automatically.

01 Request

POST a job with an area, sensor, priority, and budget.

02 Poll

Read the persisted lifecycle until complete or failed.

03 Explain

Inspect candidates, hard constraints, scores, and replay hash.

04 Return

Fetch GeoJSON plus the signed artifact manifest.

Endpoints

Base URL: https://api.nomosorbital.com

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://api.nomosorbital.com/v1/jobs \
  -H "Authorization: Bearer oc_demo_public" \
  -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_demo_public", base_url="https://api.nomosorbital.com")

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)

The hand-written wrapper adds retries, sync and async clients, and `wait_for_job` polling over the generated OpenAPI types.

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