Documentation

Glossary

Terms used across AppMint, defined once.

A short reference for words that show up everywhere in these docs. Skim it once, come back when something feels under-defined.

A

agent-zero The AI build environment that pairs with Vibe Studio to scaffold, edit, and ship code. Agent-zero owns the multi-step plan; Vibe Studio is the interactive surface.

AppEngine The multi-tenant NestJS backend at the center of AppMint. Exposes REST APIs for auth, data, commerce, CRM, messaging, voice, banking, automation, and AI. Everything else in the platform calls AppEngine.

AppMint The platform as a whole — AppEngine, Appmint Studio, Vibe Studio, agent-zero, SpinForge, mobile SDKs, chat-client.

Appmint Studio The admin web app ("All in One Management & Design UI") — operators use it to run the business: manage contacts, products, orders, pages, automations, broadcasts. Talks to AppEngine. Also ships a Chrome extension and a business-app companion.

API key A long-lived credential sent as x-api-key. Suited for server-to-server calls, build pipelines, headless clients. Always paired with the orgid header.

B

BaseModel<T> The wrapper every AppEngine record comes back in. Carries pk, sk, version, state, datatype, createdate, modifydate, and the typed payload in data. See Data model.

base-app The canonical Next.js reference site. Lives at /Users/imzee/projects/base-app/. The patterns in src/lib/appmint-* are the reference for how to consume AppEngine from a Next.js app.

C

chat-client The embeddable chat widget. Drop a <script> tag on any page and you get a live chat backed by AppEngine's ChatGateway.

Collection A typed table — analogous to a MongoDB collection or SQL table. AppMint ships ~150 built-in collections (contacts, products, orders, pages, etc.) and lets you define custom ones at runtime. Records are wrapped in BaseModel\<T\>.

Customer An end-buyer or app user — distinct from a User. Customers sign in at POST /profile/customer/signin. Most public-facing storefront and account endpoints expect a Customer principal.

D

Discovery API A self-documenting endpoint at /discover/* that serves AppEngine's docs as Markdown. Public, no auth required. Designed for AI agents and integration tools.

Domain A hostname mapped to a Site. One site can have many domains; one org can have many sites.

J

JWT JSON Web Token. Short-lived (typically 15-60 min) bearer credential issued by sign-in flows. Sent as Authorization: Bearer <jwt>. Refresh via POST /user/refresh or POST /customer/refresh.

JwtAuthGuard The NestJS guard registered globally as APP_GUARD. Reads the Authorization header, validates the JWT, and attaches the principal to the request. Routes decorated @PublicRoute() skip the guard.

M

Magic link Passwordless sign-in. The user receives an email link (or 6-digit code) that grants a session. Backed by GET /magic-link and POST /magic-link/redirect.

O

OrgId The string identifier of an organization. Sent as the orgid HTTP header on essentially every AppEngine call. Multi-tenant boundaries are enforced server-side based on this header.

Organization (org) A tenant. Owns every record, every site, every user. One orgid per organization, fixed at creation.

P

Principal The authenticated identity attached to a request — either a User or a Customer. Resolved by JwtAuthGuard from the JWT or API key.

Permissions Fine-grained access tags (create, read, update, delete) used by the @RequirePermissions decorator. Layered on top of Roles.

R

Roles Named role types like RootSystem, RootAdmin, ConfigAdmin, ContentAdmin, applied via the @Roles decorator. Roles gate what a User can call; Customers use a different scoping model.

S

Site A deployable web property attached to an org — pages, theme, domains, dev-environment config. Managed by the SiteModule and deployed to Kubernetes via K8sDeploymentService.

SpinForge The deployment target for code shipped from Vibe Studio / agent-zero. Provides hosting + container lifecycle for AppMint-built apps.

SSE Server-sent events. AppEngine uses SSE for AI streaming: POST /ai/agent/stream returns a streamId, then GET /ai/stream/:streamId opens the stream.

T

Tenant Same as Organization. Used interchangeably in the docs.

Two-factor auth (2FA) Optional second factor for sign-in, configured at /profile/security/2fa/*. Supports TOTP and SMS methods.

U

User A staff/operator principal — admins, configurers, content editors. Distinct from a Customer. Users sign in at POST /profile/signin.

V

Vibe Studio The AI-assisted build surface. Pairs with agent-zero to plan, generate, and iterate on code, then ships to SpinForge.

W

WebSocket AppEngine exposes several WS gateways: ChatGateway, CommunityChatGateway, SimpleVoiceGateway, AIVoiceGateway. Distributed state goes through a Redis adapter so multiple instances can share rooms.