Generate Seed Configuration
Returns a fresh, structured JSON configuration body for a starter variant —
the exact content POST /configuration/seed would apply — without
seeding and without mutating the company.
This is a pure preview/generation endpoint: given an optional starterSheet
(the same names seed and seed/options use), it materializes that
variant’s code-defined starter content in-memory and returns it as JSON. The
response is the exact shape import accepts and export
returns, so a caller can review/edit the body and POST it to import.
This endpoint does NOT change the company’s configuration. To apply a starter
variant directly, use POST /configuration/seed; to apply an edited body,
POST it to POST /configuration/import.
Required permission: company.configuration:export
This endpoint requires an API key created with the FMV1_CONFIGURATION_MANAGER role. See Authentication for how to create API keys with specific roles.
Authorizations
User-principal OAuth 2.0 Bearer authentication. Send a user-scoped Auth0 access token (audience = the app API audience) as Authorization: Bearer <jwt>. The request resolves to the user's identity and is authorized by their Role on the {companyId} in the path — the same role-based permissions the web app enforces. This is the path the MCP connector uses to act on a user's behalf; endpoints that accept it list both BearerAuth and ApiKeyAuth.
Path Parameters
Company identifier
Body
Request to generate (preview) a starter configuration body. Unlike POST /configuration/seed, the generate endpoint takes a single named starterSheet variant only — it accepts neither the explicit modules selection nor the replace guard, because it never mutates the company.
Which starter variant to generate. If omitted, the product default variant (single-exposure-list) is used. Discover the valid names and their descriptions via GET /configuration/seed/options (options). An unknown name fails with a 400 (UnknownStarterSheet) listing the available variants.
default-rater, single-exposure-list, standalone-primary-insured Response
The materialized starter configuration as a structured JSON body
Structured FMV1 configuration body. This is both the body the import
endpoint accepts and the body the export endpoint returns, so
export → (edit) → import is a lossless round-trip. Each property is an
array of config rows; the import runs them through the full validate →
compare → apply pipeline.
The per-element schemas below are the canonical FMV1 configuration model and the single source of truth for this payload.
Field definitions, keyed by entity + reference id.
Page definitions.
Card definitions.
Placements of cards onto pages.
Option-set type declarations.
Custom-object type declarations.
Option sets and their options.
Custom-object sub-field definitions, joined to object types.
Object-primitive sub-field definitions (Address / Date / Currency).
Field placements (the layout) onto cards.
Rating workflow definitions.
Per-entity invariant conditions enforced on every write.
Forms-logic rules (quote-flow auto-add rules). Optional — existing payloads predate the "Forms" tab; absent ⇒ no rules.
Smart tags — the named values resolved into generated documents. Optional: existing payloads predate the slice, and absent ⇒ no smart tags, which is also how a company that has not yet moved to this format is recognised.
Omitted from an export when the company has none, rather than emitted as an empty array.
Declared export columns — the tenant-facing column set of each export surface (the seven entity exports plus the bordereau). Optional: existing payloads predate the slice, and absent ⇒ no declared columns, which is also how a surface that still offers every configured field is recognised.
Activation is per surface: a surface with at least one row here resolves its whole tenant column set through those rows, in the order they appear; a surface with none behaves exactly as it did before this section existed.
Omitted from an export when the company has declared none, rather than emitted as an empty array.
