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.