The FMV1 Configuration API provides endpoints for exporting, validating, comparing, and importing company configuration via Google Spreadsheets. This is the programmatic interface to the onboarding spreadsheet pipeline.
Authentication
These endpoints require an API key created with the FMV1_CONFIGURATION_MANAGER role. Standard API keys (e.g., those with CARRIER_ADMIN) will not have the required permissions.To create an API key with this role, go to Settings > API Keys and select the FMV1 Configuration Manager role when generating the key.
Google OAuth Token
All endpoints require the caller to provide a googleOAuthToken — a Google OAuth2 access token with permission to read from (or write to) the target spreadsheet. The server does not use its own Google credentials for these operations.
You can obtain a token via Google’s OAuth2 flow with the https://www.googleapis.com/auth/spreadsheets scope.
Workflow
The typical round-trip workflow is:
- Generate — Create a new blank configuration spreadsheet template (or use Export to populate an existing one with current config)
- Edit the spreadsheet manually
- Validate — Check the spreadsheet for structural or data errors
- Compare — Preview what changes the import would apply
- Import — Apply the changes from the spreadsheet to the database
API Endpoints
The five Configuration Management endpoints are listed in the left navigation:
- Generate Spreadsheet (
POST /configuration/generate) — Create a blank configuration template spreadsheet
- Export Configuration (
POST /configuration/export) — Write current config to an existing spreadsheet
- Validate Configuration (
POST /configuration/validate) — Check spreadsheet for errors
- Compare Configuration (
POST /configuration/compare) — Diff spreadsheet against database
- Import Configuration (
POST /configuration/import) — Apply spreadsheet changes to database
Permissions
| Operation | Required Permission |
|---|
| Generate | company.configuration:export |
| Export | company.configuration:export |
| Validate | company.configuration:export |
| Compare | company.configuration:export |
| Import | company.configuration:import |
Framework-Required Rows
Some rows in the onboarding spreadsheet are required by the framework: the import rejects a spreadsheet that omits them or changes their type, cardinality, or join shape. Most framework-required rows also have a fixed calculated value the import enforces byte-for-byte, but a few are flagged customer-supplied: the row’s presence and shape are enforced, while its JEXL calculated-value expression is yours to author and maintain. The main example is referencedExposures on Quote, Policy, and Submission — see Referenced Exposures.
Configuration Categories
The compare endpoint returns change counts for each category:
| Category | Description |
|---|
fieldDefinitions | Field definitions (name, type, reference ID, etc.) |
optionSets | Option set values for dropdown fields |
customObjects | Custom object type definitions |
cardDefinitions | UI card layout definitions |
cardSections | Sections within cards |
fieldLocations | Where fields appear on cards |