API reference
This reference is generated from packages/contracts, the package every other part of Novaterra depends on. The API validates against these schemas, the web client is typed by them, and this page is built from them — so if the code changes and the docs do not, the build says so.
Today the contract covers 129 entities, 309 REST routes and 21 realtime events.
Where to go
| Entities | Every schema, with its fields, constraints and defaults. |
| REST routes | The full HTTP surface, grouped by area. |
| WebSocket events | What the server pushes, and what a client may send. |
Using the contracts directly
If you are writing against Novaterra from inside this repository, import the schemas rather than retyping them:
import { Being, Signal, routes } from '@novaterra/contracts';
const response = await fetch(`${API}${routes.beings.list.split(' ')[1]}`, { credentials: 'include',});const beings = Being.array().parse(await response.json());Every route in the catalogue is a "METHOD /path" string, so the method and the path can never disagree between client and server.
Do not edit these pages. They are rewritten by apps/docs/scripts/gen-api.ts on every build. To change the reference, change the contract.