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",
  "insureds": [
    {
      "insuredId": "550e8400-e29b-41d4-a716-446655440200",
      "insuredType": "primary",
      "joinDate": "2025-01-01",
      "terminationDate": "2026-01-01"
    }
  ],
  "coverages": [
    {
      "coverageTypeId": "550e8400-e29b-41d4-a716-446655440300"
    }
  ]
}
'
{
"id": "550e8400-e29b-41d4-a716-446655440100"
}

Authorizations

Authorization
string
header
required

Use format: ApiKey <your-api-key>

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
insureds
object[]
required

Insureds to add to the policy. Exactly one must have insuredType "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 cents (overrides rating calculation)

brokerId
string<uuid>

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

Response

Policy created successfully

id
string<uuid>

The ID of the created policy