ulams tenants
Generated from front/cli (ulams schema)
ulams tenants create
Section titled “ulams tenants create”Create a tenant (database, bucket, env, keys, demo users) and wait for it.
Provisioning is queued and takes about a minute; this waits and prints progress (use –no-wait to return the handle tenant-op:ulams operations wait). Asking for a tenant that failed resumes it at the first unfinished step; an existing active tenant is a conflict (exit 6). The slug is 2 to 30 lowercase letters and digits starting with a letter.
Kind: write. Stability: stable. MCP tool: tenants_create. Scopes: platform:write.
Endpoints: POST /api/platform/tenants.
| Flag | Type | Required | Description |
|---|---|---|---|
--slug (positional) |
string | yes | Slug of the new tenant. |
--name |
string | Display name. | |
--theme |
string | Front theme preset, coffee, oncall, nightsky, gravity, poland or ulam. | |
--accent |
string | Accent colour, e.g. #C2552D. | |
--users |
integer | Number of demo students (default 5). | |
--demo |
boolean | Demo mode: login without a password, hourly reset. |
# A demo tenantulams tenants create acme --name "Acme Academy" --theme coffee --accent "#C2552D" --users 3 --demo --jsonInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "slug": { "type": "string", "description": "Slug of the new tenant." }, "name": { "description": "Display name.", "type": "string" }, "theme": { "description": "Front theme preset, coffee, oncall, nightsky, gravity, poland or ulam.", "type": "string" }, "accent": { "description": "Accent colour, e.g. #C2552D.", "type": "string" }, "users": { "description": "Number of demo students (default 5).", "type": "integer", "minimum": 0, "maximum": 50 }, "demo": { "description": "Demo mode: login without a password, hourly reset.", "type": "boolean" } }, "required": [ "slug" ]}ulams tenants delete
Section titled “ulams tenants delete”Delete a tenant and ALL its data (database, files, settings) and wait for it.
Permanent. The command asks for –yes (exit 11 with the plan otherwise); the slug is sent to the API as the confirmation. Waits for the queued deletion (–no-wait returns the handle tenant-op:
Kind: destructive. Stability: stable. MCP tool: tenants_delete. Scopes: platform:write.
Endpoints: DELETE /api/platform/tenants/{slug}.
| Flag | Type | Required | Description |
|---|---|---|---|
--slug (positional) |
string | yes | Tenant slug (from ulams tenants list). |
# Deleteulams tenants delete acme --yes --jsonInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "slug": { "type": "string", "description": "Tenant slug (from `ulams tenants list`)." } }, "required": [ "slug" ]}ulams tenants get
Section titled “ulams tenants get”Show one tenant: status, hosts, finished provisioning steps, the names of its setting overrides.
Kind: read (idempotent). Stability: stable. MCP tool: tenants_get. Scopes: platform:read.
Endpoints: GET /api/platform/tenants/{slug}.
| Flag | Type | Required | Description |
|---|---|---|---|
--slug (positional) |
string | yes | Tenant slug (from ulams tenants list). |
# A tenantulams tenants get coffee --jsonInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "slug": { "type": "string", "description": "Tenant slug (from `ulams tenants list`)." } }, "required": [ "slug" ]}ulams tenants list
Section titled “ulams tenants list”List the tenants of this platform.
Kind: read (idempotent). Stability: stable. MCP tool: tenants_list. Scopes: platform:read.
Endpoints: GET /api/platform/tenants.
# Tenantsulams tenants list --fields slug,status,urls.front --jsonInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": {}}ulams tenants operations get
Section titled “ulams tenants operations get”Status and steps of one tenant operation.
Kind: read (idempotent). Stability: stable. MCP tool: tenants_operations_get. Scopes: platform:read.
Endpoints: GET /api/platform/operations/{id}.
| Flag | Type | Required | Description |
|---|---|---|---|
--id (positional) |
string | yes | Operation id (from tenants create --no-wait or tenants operations list). |
# An operationulams tenants operations get 01j9z3k8m2x4q7r5t6v8w0y1ab --jsonInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "id": { "type": "string", "description": "Operation id (from `tenants create --no-wait` or `tenants operations list`)." } }, "required": [ "id" ]}ulams tenants operations list
Section titled “ulams tenants operations list”The latest tenant operations (creations and deletions), newest first.
Kind: read (idempotent). Stability: stable. MCP tool: tenants_operations_list. Scopes: platform:read.
Endpoints: GET /api/platform/operations.
# Operationsulams tenants operations list --jsonInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": {}}ulams tenants set-env
Section titled “ulams tenants set-env”Override or reset inheritable settings of a tenant (AI driver, key and models).
Only the keys the platform lets a tenant override are accepted (ANTHROPIC_API_KEY, AI_DRIVER, AI_MODEL_*); anything else is refused (exit 7). Values are never shown back: the result lists the names of the overridden keys. Example: –override AI_DRIVER=fake.
Kind: write (idempotent). Stability: stable. MCP tool: tenants_set_env. Scopes: platform:write.
Endpoints: PATCH /api/platform/tenants/{slug}/env.
| Flag | Type | Required | Description |
|---|---|---|---|
--slug (positional) |
string | yes | Tenant slug (from ulams tenants list). |
--override |
array | KEY=value; repeat for several. | |
--reset |
array | KEY to drop, so the tenant inherits the platform value again; repeat. |
# A fake AI driver for testsulams tenants set-env acme --override AI_DRIVER=fake --jsonInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "slug": { "type": "string", "description": "Tenant slug (from `ulams tenants list`)." }, "override": { "description": "KEY=value; repeat for several.", "type": "array", "items": { "type": "string" } }, "reset": { "description": "KEY to drop, so the tenant inherits the platform value again; repeat.", "type": "array", "items": { "type": "string" } } }, "required": [ "slug" ]}