Reference
Platform Contracts
Core API and payload rules for admin, platform, and runtime-facing internal consumers
Tenant routes
Transport should be tenant-first:
/api/v1/admin/tenants/api/v1/admin/tenants/:tenantId/apps/api/v1/admin/tenants/:tenantId/plans/:planId/apps/api/v1/admin/tenants/:tenantId/worker-config
App payload rules
App payloads should carry:
- app identity
- title and icon
- primary path
- switcher/sidebar presentation hints
- module and capability summaries
- runtime state via
workspace_state - explanation via
reason_code
They should not promote:
- payment providers
- shipping providers
- tax engines
- subpages like categories or orders
into top-level app identity.
Presentation rule
Presentation hints do not remove an entitled app from the resolved app payload.
They only affect:
- selector visibility
- sidebar visibility
- preferred entry behavior
Runtime rule
First-party apps are resolved from tenant and plan entitlements, not workspace install rows.