---
title: "Create insurance policy"
method: POST
path: "/v1/insurance_policies"
tags: ["Insurance Policies"]
---

# Create insurance policy

`POST /v1/insurance_policies`

## Request

- Base URL: `https://api.slant.app`
- URL: `https://api.slant.app/v1/insurance_policies`
- Auth: HTTP bearer

Financial terms and values; no custodian data or attachments. Numbers are masked. Imported annuity terms and parties are read-only except notes. Values use dollars; balances use cents. Party arrays replace submitted roles or accessible annuity parties. Only advisor valuations can be edited.

## Headers

- `Authorization` string
- `Idempotency-Key` string

## Request body

- object
  - `name` string, required
  - `insurance_type` 'life' | 'disability' | 'ltc' | 'health' | 'property_casualty' | 'umbrella', required
  - `carrier` string, nullable
  - `policy_number` string, nullable
  - `life_policy_type` 'term' | 'permanent' | 'group', nullable
  - `permanent_policy_type` 'whole_life' | 'universal_life' | 'indexed_universal_life' | 'variable_universal_life', nullable
  - `term_duration_years` integer, nullable
  - `convertible` boolean, nullable
  - `face_amount` number, nullable: Money in dollars.
  - `death_benefit` number, nullable: Money in dollars.
  - `cash_value` number, nullable: Money in dollars.
  - `coverage_amount` number, nullable: Money in dollars.
  - `policy_date` string, date, nullable
  - `premium` number, nullable: Money in dollars.
  - `premium_frequency` 'monthly' | 'quarterly' | 'semiannual' | 'annual' | 'single' | 'other', nullable
  - `premium_due_date` string, date, nullable
  - `current_policy_year` integer, nullable
  - `property_casualty_type` string, nullable
  - `effective_date` string, date, nullable
  - `renewal_date` string, date, nullable
  - `agent_broker` string, nullable
  - `notes` string, nullable
  - `beneficiary_id` string, nullable
  - `beneficiary_type` 'Person' | 'Trust' | 'Household' | 'Business', nullable
  - `owner_ids` string[]: Replaces this role; omit to preserve existing people.
  - `insured_ids` string[]: Replaces this role; omit to preserve existing people.
  - `named_insured_ids` string[]: Replaces this role; omit to preserve existing people.
  - `additional_insured_ids` string[]: Replaces this role; omit to preserve existing people.
  - `deductibles` string[]
  - `custom_fields` object
  - `book_id` string: Optional book context; must match the household.
  - `household_id` string, required: Authorized household placement.
  - `disability_policy_type` 'individual' | 'group', nullable
  - `ltc_policy_type` 'traditional' | 'hybrid', nullable
  - `benefit_amount` number, nullable: Money in dollars.
  - `benefit_frequency` 'daily' | 'monthly', nullable
  - `benefit_period` 'one_year' | 'two_years' | 'three_years' | 'four_years' | 'five_years' | 'six_years' | 'seven_years' | 'ten_years' | 'thirty_days' | 'sixty_days' | 'ninety_days' | 'one_eighty_days' | 'age_65' | 'age_67' | 'age_70' | 'lifetime', nullable
  - `elimination_period_days` integer, nullable
  - `benefit_inflation_rate` number, nullable: Annual inflation as a decimal ratio from 0 to 1; for example, 0.035 means 3.5%.
  - `benefit_inflation_type` 'simple' | 'compound', nullable
  - `survivorship_type` 'first_to_die' | 'last_to_die', nullable
  - `premium_inflation_rate` number, nullable: Annual inflation as a decimal ratio from 0 to 1; for example, 0.035 means 3.5%.
  - `coverage_end_kind` 'date' | 'year' | 'age' | 'retirement' | 'end_of_plan' | 'years_after_start' | 'end_of_both_plans', nullable
  - `coverage_end_date` string, date, nullable
  - `coverage_end_value` integer, nullable
  - `coverage_end_person_id` string, nullable
  - `premium_end_kind` 'date' | 'year' | 'age' | 'retirement' | 'end_of_plan' | 'years_after_start' | 'end_of_both_plans', nullable
  - `premium_end_date` string, date, nullable
  - `premium_end_value` integer, nullable
  - `premium_end_person_id` string, nullable

## Response `201`

Successful financial resource access

- object
  - `name` string
  - `insurance_type` 'life' | 'disability' | 'ltc' | 'health' | 'property_casualty' | 'umbrella'
  - `carrier` string, nullable
  - `policy_number` string, nullable: Masked policy number; the full number is never returned.
  - `life_policy_type` 'term' | 'permanent' | 'group', nullable
  - `permanent_policy_type` 'whole_life' | 'universal_life' | 'indexed_universal_life' | 'variable_universal_life', nullable
  - `term_duration_years` integer, nullable
  - `convertible` boolean, nullable
  - `face_amount` string, nullable: Money in dollars as a decimal string.
  - `death_benefit` string, nullable: Money in dollars as a decimal string.
  - `cash_value` string, nullable: Money in dollars as a decimal string.
  - `coverage_amount` string, nullable: Money in dollars as a decimal string.
  - `policy_date` string, date, nullable
  - `premium` string, nullable: Money in dollars as a decimal string.
  - `premium_frequency` 'monthly' | 'quarterly' | 'semiannual' | 'annual' | 'single' | 'other', nullable
  - `premium_due_date` string, date, nullable
  - `current_policy_year` integer, nullable
  - `property_casualty_type` string, nullable
  - `effective_date` string, date, nullable
  - `renewal_date` string, date, nullable
  - `agent_broker` string, nullable
  - `notes` string, nullable
  - `beneficiary_id` string, nullable
  - `beneficiary_type` 'Person' | 'Trust' | 'Household' | 'Business', nullable
  - `owner_ids` string[]: Replaces this role; omit to preserve existing people.
  - `insured_ids` string[]: Replaces this role; omit to preserve existing people.
  - `named_insured_ids` string[]: Replaces this role; omit to preserve existing people.
  - `additional_insured_ids` string[]: Replaces this role; omit to preserve existing people.
  - `deductibles` string[]
  - `custom_fields` object
  - `id` string, required
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `book_id` string
  - `household_id` string
  - `disability_policy_type` 'individual' | 'group', nullable
  - `ltc_policy_type` 'traditional' | 'hybrid', nullable
  - `benefit_amount` string, nullable: Money in dollars as a decimal string.
  - `benefit_frequency` 'daily' | 'monthly', nullable
  - `benefit_period` 'one_year' | 'two_years' | 'three_years' | 'four_years' | 'five_years' | 'six_years' | 'seven_years' | 'ten_years' | 'thirty_days' | 'sixty_days' | 'ninety_days' | 'one_eighty_days' | 'age_65' | 'age_67' | 'age_70' | 'lifetime', nullable
  - `elimination_period_days` integer, nullable
  - `benefit_inflation_rate` string, nullable: Annual inflation as a decimal ratio string from 0 to 1; for example, "0.035" means 3.5%.
  - `benefit_inflation_type` 'simple' | 'compound', nullable
  - `survivorship_type` 'first_to_die' | 'last_to_die', nullable
  - `premium_inflation_rate` string, nullable: Annual inflation as a decimal ratio string from 0 to 1; for example, "0.035" means 3.5%.
  - `coverage_end_kind` 'date' | 'year' | 'age' | 'retirement' | 'end_of_plan' | 'years_after_start' | 'end_of_both_plans', nullable
  - `coverage_end_date` string, date, nullable
  - `coverage_end_value` integer, nullable
  - `coverage_end_person_id` string, nullable
  - `premium_end_kind` 'date' | 'year' | 'age' | 'retirement' | 'end_of_plan' | 'years_after_start' | 'end_of_both_plans', nullable
  - `premium_end_date` string, date, nullable
  - `premium_end_value` integer, nullable
  - `premium_end_person_id` string, nullable

## Other responses

- `400`: Bad Request - malformed JSON, invalid filters, or missing required book context
- `401`: Unauthorized - missing or invalid token
- `403`: Access denied. Policy and membership failures may have an empty body. A read-only personal token cannot perform writes.
- `429`: An hourly API rate limit was exceeded. Wait Retry-After seconds before retrying.

## Changes

- **2026-11-03** `173c41bf6be9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/slant/apis/slant-public-api-v1/changes/v1/insurance_policies/post.md)

---

[API](https://skmtc.dev/slant/apis/slant-public-api-v1.md) - [All operations](https://skmtc.dev/slant/apis/slant-public-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/slant/apis/slant-public-api-v1/revisions/173c41bf6be9?raw)
