FEATURES
Organizations
Organization templates, member directory, and feature matrix assignment across workspaces and environments.
Overview
Organization templates, member directory, and feature matrix assignment across workspaces and environments.
Who should use this
SaaS operators onboarding a customer account with one or more products.
Core concepts
Tenant → Workspace (product) → Environment (dev/uat/prod). Templates set default environment mode and bundled features.
Setup
1) POST /tenants 2) POST /tenants/{id}/workspaces with templateKey 3) PATCH /feature-matrix to enable features per environment.
Required entitlement
Feature key: organizations (included on paid plans).
Required permissions
workspace.create, feature_matrix.manage, tenant.members.invite.
REST API
GET/PATCH /tenants/{tenantId}/feature-matrix, GET /tenants/{tenantId}/members.
SDK (@startupcore/api-client)
- import startupCore from "@startupcore/api-client";
- const matrix = await startupCore.organizations.getFeatureMatrix(tenantId);
- await startupCore.organizations.updateFeatureMatrix(tenantId, { environmentId, featureKey: "chatbot", enabled: true });
React components
<WorkspaceSwitcher />, <EnvironmentSwitcher />, <EnvironmentFeatureMatrix onToggle={...} /> from @startupcore/organizations-react.
Security notes
Feature matrix changes are audited. Cross-tenant IDs in URLs are rejected.
Troubleshooting
FEATURE_NOT_ENTITLED — upgrade plan or enable tenant entitlement. FORBIDDEN — check tenant role.