Glossary
Vocabulary used across Jaina.
Action — A verb you define on a schema (e.g., reboot, publish, notify). Fires through any door — GUI button, API call, MCP tool — and triggers a webhook to your handler.
API token — A bearer token used to authenticate REST and MCP requests. Format: jn_live_... for live, jn_test_... for sandbox. Scoped to a user.
Door — One of three access paths to the same data: GUI, REST API, MCP. None is privileged.
Field — A property of a schema. Has a slug, a type, and config.
MCP — Model Context Protocol. A tool-call protocol between an AI client and an MCP server. Jaina exposes one at https://jaina.dev/api/mcp.
model.json — A package's canonical export format. JSON document with package, schemas, and records keys.
Package — A folder of records inside a project. The unit of export.
Primitive — An atomic field type: text, number, boolean, date, file, reference, select.
Project — The top-level container. Has a slug, schemas, packages, and records.
Record — An instance of a schema. Has an id, a schema_id, and a data JSONB payload.
Reference — A field type whose value is a UUID pointing to another record. Configured with targetSchema.
RLS — Row Level Security. Postgres-level access control. Enforced on every table. The reason no user can see another user's data, period.
Schema — A typed shape. The meta-class. Defines what records of this type look like.
Slug — A URL-safe identifier (lowercase, digits, hyphens). Used in URLs and as a stable key.
SuperModel — A whole-project export. JSON document containing every package's model.json.
Three doors — The Jaina design principle: same data accessible equally through GUI, API, and MCP. No primary, no secondary.
Webhook — An HTTP POST Jaina fires when a record event occurs. Signed with HMAC-SHA256. Retried with exponential backoff on failure.
