Skip to main content

Account Options

Account Options is the global key/value store for account-wide settings — units, defaults, feature flags, reusable metadata. Think org-wide preferences, not per-event constants.

Find it at Admin → Account Options in the ribbon. Route: /admin/account-options. API: GET / PATCH /account-options.

How it's modelled

A single account-scoped row keyed by accountId. The body is a JSON object with whatever keys you want. The schema validates loose JSON — there is no fixed key list.

{
"options": {
"defaultUnits": "metric",
"lapTimeFormat": "M:SS.fff",
"fuelDensityKgPerL": 0.745,
"anomalyEmail": "ops@team.example",
...
}
}

Where the values get used

  • The Flutter client reads accountOptionsProvider and uses keys it understands (units defaults, time format) to override its own fallbacks.
  • Math expressions can reference account options through the Account.option(key) scope (resolved at evaluation time).
  • Plugins requesting storage capability get a per-plugin view scoped under the same row.

What you can do today

  • Author free-form keys + JSON values via the admin
  • PATCH partial updates — only the keys you send are merged
  • Read the same blob from any client via GET /account-options

What's coming

  • Schema-validated keys — declare expected keys + types up front so typos surface as errors, not silent data
  • Per-event overrides — today, Event Data is the parallel surface for per-event constants; we want to layer the two cleanly
  • History — see who changed what, when