Skip to main content
The Field Model V1 Exposures API allows you to manage exposures with company-configured dynamic fields. Unlike the standard Exposures API where fields are fixed, Field Model V1 companies define their own fields per entity type — the set of available fields is configured per company. Key Concepts:
  • Fields are dynamically defined per company. Use the Configuration endpoint to discover available fields and their types.
  • The request body for create and update is a flat JSON object where keys are field referenceIds (e.g., exposureName, numberOfEmployees).
  • Responses include a fieldModelV1Data object containing all field values (including base fields like exposureName and exposureType).
  • Updates are full replacements — include all fields you want the exposure to have, not just the changed ones.

Configuration

Call GET /v1/exposures/configuration to get a JSON Schema of available fields for your company. The schema includes:
  • Field types: string, number, boolean, object
  • Option Set fields: include an enum array of valid values
  • Required fields: listed in the required array

Field Types

FMV1 TypeJSON TypeDescription
TextstringFree-text string
NumbernumberNumeric value
BooleanbooleanTrue/false
Option Setstring or numberConstrained to enum values
ObjectobjectNested object

API Endpoints


Permissions

OperationRequired Permission
Get Configurationcompany.insured:read
List Exposurescompany.insured:read
Get Exposurecompany.insured:read
Create Exposurecompany.insured:create
Update Exposureinsured:update
Delete Exposureinsured:delete

Filtering

ParameterTypeDescription
idstring or string[]Filter by exposure ID (single or array)
exposureTypestringFilter by exposure type
entityTypestringDeprecated. Alias for exposureType — use exposureType instead
filterTextstringText search across exposure name

Sorting

ValueDescription
createdAtSort by creation date (default)
updatedAtSort by last update date
exposureNameSort by exposure name
exposureTypeSort by exposure type
nameDeprecated. Alias for exposureName
entityTypeDeprecated. Alias for exposureType
Use the sortDirection parameter (asc or desc) to control sort order.

Example Create Request

{
  "exposureName": "Acme Corporation",
  "exposureType": "business",
  "numberOfEmployees": 150,
  "riskLevel": "Medium"
}

Example Response

{
  "id": "550e8400-e29b-41d4-a716-446655440200",
  "companyId": "550e8400-e29b-41d4-a716-446655440000",
  "fieldModelV1Data": {
    "exposureName": "Acme Corporation",
    "exposureType": "business",
    "numberOfEmployees": 150,
    "riskLevel": "Medium"
  },
  "createdAt": "2025-01-15T10:30:00.000Z",
  "updatedAt": null,
  "createdBy": "google-oauth2|123456789",
  "updatedBy": null
}