Skip to main content
POST
/
api
/
v1
/
external
/
companies
/
{companyId}
/
policies
/
transaction
/
new-business
New Business Transaction
curl --request POST \
  --url https://app.aiinsurance.io/api/v1/external/companies/{companyId}/policies/transaction/new-business \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "policyStartDate": "2025-01-01",
  "policyEndDate": "2026-01-01",
  "fieldModelV1Data": {
    "policy": {
      "annualPremium": 85000,
      "fullTermPolicyInfo": {
        "policyStatus": "Active",
        "policyStartDate": {
          "year": 2025,
          "month": 1,
          "day": 1,
          "timezone": "America/New_York"
        },
        "policyEndDate": {
          "year": 2026,
          "month": 1,
          "day": 1,
          "timezone": "America/New_York"
        },
        "primaryInsuredId": "550e8400-e29b-41d4-a716-446655440010"
      },
      "fullTermPolicyBilling": {
        "policyPremium": 85000,
        "policyTaxes": 0,
        "policyFees": 500,
        "policyGrandTotal": 85500
      },
      "exposures": [
        {
          "id": "550e8400-e29b-41d4-a716-446655440010",
          "exposureType": "MedicalFacility",
          "bedCount": 120
        }
      ]
    }
  }
}
'
{ "policyId": "550e8400-e29b-41d4-a716-446655440001", "policyVersion": 1, "transactionId": "550e8400-e29b-41d4-a716-446655440002", "startDate": "2025-01-01", "endDate": "2026-01-01", "createdAt": "2025-01-15T10:30:00.000Z", "fullTermPolicyInfo": { "policyStatus": "Active", "policyStartDate": { "year": 2025, "month": 1, "day": 1, "timezone": "America/New_York" }, "policyEndDate": { "year": 2026, "month": 1, "day": 1, "timezone": "America/New_York" }, "primaryInsuredId": "550e8400-e29b-41d4-a716-446655440010" }, "fullTermPolicyBilling": { "policyPremium": 85000, "policyTaxes": 0, "policyFees": 500, "policyGrandTotal": 85500 }, "segments": [ { "startDate": "2025-01-01", "endDate": "2026-01-01", "fieldModelV1Data": { "policy": { "annualPremium": 85000, "fullTermPolicyInfo": { "policyStatus": "Active", "policyStartDate": { "year": 2025, "month": 1, "day": 1, "timezone": "America/New_York" }, "policyEndDate": { "year": 2026, "month": 1, "day": 1, "timezone": "America/New_York" }, "primaryInsuredId": "550e8400-e29b-41d4-a716-446655440010" }, "fullTermPolicyBilling": { "policyPremium": 85000, "policyTaxes": 0, "policyFees": 500, "policyGrandTotal": 85500 }, "exposures": [ { "id": "550e8400-e29b-41d4-a716-446655440010", "exposureType": "MedicalFacility", "bedCount": 120 } ] } } } ] }

Authorizations

Authorization
string
header
required

API key authentication. Include your API key in the Authorization header.

Path Parameters

companyId
string<uuid>
required

Company identifier

Body

application/json
policyStartDate
string<date>
required

Policy term start date (ISO 8601). Must be before policyEndDate. Must match fullTermPolicyInfo.policyStartDate if provided.

policyEndDate
string<date>
required

Policy term end date (ISO 8601). Must be after policyStartDate. Must match fullTermPolicyInfo.policyEndDate if provided.

fieldModelV1Data
object
required

Container for policy state. Must contain a policy object with all policy-level fields and optional nested exposures.

transactionTimestamp
string<date-time>

When the business decision was made. Defaults to the current time if omitted. Set explicitly for imports (e.g., aligning to a bordereau booking date).

Response

Policy created successfully

Response returned by policy transaction endpoints. Contains the policy version produced by the transaction, including all derived segments.

policyId
string<uuid>
required

Policy identifier

policyVersion
integer
required

Sequential version number produced by this transaction

transactionId
string<uuid>
required

Identifier of the transaction that produced this version

startDate
string<date>
required

Policy term start date (ISO 8601)

endDate
string<date>
required

Policy term end date (ISO 8601)

createdAt
string<date-time>
required

When the transaction was created (ISO 8601)

segments
object[]
required

Derived segments for this policy version. Each segment represents a maximal contiguous date range where policy state is identical. Adjacent segments with identical data are automatically merged.

fullTermPolicyInfo
object

Full-term policy information. Contains policy status, term dates, and primary insured reference.

fullTermPolicyBilling
object

Full-term billing aggregates. Contains premium, taxes, fees, and grand total for the full policy term.