Developer Platform

Build on the intelligence layer.

Install one client and the whole Ontology — a living model of your operation — is a typed object away. Query it, run the engines, and drive agents over REST, GraphQL, and streaming APIs — scoped auth and a CLI included.

RESTResource API
GraphQLTyped graph
StreamingEvents · webhooks
v1Stable API surface
APIs

One surface, not three products.

The graph, engines, and agents sit behind one API surface — REST for resources, GraphQL for the exact shape, streaming the moment it lands.

One surface

Read, write, and subscribe.

REST gives you CRUD with idempotency and cursor pagination built in. GraphQL exposes the same data as a typed graph, so one query walks the relations you need.

  • REST endpoints for graph entities, engine runs, and agent tasks.
  • GraphQL for multi-hop reads in one request, typed end to end.
  • Streaming and webhooks push changes as events, with replay.
# GraphQL · the intelligence graph query { facilities(risk: "elevated") { id name eta } } # → 200 OK { "data": { "facilities": [ { "id": "fac_71a3", "eta": "14:20Z" }, { "id": "fac_08c9", "eta": "15:05Z" } ] } }
01

REST API

CRUD over the graph, engines, and agents — with cursor pagination and idempotency keys.

GET · POST · PATCH · DELETE
02

GraphQL

One typed schema — ask for the exact entities, relations, and fields in a single round trip.

query · mutation
03

Streaming APIs

Subscribe to graph changes over WebSocket or webhook, and replay from any offset.

websocket · webhooks
SDKs & CLI

SDKs & CLI.

Install a client, pass a key, and query the graph in a few lines. Types come from your schema, so a wrong field is a compile error.

One line to start

Typed clients, no boilerplate.

One client wraps REST, GraphQL, and streaming — handling auth, retries, and pagination, and returning typed results.

  • Clients for TypeScript, Python, and Go from one API.
  • Generated types keep queries honest against your schema.
  • The CLI scripts the same surface from your shell.
# install $ npm install @cosmonus/sdk // query the graph import { Cosmonus } from '@cosmonus/sdk'; const client = new Cosmonus({ apiKey }); const { facilities } = await client.graph.query({ risk: "elevated", fields: ["id", "eta"], });

TypeScript

Typed client with types generated from your graph schema.

@cosmonus/sdk

Python

Async and sync clients, typed models, and dataframe output.

pip install cosmonus

Go

A small, dependency-light client for services and edge workloads.

go get cosmonus-go

CLI

Query the graph, tail streams, and script the platform from your shell.

cosmonus
Authentication

Scoped by default.

Every request is authenticated and every token is scoped. Grant the minimum a service needs — no more.

Keys & tokens

API keys for server-to-server, OAuth for user-facing apps. Mint scoped tokens and rotate them without downtime.

api key · oauth · scoped

Role-based access

RBAC maps every key and token to roles down to the entity and field level, checked before every call runs.

rbac · least privilege
Start building

Everything is programmable.