Create workspace
Create a new workspace. Multiple workspaces per user are allowed; each has its own subscription. Returns 201 with workspace detail.
Headers
Bearer {access_token}
Request
name (required); slug, billingEmail, type, and tier are optional; pro/team tiers start a 7-day trial
The server trims surrounding whitespace, then requires 1-100 UTF-8 bytes.
Empty is allowed; non-empty values are validated with Go’s mail.ParseAddress.
Empty is allowed and causes automatic slug generation. A non-empty value must contain URL-safe ASCII letters, numbers, and hyphens with no leading or trailing hyphen; validation is case-insensitive.
Leading/trailing whitespace and letter case are ignored. “pro” or “team” starts a 7-day trial; empty/“free” means free/active. Enterprise is NOT allowed via tier (use type=“enterprise” instead).
Leading/trailing whitespace and letter case are ignored. Empty defaults to “personal”; the other accepted value is “enterprise”. Use json:“type” (not omitempty) so request bodies always bind “type” reliably across JSON decoders.
Response
data: created workspace (id, name, slug, type, ownerId, logoUrl, billingEmail, settings, createdAt, updatedAt)