The schema is the current public contract for the entities Particulars models. Stable documented fields belong here. Internal implementation fields may exist without becoming part of the public contract.
There is not yet a general public API. This page documents the model so users and builders can understand the ontology, inspect exports, and see how future capabilities connect to the same underlying system.
The schema will expand as new product entities become public.
Organization
The privacy and billing boundary for a set of teams, members, connectors, and records.
| Field | Type | Description |
|---|---|---|
| id · required | string | Stable identifier. |
| slug · required | string | URL slug. Globally unique. |
| name · required | string | Display name. |
| createdAt · required | Date | Creation timestamp. |
| brandColor | string? | Optional org brand hex (e.g. #BE2D6E). |
Member
A person's membership and permission level inside one organization.
| Field | Type | Description |
|---|---|---|
| orgId · required | string | Parent org. |
| userId · required | string | User identity. |
| email · required | string | Email at time of join. |
| role · required | 'owner' | 'member' | Permission level. |
| joinedAt · required | Date | When the user joined. |
Domain
An email domain authorized for automatic organization membership.
| Field | Type | Description |
|---|---|---|
| orgId · required | string | Parent org. |
| domain · required | string | Bare domain (e.g. acme.co). May match more than one org; people choose where to join. |
Charter
The human-readable projection of one team or role model.
| Field | Type | Description |
|---|---|---|
| id · required | string | Stable identifier. |
| slug · required | string | URL slug. Globally unique in storage; organization routes use orgSlug. |
| orgId | string? | Parent organization. Null only on retained, inaccessible legacy rows. |
| teamName · required | string | Human-readable team name. |
| teamMission · required | string | One sentence — the reason this team exists. |
| focusAreas · required | string[] | What the team prioritizes. 3–7 items. |
| measures · required | Measure[] | Lagging and leading indicators. |
| decisionRights · required | DecisionRight[] | Per-decision DICE assignments. |
| roles · required | Role[] | Each role on the team. |
| guidelines · required | Guideline[] | Working agreements. |
| iconSpec · required | IconSpec | Deterministic icon spec. |
| creatorUserId | string? | Account that created the charter; cleared if deleted. |
| editorUserIds · required | string[] | Account IDs allowed to edit. |
| lastEditedAt · required | Date | Last save timestamp. |
Measure
A signal the team uses to understand whether the work is moving in the intended direction.
| Field | Type | Description |
|---|---|---|
| verb · required | string | Direction: increase, decrease, maintain, etc. |
| description · required | string | What is being measured. |
| source · required | string | Where the number lives (URL or freeform). |
DecisionRight
A recurring area of authority with DICE assignments.
| Field | Type | Description |
|---|---|---|
| description · required | string | The decision being assigned. |
| decides · required | string[] | Roles that Decide. |
| informed · required | string[] | Roles that are Informed. |
| consulted · required | string[] | Roles that are Consulted. |
| executes · required | string[] | Roles that Execute. |
Role
A coherent unit of work inside a team, with a focus and one or more possible fillers.
| Field | Type | Description |
|---|---|---|
| title · required | string | Role title (e.g. 'Analyst'). |
| focus · required | string | What this role focuses on. |
| person | string? | Named person, if filled. |
Guideline
A local operating rule or working agreement.
| Field | Type | Description |
|---|---|---|
| title · required | string | Short label. |
| text | string? | Optional longer text. |