> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slant.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Create insurance policy

> 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.



## OpenAPI

````yaml /api-reference/openapi.yaml post /v1/insurance_policies
openapi: 3.0.1
info:
  title: Slant Public API V1
  version: v1
  description: Public API for creating and managing resources in Slant
  contact:
    name: Slant API Support
    email: api@slant.com
servers:
  - url: https://api.slant.app
security:
  - bearer: []
paths:
  /v1/insurance_policies:
    post:
      tags:
        - Insurance Policies
      summary: Create insurance policy
      description: >-
        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.
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - insurance_type
                - household_id
              properties:
                name:
                  type: string
                  nullable: false
                insurance_type:
                  type: string
                  nullable: false
                  enum:
                    - life
                    - disability
                    - ltc
                    - health
                    - property_casualty
                    - umbrella
                carrier:
                  type: string
                  nullable: true
                policy_number:
                  type: string
                  nullable: true
                life_policy_type:
                  type: string
                  nullable: true
                  enum:
                    - term
                    - permanent
                permanent_policy_type:
                  type: string
                  nullable: true
                  enum:
                    - whole_life
                    - universal_life
                    - indexed_universal_life
                    - variable_universal_life
                term_duration_years:
                  type: integer
                  nullable: true
                convertible:
                  type: boolean
                  nullable: true
                face_amount:
                  type: number
                  nullable: true
                  description: Money in dollars.
                death_benefit:
                  type: number
                  nullable: true
                  description: Money in dollars.
                cash_value:
                  type: number
                  nullable: true
                  description: Money in dollars.
                coverage_amount:
                  type: number
                  nullable: true
                  description: Money in dollars.
                policy_date:
                  type: string
                  format: date
                  nullable: true
                premium:
                  type: number
                  nullable: true
                  description: Money in dollars.
                premium_frequency:
                  type: string
                  nullable: true
                  enum:
                    - monthly
                    - quarterly
                    - semiannual
                    - annual
                    - single
                    - other
                premium_due_date:
                  type: string
                  format: date
                  nullable: true
                current_policy_year:
                  type: integer
                  nullable: true
                property_casualty_type:
                  type: string
                  nullable: true
                effective_date:
                  type: string
                  format: date
                  nullable: true
                renewal_date:
                  type: string
                  format: date
                  nullable: true
                agent_broker:
                  type: string
                  nullable: true
                notes:
                  type: string
                  nullable: true
                beneficiary_id:
                  type: string
                  nullable: true
                beneficiary_type:
                  type: string
                  nullable: true
                  enum:
                    - Person
                    - Trust
                    - Household
                    - Business
                owner_ids:
                  type: array
                  nullable: false
                  items:
                    type: string
                  description: Replaces this role; omit to preserve existing people.
                insured_ids:
                  type: array
                  nullable: false
                  items:
                    type: string
                  description: Replaces this role; omit to preserve existing people.
                named_insured_ids:
                  type: array
                  nullable: false
                  items:
                    type: string
                  description: Replaces this role; omit to preserve existing people.
                additional_insured_ids:
                  type: array
                  nullable: false
                  items:
                    type: string
                  description: Replaces this role; omit to preserve existing people.
                deductibles:
                  type: array
                  nullable: false
                  items:
                    type: string
                custom_fields:
                  type: object
                  nullable: false
                book_id:
                  type: string
                  description: Optional book context; must match the household.
                household_id:
                  type: string
                  description: Authorized household placement.
        required: true
      responses:
        '201':
          description: Successful financial resource access
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                additionalProperties: false
                properties:
                  name:
                    type: string
                    nullable: false
                  insurance_type:
                    type: string
                    nullable: false
                    enum:
                      - life
                      - disability
                      - ltc
                      - health
                      - property_casualty
                      - umbrella
                  carrier:
                    type: string
                    nullable: true
                  policy_number:
                    type: string
                    nullable: true
                    description: Masked policy number; the full number is never returned.
                  life_policy_type:
                    type: string
                    nullable: true
                    enum:
                      - term
                      - permanent
                  permanent_policy_type:
                    type: string
                    nullable: true
                    enum:
                      - whole_life
                      - universal_life
                      - indexed_universal_life
                      - variable_universal_life
                  term_duration_years:
                    type: integer
                    nullable: true
                  convertible:
                    type: boolean
                    nullable: true
                  face_amount:
                    type: string
                    nullable: true
                    description: Money in dollars as a decimal string.
                  death_benefit:
                    type: string
                    nullable: true
                    description: Money in dollars as a decimal string.
                  cash_value:
                    type: string
                    nullable: true
                    description: Money in dollars as a decimal string.
                  coverage_amount:
                    type: string
                    nullable: true
                    description: Money in dollars as a decimal string.
                  policy_date:
                    type: string
                    format: date
                    nullable: true
                  premium:
                    type: string
                    nullable: true
                    description: Money in dollars as a decimal string.
                  premium_frequency:
                    type: string
                    nullable: true
                    enum:
                      - monthly
                      - quarterly
                      - semiannual
                      - annual
                      - single
                      - other
                  premium_due_date:
                    type: string
                    format: date
                    nullable: true
                  current_policy_year:
                    type: integer
                    nullable: true
                  property_casualty_type:
                    type: string
                    nullable: true
                  effective_date:
                    type: string
                    format: date
                    nullable: true
                  renewal_date:
                    type: string
                    format: date
                    nullable: true
                  agent_broker:
                    type: string
                    nullable: true
                  notes:
                    type: string
                    nullable: true
                  beneficiary_id:
                    type: string
                    nullable: true
                  beneficiary_type:
                    type: string
                    nullable: true
                    enum:
                      - Person
                      - Trust
                      - Household
                      - Business
                  owner_ids:
                    type: array
                    nullable: false
                    items:
                      type: string
                    description: Replaces this role; omit to preserve existing people.
                  insured_ids:
                    type: array
                    nullable: false
                    items:
                      type: string
                    description: Replaces this role; omit to preserve existing people.
                  named_insured_ids:
                    type: array
                    nullable: false
                    items:
                      type: string
                    description: Replaces this role; omit to preserve existing people.
                  additional_insured_ids:
                    type: array
                    nullable: false
                    items:
                      type: string
                    description: Replaces this role; omit to preserve existing people.
                  deductibles:
                    type: array
                    nullable: false
                    items:
                      type: string
                  custom_fields:
                    type: object
                    nullable: false
                  id:
                    type: string
                  created_at:
                    type: string
                    format: date-time
                  updated_at:
                    type: string
                    format: date-time
                  book_id:
                    type: string
                  household_id:
                    type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - bearer: []
components:
  responses:
    BadRequest:
      description: Bad Request - invalid JSON
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            invalid_json:
              value:
                error: invalid_json
                detail: Request body must be valid JSON
    Forbidden:
      description: Forbidden - client not found or user not linked
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            client_not_found:
              value:
                error: client_not_found
                detail: Invalid or inactive client
            user_not_linked:
              value:
                error: user_not_linked
                detail: No matching user for provided token
            principal_book_missing:
              value:
                error: principal_book_missing
                detail: User must have a principal book
            not_authorized:
              value:
                error: not_authorized
                detail: You are not permitted to perform this action
  schemas:
    Error:
      type: object
      required:
        - error
        - detail
      properties:
        error:
          type: string
          description: Error code
        detail:
          type: string
          description: Human-readable error description
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      bearerFormat: OAuth
      description: OAuth 2.0 Bearer Token from Clerk authentication

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.