# api

API reference

Two API surfaces: Runtime APIs are stable contracts that ship VAOS as infrastructure. Cognition APIs are an evolving surface where reasoning, prediction, and trace endpoints live.

OpenAPI spec ↗ SDK →
stable

Runtime APIs

Scenes · Actions · Memory · Sensors · Plugins. Versioned contracts, semver-compatible across minor releases. Build production systems against these.

evolving

Cognition APIs

Reason · Predict · Summarise · Score · Trace. These surfaces evolve as reasoning improves. Expect minor breaks across versions — pin your client.

API reference

Default base URL is http://localhost:8800. All responses are JSON. Authentication via API key header (X-VAOS-Key) when configured.

GET /scenes/latest

Return the most recent Scene Contract from a sensor.

requestcurl
curl http://localhost:8800/scenes/latest?camera=0

Response: Scene Contract object.

GET /scenes

Query historical scenes from local memory.

ParamTypeDescription
typestringFilter by event type
sinceISO 8601Earliest timestamp
limitintDefault 50, max 500

POST /actions

Emit a validated action. Validation gate is on by default.

requestjson
{
  "type": "notify",
  "target": "safety-team",
  "channel": "slack://ops-safety",
  "validation": true
}

GET /sensors

Return per-sensor reliability scores and ISP metadata.

GET /health

Liveness and readiness probe. Returns runtime status, plugin versions, hardware backend.

WebSocket /ws/scenes

Stream Scene Contracts as they're published. JSON-encoded frames.

connectjs
const ws = new WebSocket("ws://localhost:8800/ws/scenes");

WebSocket /ws/actions

Stream emitted actions and their validation results.

vaos/scene

Per-camera topic. Payload is the Scene Contract.

vaos/action

Emitted actions with validation result.

vaos/sensor

Sensor reliability scores and warnings.

GET /memory

Query the local Memory Engine — temporal summaries, priors, expectation models.

GET /plugins

List installed plugins with versions, capabilities, and runtime status.


evolving · pin your client

Cognition APIs

The reasoning surface. Endpoints below evolve as the Reasoning Runtime and SceneLM improve. Minor breaks may land in minor versions — production systems should pin a client version.

POST /reason

Run the orchestrator over a scene + memory + policy snapshot. Returns candidate actions with confidence breakdown.

requestjson
{
  "scene": { ... },
  "engines": ["scenelm", "rules"],
  "include_trace": true
}

POST /predict

Forward-model the next-state from the current scene and memory. Used for proactive intervention. Backed by SceneLM-predictive variant when available.

POST /summarize

Compact natural-language summary of a scene window. Suitable for logs, dashboards, and human handoff.

POST /score

Compute the validation envelope C_v for a candidate action without emitting it. Useful for shadow-mode testing.

responsejson
{
  "C_v": 0.84,
  "components": {
    "C_s": 0.92,
    "C_m": 0.78,
    "C_t": 0.81,
    "C_h": 0.88
  },
  "threshold": 0.70,
  "would_pass": true
}

GET /trace

Replay the full reasoning trace for a past decision — scene, engine outputs, scoring, validation envelope, emitted action. Audit-ready.

Patent pending. Validation envelope on actions and sensor reliability scoring are protected by patents pending. Open under Apache 2.0 for the open-source distribution.