- Fields are dynamically defined per company. Use the Configuration endpoint to discover available fields and their types.
- The request body for create is a flat JSON object where keys are field
referenceIds (e.g.,policyNumber,policyStartDate,policyType). - Exposures are nested inline in the policy — each exposure is an object in the
exposuresarray, with anidreferencing an existing exposure record. - Responses include a
fieldModelV1Dataobject containing all field values plus the nestedexposuresarray.
When to use Basic vs Transaction-Based Policies
Both APIs share the same underlying storage and configuration — they’re alternative write paths over the same policy records.
Configuration
CallGET /v1/policies/configuration to get a JSON Schema of the available policy and exposure fields for your company. The same endpoint drives both the Basic and the Transaction-Based Policy APIs — one configuration, shared across both.
API Endpoints
- Get Configuration —
GET /v1/policies/configuration - Create Policy —
POST /v1/policies - Bind Quote to Create Policy —
POST /v1/quotes/{quoteId}/bind(creates a Basic Policy from an existing quote) - List Policies —
GET /v1/policieswith filtering, sorting, pagination - Get Policy —
GET /v1/policies/{policyId} - Delete Policy —
DELETE /v1/policies/{policyId}(soft delete)
Permissions
Filtering
Filters: structured field matching
Each item infilters is an object with fieldReferenceId, fieldType, operator, and a value (plus valueTo for between operators and systemColumn for systemUser / systemDate). The set of operators and the shape of value depend on fieldType.
Supported field types and their operators:
Example: policies created after Jan 1 2026 whose
policyStatus is active:
Sorting
Use the
sortDirection parameter (asc or desc) to control sort order.
Example Create Request
Before creating a policy, create any exposures it references via the Exposures API —primaryInsured and each entry in exposures[].id must point to an existing exposure record.
201 Created
Example Get Response
policyStartDate, policyEndDate, policyEffectiveDate) are canonicalized on write from the { date: "YYYY-MM-DD", timezone } input form to the internal { day, month, year, timezone } form shown in responses.