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.