Skip to content

Project structure

An organization holds your team, your plan and your billing. An organization has projects. Each project has its own tables, app users, storage buckets, functions and API keys.

A project can have several environments, such as development, staging and production. API keys and secrets belong to an environment: a key created in staging works in staging. Choose the environment in the console header before you create a key or a secret. Project owners and admins can add environments under Project settings > Environments.

Each area of a project has its own page:

Page What it holds
Schema, Table Editor, SQL Editor Your tables, their rows, and SQL you run against them
Authentication Your app’s users, sign-in methods, sessions, two-factor settings and redirect URLs
Storage Buckets, files and access policies
Functions Your functions, their invocations and their logs
Realtime Which tables send changes, live connections and an event log
API Explorer Every route your project serves, to try out
Integrations Webhooks, database connectors and Postgres extensions
Observability Reports, alerts and logs
Security API keys and deploy tokens, variables and secrets, network settings and the audit log
Verament AI-assisted generation for the project

Your app talks to its project through https://api.vaif.studio:

  • /v1/data/{projectId}/{table}: the data API for each table. See the REST API.
  • /projects/{projectId}/auth/...: sign-up and sign-in for your app’s users.
  • /storage/...: file uploads and downloads.
  • /functions/{name}/invoke: your functions.
  • wss://api.vaif.studio/realtime/ws: realtime changes, broadcast and presence.

@vaifstudio/client calls all of these for you.