update_project
Update project metadata (name, description, multiTenant/publicSignup flags, email verification mode and email branding). Does not affect the project's data table or schema.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Updated display name | |
| logoUrl | No | HTTPS URL of the logo shown in this project's account emails (verification, password reset). Without it, the emails show the project name as text. | |
| brandColor | No | Header and button color for this project's account emails, as #rrggbb. | |
| project_id | No | Project record ID (e.g. 'PRJ3'). Optional if whoami returned a default_project_id — falls back to that; pass explicitly to target a different project. | |
| description | No | Updated description | |
| multiTenant | No | Updated multiTenant flag. true = each tenantId-less signup creates its own tenant; false = single shared tenant (only the first signup bootstraps it, others join via tenantId). Only takes effect when publicSignup is also true. | |
| publicSignup | No | Updated publicSignup flag. true = the public may self-register a new tenant via /auth/signup (subject to multiTenant above); false = only the project owner may create tenants, via direct POST /tenants. | |
| emailVerification | No | Email verification for this project's users. off (default): no verification email is sent. optional: a verification email is sent on signup and emailVerified is tracked, but nothing is blocked. required: signup returns no session and signin is refused with EMAIL_NOT_VERIFIED until the user verifies. Before switching a project that already has users to required, their existing accounts must be marked verified (scripts/backfill_project_auth_fields.py --grandfather-users) or they are locked out. |