Skip to main content
POST
/
api
/
external
/
companies
/
{companyId}
/
policies
curl --request POST \
  --url https://app.aiinsurance.io/api/external/companies/{companyId}/policies \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "referenceId": "POL-2025-001",
  "startsAtDate": "2025-01-01",
  "endsAtDate": "2026-01-01",
  "type": "C",
  "billingPeriod": "annual",
  "exposures": [
    {
      "insuredId": "550e8400-e29b-41d4-a716-446655440200",
      "role": "primary",
      "joinDate": "2025-01-01",
      "terminationDate": "2026-01-01"
    }
  ],
  "coverages": [
    {
      "coverageTypeId": "550e8400-e29b-41d4-a716-446655440300"
    }
  ]
}
'
{
  "id": "550e8400-e29b-41d4-a716-446655440100"
}

Documentation Index

Fetch the complete documentation index at: https://docs.aiinsurance.io/llms.txt

Use this file to discover all available pages before exploring further.

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
referenceId
string
required

Policy number (must be unique per company)

startsAtDate
string<date>
required

Policy effective start date (YYYY-MM-DD)

endsAtDate
string<date>
required

Policy effective end date (YYYY-MM-DD)

type
enum<string>
required

Type of policy:

  • C: Claims Made
  • N: New Claims Made
  • T: Tail
  • O: Occurrence
  • P: Occurrence + Claims Made
  • S: Split (Half Claims Made/Occurrence)
  • Q: Quota Share
  • R: Occurrence + Claims Made + Tail
  • A: Claims Made (Alternative)
Available options:
C,
N,
T,
O,
P,
S,
Q,
R,
A
billingPeriod
enum<string>
required

Billing period for the policy

Available options:
doNotSendBill,
annual,
quarterly,
monthly
exposures
object[]
required

Exposures (insureds) to add to the policy. Exactly one must have role "primary".

Minimum array length: 1
coverages
object[]
required

Coverages to add to the policy

Minimum array length: 1
coverageTimezone
string

IANA timezone for coverage (e.g., "America/New_York"). Defaults to company default.

description
string

Policy description

premium
number

Total premium in dollars (overrides rating calculation)

brokerId
string<uuid>

ID of an existing broker to associate with this policy. Use POST /brokers to create a broker first.

data
object

Custom data fields for this policy. Keys must match fields from GET /policies/configuration. Values are strings or numbers.

Response

Policy created successfully

id
string<uuid>

The ID of the created policy