Common Conventions
IDs
All entity identifiers are UUIDs (RFC 4122):Timestamps
All timestamp fields (createdAt, updatedAt, transactionTimestamp, etc.) are returned as ISO 8601 strings in UTC:
Dates
Date-only fields (startDate, endDate, effectiveDate, policyStartDate, policyEndDate) use ISO 8601 date format:
Nullable Fields
Fields that may be absent are typed asT | null. For example, policyId: string | null means the field is always present in the response but may be null.
Pagination
All list endpoints return the same paginated response shape:
Query parameters for list endpoints:
Page size is fixed at 50 items per page.
fieldModelV1Data
Most V1 entities store their custom field data in afieldModelV1Data object. The shape of this object is defined by your company’s field configuration — call the entity’s /configuration endpoint to discover available fields, types, and validation rules.
Keys in fieldModelV1Data are field reference IDs (the stable identifiers you define when configuring fields).
Field Value Types
Date Fields
Date fields infieldModelV1Data are represented as objects with individual components:
API parameters that accept dates directly (such as
policyStartDate, effectiveDate, and other endpoint-level fields) use ISO 8601 date strings ("2026-01-15"), not the component object format. The component format is specific to custom field data inside fieldModelV1Data.Option Set Fields
Option set values are stored as string keys (not labels). Use the/configuration endpoint to map keys to human-readable labels.
Single-select:
oneOf to enumerate valid options:
Configuration Schema
All entity types have a/configuration endpoint that returns a JSON Schema (Draft 2020-12) describing valid field data:
Schema Format Values
Theformat property indicates the semantic type of a field:
Entities
Exposure
Exposures represent insured entities (e.g., a building, vehicle, or healthcare provider).Event
Events represent claims and incidents.Quote
Quotes are top-level FMV1 entities with their own field definitions. On bind, a quote creates a new policy.Quotes use
data and exposures rather than fieldModelV1Data because they contain data for two entity types in a single response. Quote-specific fields (quoteStatus, quoteType, quoteNumber, quoteSubmissionId, quoteBindErrors) are system-managed and cannot be set via the API.quote schema excludes calculated fields, policy-only fields, server-populated fields, and lifecycle fields. The exposure schema (singular) describes the shape of each item in the quote’s exposures array (plural).
Custom Object
Custom objects are configurable entity types with relationships to other objects.
Custom object configuration includes field schema and relationship definitions:
one_to_one, one_to_many, many_to_one, many_to_many
Policy Model
Policies use a transaction-based, temporally-versioned data model. Rather than directly editing policy fields, you submit transactions (new business, endorsement, cancellation, etc.) that produce immutable versions. For a deep dive, see Policy Concepts.Policy Version
Each transaction produces a new policy version containing one or more segments — date ranges where the policy state is identical.Policy Segment
A segment is a date range within the policy term where the policy state is constant. Segments are derived from final state — they are not one-per-transaction.Policy Transaction
Transactions are the immutable record of changes to a policy.
Transaction action values:
NEW_BUSINESS, ENDORSE, CANCEL, REINSTATE, RENEW
Transaction Delta
Deltas describe the field-level changes a transaction made within a date range.Policy List Item
List endpoints return a summary with optional segment detail:Earned Premium
Per-policy earned premium calculations, available at different detail levels.
Detail levels (set via
detail query parameter):
