Operations
Organizations, projects, and billing
The tenancy tree and the commerce layer on top.
Repository-validated operator guidance View source ↗
#Tenancy tree

Organizations own projects, projects own environments, and servers attach to orgs. Environment variables resolve per environment with a resolved view. Invitations are separate for subusers (per-server) and org members — accepting the wrong kind goes nowhere. Preview environments hang off projects with per-branch TTLs and HMAC webhooks.
Under /api/v1
GET|POST /organizations GET /organizations/:slug
GET|POST /organizations/:id/projects PUT|DELETE /projects/:id
GET|POST /projects/:id/envs .../env-vars .../env-vars/resolved
POST /organizations/:id/members|/invitations#Billing
Plans are versioned by code with per-org quotas, usage events, and metered resources. Webhooks verify HMAC signatures with event IDs for idempotent processing. Quotas auto-provision on first read so a fresh org never 404s on its own limits.
Under /api/v1/billing
GET|POST /plans GET|PUT|DELETE /plans/:code
GET /org/:orgId/quota POST .../plan GET .../usage
POST /usage GET|PUT /settings POST /webhook (HMAC)