Skip to main content
The Basic Policies API is a simplified way of managing policies in the app — flat-shape CRUD over policies with company-configured dynamic fields. Use it when you don’t need the temporal versioning, segments, or earned-premium calculations of the transaction-based Policy API. Key Concepts:
  • 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 exposures array, with an id referencing an existing exposure record.
  • Responses include a fieldModelV1Data object containing all field values plus the nested exposures array.

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

Call GET /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 ConfigurationGET /v1/policies/configuration
  • Create PolicyPOST /v1/policies
  • Bind Quote to Create PolicyPOST /v1/quotes/{quoteId}/bind (creates a Basic Policy from an existing quote)
  • List PoliciesGET /v1/policies with filtering, sorting, pagination
  • Get PolicyGET /v1/policies/{policyId}
  • Delete PolicyDELETE /v1/policies/{policyId} (soft delete)

Permissions


Filtering

Filters: structured field matching

Each item in filters 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 APIprimaryInsured and each entry in exposures[].id must point to an existing exposure record.
Additional company-configured fields (custom text, number, option-set, or object fields defined in your FMV1 configuration) may be included alongside the standard fields above.

201 Created

Example Get Response

Date-typed fields (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.