Tenant
Many tenant instances of the platform, each a complete deployment, managed from one place.
glueRunning the shop60 operationsid tenant
How it sits
Glue chains parts together and keeps the result running. The counts and the links below are from the platform's spec and the other services' own descriptions.
| Operations | 60 GET 25 · POST 24 · DELETE 5 · PUT 4 · PATCH 2 |
| Resources | 8 |
| Leaned on by | Billing |
| Leans on | none named |
| In recipes | none yet |
What it can do
60 operations in 8 resources, as the spec declares them. Each row is one call; paths are relative to the part.
tenants
| Method | Path | Does |
|---|---|---|
| GET | /api/tenants | List all tenants |
| POST | /api/tenants | Create a new tenant |
| GET | /api/tenants/by-subdomain/{host} | Resolve a Host header to a tenant (public) |
| GET | /api/tenants/labels | Lightweight {slug, name, display_name} list for every tenant (public) |
| GET | /api/tenants/{slug}/apps | List all apps for a tenant (public) |
| POST | /api/tenants/{slug}/apps | Add an app to a tenant |
| DELETE | /api/tenants/{slug}/apps/{app_id} | Delete a tenant app |
| PATCH | /api/tenants/{slug}/apps/{app_id} | Update a tenant app |
| GET | /api/tenants/{slug}/brand | Public brand metadata for a tenant |
| GET | /api/tenants/{slug}/domains | List all domains for a tenant (public) |
| POST | /api/tenants/{slug}/domains | Add a domain to a tenant |
| DELETE | /api/tenants/{slug}/domains/{domain_id} | Delete a tenant domain |
| PATCH | /api/tenants/{slug}/domains/{domain_id} | Update a tenant domain |
| GET | /api/tenants/{slug}/theme/analysis/{analysis_id} | Poll status / fetch results of a theme analysis |
| POST | /api/tenants/{slug}/theme/analyze | Start AI theme analysis from a URL |
| GET | /api/tenants/{slug}/theme/history | List past theme analyses for a tenant |
| GET | /api/tenants/{slug}/theme/screenshot/{analysis_id} | Fetch the screenshot captured during analysis |
| GET | /api/tenants/{slug}/themes | List every theme row for a tenant (admin only) |
| POST | /api/tenants/{slug}/themes | Create a new theme row (admin only) |
| DELETE | /api/tenants/{slug}/themes/{theme_id} | Delete a theme row (admin only) |
| PUT | /api/tenants/{slug}/themes/{theme_id} | Update an existing theme row (admin only) |
| POST | /api/tenants/{slug}/themes/{theme_id}/activate | Make this theme the active one (admin only) |
| DELETE | /api/tenants/{tenant_id} | Delete a tenant |
| GET | /api/tenants/{tenant_id} | Get tenant details |
| PUT | /api/tenants/{tenant_id} | Update tenant metadata |
| POST | /api/tenants/{tenant_id}/admins | Provision a first admin user for a tenant |
| GET | /api/tenants/{tenant_id}/config | Get tenant configuration |
| PUT | /api/tenants/{tenant_id}/config | Update tenant configuration |
| POST | /api/tenants/{tenant_id}/config/regenerate-env | Regenerate tenant .env file |
| POST | /api/tenants/{tenant_id}/dns/add | Add Dns Records |
| POST | /api/tenants/{tenant_id}/nginx/enable | Enable Nginx Config |
| POST | /api/tenants/{tenant_id}/nginx/generate | Generate Nginx Config |
| POST | /api/tenants/{tenant_id}/pull | Quick Pull Tenant |
| POST | /api/tenants/{tenant_id}/services/provision | Provision external services |
| POST | /api/tenants/{tenant_id}/services/restart | Restart Tenant Services |
| POST | /api/tenants/{tenant_id}/services/start | Start Tenant Services |
| GET | /api/tenants/{tenant_id}/services/status | Get Service Status |
| POST | /api/tenants/{tenant_id}/services/stop | Stop Tenant Services |
| POST | /api/tenants/{tenant_id}/services/validate | Validate external services |
| POST | /api/tenants/{tenant_id}/snapshot-db | Snapshot production databases |
| POST | /api/tenants/{tenant_id}/ssl/obtain | Obtain Ssl Certificate |
| GET | /api/tenants/{tenant_id}/status | Get Deployment Status |
| POST | /api/tenants/{tenant_id}/upgrade | Upgrade Tenant |
| GET | /api/tenants/{tenant_id}/version | Get Tenant Version |
44 operations
auth
| Method | Path | Does |
|---|---|---|
| POST | /api/auth/login | Login with OAuth2 form |
| POST | /api/auth/login/json | Login with JSON credentials |
| POST | /api/auth/logout | Logout (client-side) |
| GET | /api/auth/me | Get current user |
4 operations
settings
| Method | Path | Does |
|---|---|---|
| GET | /api/settings | List all settings |
| DELETE | /api/settings/{key} | Delete a setting |
| GET | /api/settings/{key} | Get a setting by key |
| PUT | /api/settings/{key} | Create or update a setting |
4 operations
github
| Method | Path | Does |
|---|---|---|
| POST | /api/github/webhook | Github Webhook |
| GET | /api/github/webhook/status | Webhook Status |
2 operations
health
| Method | Path | Does |
|---|---|---|
| GET | /health | Basic health check |
| GET | /health/detailed | Detailed health check |
2 operations
ports
| Method | Path | Does |
|---|---|---|
| GET | /api/ports | List all port allocations |
| GET | /api/ports/next-available | Get next available port pair |
2 operations
prime
| Method | Path | Does |
|---|---|---|
| GET | /prime | Prime application caches |
1 operation
status
| Method | Path | Does |
|---|---|---|
| GET | /status | Service status overview |
1 operation
All the partsRunning the shopThe platform's own id for this service is cbtenant.
forge-catalog.json, generated Oct 30, 2026