---
title: "Illustration for in-force Indexed Universal Life (IUL) as-is scenario"
url: "https://developers.zinnia.com/apis/illustration-3-0-8/versions/b96a49c1-73c5-46d3-8968-fe603081d524/operations/get-illustration-for-in-force-indexed-universal-life-as-is"
---

> Full API specification: https://developers.zinnia.com/apis/illustration-3-0-8/versions/b96a49c1-73c5-46d3-8968-fe603081d524.md

# Illustration for in-force Indexed Universal Life (IUL) as-is scenario

`GET` `/illustration/v3/indexed-universal-life/in-force/as-is/{id}`

Operation ID: `get-illustration-for-in-force-indexed-universal-life-as-is`

Retrieves the calculated results for the specified illustration request.

## Path parameters

- `id` (string, required) - The unique identifier for the illustration request.

## Responses

- `200` - the request was processed and results may be retrieved.
- `400` - The posted request was invalid for any reason.
- `404` - Unable to find illustration by provided id
- `500` - An unexpected processing error occurred, OR the request was processed successfully but contains calculation error messages.

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Illustration Generation
  version: 3.5.3
servers:
  - url: https://dev.api.zinnia.io
    description: Development
paths:
  /illustration/v3/indexed-universal-life/in-force/as-is/{id}:
    get:
      operationId: get-illustration-for-in-force-indexed-universal-life-as-is
      summary: Illustration for in-force Indexed Universal Life (IUL) as-is scenario
      description: Retrieves the calculated results for the specified illustration request.
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
          description: The unique identifier for the illustration request.
      responses:
        "200":
          description: the request was processed and results may be retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  inputs:
                    $ref: "#/components/schemas/Illustration-Inputs-IUL-Inforce-As-Is"
                  response:
                    $ref: "#/components/schemas/Illustration-Response-IUL"
        "400":
          description: The posted request was invalid for any reason.
        "404":
          description: Unable to find illustration by provided id
        "500":
          description: An unexpected processing error occurred, OR the request was
            processed successfully but contains calculation error messages.
      security:
        - Auth0: []
      tags:
        - Indexed Universal Life (IUL) Illustrations
security:
  - Auth0: []
components:
  schemas:
    Illustration-Inputs-IUL-Inforce-As-Is:
      title: Illustration Request for IUL - Inforce As-Is
      description: Illustration Request for Indexed Universal Life product - Inforce
        as-is scenario
      allOf:
        - $ref: "#/components/schemas/Illustration-Inputs-Base"
        - $ref: "#/components/schemas/Illustration-Inputs-Inforce-Base"
    Illustration-Response-IUL:
      title: Illustration Response IUL
      description: Illustration Response for Indexed Universal Life product
      allOf:
        - $ref: "#/components/schemas/Illustration-Response-Base"
      properties:
        assumed:
          $ref: "#/components/schemas/Scenario-IUL"
        guaranteed:
          $ref: "#/components/schemas/Scenario-IUL"
        midpoint:
          $ref: "#/components/schemas/Scenario-IUL"
        alternate:
          $ref: "#/components/schemas/Scenario-IUL"
    Illustration-Inputs-Base:
      title: Illustration Request
      description: Fundamental Illustration request schema. See the schema for a
        specific product
      properties:
        calculationType:
          type: string
          description: Type of calculation. Only SINGLE_ILLUSTRATION triggers a PDF to be
            generated.
          example: QUICK_QUOTE
          enum:
            - QUICK_QUOTE
            - SINGLE_ILLUSTRATION
            - AGGREGATE_ILLUSTRATION
            - COMPOSITE_ILLUSTRATION
            - POLICY_PAGE_PROJECTION
            - INITIAL_QUOTE
        source:
          type: string
          description: Source of the request
          example: ZINNIA
        illustrationRequestDate:
          $ref: "#/components/schemas/Date-Field"
        reports:
          type: object
          properties:
            internalRateOfReturnOn:
              type: boolean
              description: Internal rate of return
              example: true
            annualChargesOn:
              type: boolean
              description: Annual charges
              example: true
            annualChargesYears:
              type: number
              description: Annual charges years
              format: integer
              example: 10
            monthlyChargesOn:
              type: boolean
              description: Monthly charges
              example: true
            monthlyChargesYears:
              type: number
              format: integer
              description: Monthly charges years
              example: 10
            marketingPagesOn:
              type: boolean
              description: Whether to produce marketing pages
              example: true
            costDetailsReportOn:
              type: boolean
              description: Whether to produce the cost details report
              example: true
            inputSummaryOn:
              type: boolean
              description: Whether to produce the input summary
              example: true
      required:
        - calculationType
        - illustrationRequestDate
    Illustration-Inputs-Inforce-Base:
      title: Base Inforce Illustration Request
      description: Common properties for inforce illustration scenarios
      type: object
      properties:
        policyDetail:
          $ref: "#/components/schemas/Policy-State"
        policyDetailDate:
          $ref: "#/components/schemas/Date-Field"
      required:
        - policyDetail
        - policyDetailDate
    Illustration-Response-Base:
      title: Illustration Response
      description: Fundamental Illustration response schema. See the schema for a
        specific product
      properties:
        id:
          type: string
          description: The unique identifier for the illustration request.
          example: ed13083d-d6b3-463d-a569-56b532d00fcd
        messages:
          type: array
          items:
            $ref: "#/components/schemas/Message"
    Scenario-IUL:
      title: Scenario Results for IUL
      description: Outputs for Indexed Universal Life product across all scenarios.
        This object represents a single scenario (e.g. Assumed, Guaranteed, etc)
      type: object
      allOf:
        - $ref: "#/components/schemas/Scenario-Base"
        - $ref: "#/components/schemas/IUL-Shared-Scenario-Properties"
    Date-Field:
      type: string
      format: date
      pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2})
      description: Date (with pattern "yyyy-mm-dd")
      example: 2025-05-13
    Policy-State:
      title: Policy State
      description: Represents the state of a policy at an instant in time. Describes
        the payload Zahara transmits when requesting calculations for a single
        transaction.
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
        accountValue:
          $ref: "#/components/schemas/Account-Value"
        testValue:
          $ref: "#/components/schemas/Basic-Collection"
        deathBenefit:
          $ref: "#/components/schemas/Basic-Collection"
        coverageValue:
          $ref: "#/components/schemas/Basic-Collection"
        coverages:
          $ref: "#/components/schemas/Coverage-Collection"
        parties:
          $ref: "#/components/schemas/Parties"
        features:
          $ref: "#/components/schemas/Features"
        fundAllocations:
          $ref: "#/components/schemas/Multiple-Basic-Collections"
        funds:
          $ref: "#/components/schemas/Fund-Collection"
        matchSegment:
          $ref: "#/components/schemas/Basic-Collection"
        loanSegments:
          $ref: "#/components/schemas/Multiple-Basic-Collections"
        arrangements:
          $ref: "#/components/schemas/Arrangements"
      required:
        - attributes
        - accountValue
        - testValue
        - deathBenefit
        - coverageValue
        - coverages
        - parties
        - features
        - fundAllocations
        - funds
        - matchSegment
        - loanSegments
        - arrangements
    Message:
      title: Message
      description: A structured signal
      type: object
      properties:
        code:
          type: integer
        severity:
          type: string
          enum:
            - INFO
            - WARNING
            - ERROR
        text:
          type: string
        returnTo:
          type: string
      required:
        - code
        - text
    Scenario-Base:
      title: Base Scenario Results
      description: Fundamental outputs that apply across all products. This object
        represents a single scenario (e.g. Assumed, Guaranteed, etc)
      type: object
      properties:
        annualTimeSeriesData:
          description: Collection of values that vary annually - each item represents all
            the values for a single year
          type: array
          items:
            $ref: "#/components/schemas/Single-Year-Values-Base"
        annualPolicyManagementFee:
          type: number
          format: double
          description: Annual policy management fee
          example: 60
        annualPremiumAmount:
          type: number
          format: double
          description: Annual premium amount
          example: 397.2
        baseCoverageEndYear:
          type: number
          format: integer
          description: Base coverage end year
          example: 86
        costIndex:
          type: object
          properties:
            netPaymentCostIndexYear10:
              type: number
              format: double
              description: Net payment cost index year 10
              example: 1.59
            netPaymentCostIndexYear20:
              type: number
              format: double
              description: Net payment cost index year 20
              example: 1.59
            surrenderCostIndexYear10:
              type: number
              format: double
              description: Surrender cost index year 20
              example: 1.59
            surrenderCostIndexYear20:
              type: number
              format: double
              description: Surrender cost index year 20
              example: 1.59
        coverages:
          type: object
          description: These values represent the initial or constant state of coverages
          properties:
            base:
              $ref: "#/components/schemas/Output-Coverage-Values"
        initial:
          type: object
          properties:
            totalFaceAmount:
              type: number
              format: double
              description: Total Face Amount
              example: 22500.05
            totalPremium:
              type: number
              format: double
              description: Premium
              example: 33.1
            accountValue:
              type: number
              format: double
              example: 0.104742
            totalModalPremium:
              type: number
              format: double
              example: 100.2
            totalPolicyFee:
              type: number
              format: double
              example: 600
            totalModalPolicyFee:
              type: number
              format: double
              example: 500
        interestRate:
          type: number
          format: double
          description: Interest rate
          example: 5.1
        issueAge:
          type: number
          format: integer
          description: Issue age
          example: 35
        lapse:
          type: object
          properties:
            age:
              type: number
              format: integer
              description: Lapse age
              example: 122
            year:
              type: number
              format: integer
              description: Lapse year
              example: 87
            month:
              type: number
              format: integer
              description: Lapse month
              example: 12
        loan:
          type: object
          properties:
            chargeRate:
              type: number
              format: double
              description: Charge rate
              example: 4.5
            chargeRateArrears:
              type: number
              format: double
              description: Charge rate arrears
              example: 4.5
            creditRate:
              type: number
              format: double
              description: Credit rate
              example: 4.3
            takenIndicator:
              type: number
              format: integer
              description: Taken indicator
              example: 0
        maturityYear:
          type: number
          format: integer
          description: Maturity year
          example: 86
        payToAge:
          type: number
          format: integer
          description: Pay to age
          example: 121
        payment:
          type: object
          properties:
            mode:
              type: number
              format: integer
              description: Payment mode
              example: 12
            term:
              type: number
              format: integer
              description: Payment term
              example: 86
        policyStartYear:
          type: number
          format: integer
          description: Policy start year
          example: 1
        premium:
          type: object
          properties:
            amount:
              type: number
              format: double
              description: Premium amount
              example: 33.1
            duration:
              type: number
              format: integer
              description: Premium duration
              example: 86
            durationAge:
              type: number
              format: integer
              description: Premium duration age
              example: 121
        scenarioEndAge:
          type: number
          format: integer
          description: Scenario end age
          example: 122
        totalFirstPaymentAmount:
          type: number
          format: double
          description: Total first payment amount
          example: 33.1
        netSurrenderValue:
          type: object
          properties:
            age65:
              type: number
              format: double
              example: 1.385921
            finalAge:
              type: number
              format: double
              example: 1.385921
        premiumFinalAge:
          type: number
          format: double
          example: 110.04
    IUL-Shared-Scenario-Properties:
      title: IUL Shared Scenario Properties
      description: Scenario properties shared between IUL and HIT products
      type: object
      properties:
        annualTimeSeriesData:
          type: array
          items:
            $ref: "#/components/schemas/Single-Year-Values-IUL"
        acceleratedBenefitRider:
          type: object
          properties:
            band1MonthlyFee:
              type: number
              format: double
              description: Band 1 monthly fee
              example: 250
            maximumAmount:
              type: number
              format: double
              description: Maximum amount
              example: 500000
            maximumPercent:
              type: number
              format: double
              description: Maximum percent
              example: 50
        annualCumulativeGuidelineLevelPremium:
          type: number
          format: double
          description: Annual cumulative guideline level premium
          example: 0
        annualDistributionAmount:
          type: number
          format: integer
          description: Annual distribution amount
          example: 0
        baseCoverageEndYear:
          type: number
          format: integer
          example: 21
        bonus:
          type: object
          properties:
            annualMaximum:
              type: number
              format: double
              description: Annual maximum
              example: 100
            maximum:
              type: number
              format: double
              description: Maximum
              example: 300
            percent:
              type: number
              format: double
              description: Percent
              example: 10
        capAccountParameters:
          type: object
          properties:
            bestRate25Years:
              type: number
              format: double
              description: Best rate 25 years
              example: 7.18
            maximumRate:
              type: number
              format: double
              description: Maximum rate
              example: 5.82
            rate:
              type: number
              format: double
              description: Rate
              example: 9
            rateLast10Years:
              type: number
              format: double
              description: Rate last 10 years
              example: 6.22
            rateLast20Years:
              type: number
              format: double
              description: Rate last 20 years
              example: 6.1
            worstRate25Years:
              type: number
              format: double
              description: Worst rate 25 years
              example: 4.05
        coverages:
          properties:
            acceleratedDeathBenefitForTerminalIllness:
              $ref: "#/components/schemas/Output-Coverage-Values"
            acceleratedDeathBenefitForChronicIllness:
              $ref: "#/components/schemas/Output-Coverage-Values"
            acceleratedDeathBenefitForCriticalIllness:
              $ref: "#/components/schemas/Output-Coverage-Values"
            accidentalDeathBenefit:
              $ref: "#/components/schemas/Output-Coverage-Values"
            charitableGiving:
              $ref: "#/components/schemas/Output-Coverage-Values"
            childrensTerm:
              $ref: "#/components/schemas/Output-Coverage-Values"
            guaranteedInsurabilityBenefit:
              $ref: "#/components/schemas/Output-Coverage-Values"
            overloanProtection:
              $ref: "#/components/schemas/Output-Coverage-Values"
            ownerWaiverOfDeduction:
              $ref: "#/components/schemas/Output-Coverage-Values"
            waiverOfDeduction:
              $ref: "#/components/schemas/Output-Coverage-Values"
        current:
          type: object
          properties:
            interestRate:
              type: number
              format: double
              example: 5
              description: Interest rate
            premiumLoad:
              type: number
              format: double
              example: 4
              description: Premium load
        currentInterestRate:
          type: number
          format: double
          example: 3
        deathBenefit:
          type: object
          properties:
            age65:
              type: number
              format: double
              example: 100000
            finalAge:
              type: number
              format: double
              example: 100000
        distribution:
          type: object
          properties:
            endAge:
              type: number
              format: integer
              example: 0
              description: End age
            startAge:
              type: number
              format: integer
              example: 0
              description: Start age
        fixed:
          type: object
          properties:
            accountRate:
              type: number
              format: double
              example: 5
              description: Account rate
            costPeriod:
              type: object
              properties:
                coveragePayment:
                  type: number
                  format: double
                  example: 9.17
                  description: Coverage payment
                savings:
                  type: number
                  format: double
                  example: 0
                  description: Savings
                totalPayment:
                  type: number
                  format: double
                  example: 9.17
                  description: Total payment
        fixedAccountRate:
          type: number
          format: double
          example: 1
        initial:
          type: object
          properties:
            guidelineLevelPremium:
              type: number
              format: double
              example: 0
              description: Guideline level premium
            minimumPremiumAmount:
              example: 0
              format: double
              type: number
              description: Minimum premium amount
            modifiedEndowmentPremium:
              example: 4274.62
              format: double
              type: number
              description: Modified endowment premium
            targetPremiumAmount:
              example: 1234.5
              format: double
              type: number
              description: Target premium amount
        insuranceAge:
          type: object
          properties:
            atLastDeathBenefitOptionChange:
              type: number
              format: integer
              example: 56
              description: Insurance age at last death benefit option change
            atLastFaceChange:
              type: number
              format: integer
              example: 35
              description: Insurance age at last face change
        lapseAge:
          type: number
          format: integer
          example: 56
        lapseYear:
          type: number
          format: integer
          example: 21
        match:
          type: object
          properties:
            maximumPercent:
              type: number
              format: double
              example: 5
              description: Max percent
            maximumPremiumAmount:
              type: number
              format: double
              example: 5000
              description: Maximum premium amount
            maximumYear:
              type: number
              format: integer
              example: 0
              description: Maximum year
            percent:
              type: number
              format: double
              example: 2.5
              description: Percent
            printColumnMessageFlag:
              type: number
              format: integer
              example: 1
              description: Print column message flag
            transferAmount:
              type: number
              format: double
              example: 5
              description: Transfer amount
            vestingPrintColumnMessageFlag:
              type: number
              format: integer
              example: 1
              description: Vesting print column message flag
            vestingYears:
              type: number
              format: integer
              example: 0
              description: Vesting years
            years:
              type: number
              format: integer
              example: 0
              description: Years
        minimumNoLapseGuaranteeTestYears:
          type: number
          format: integer
          example: 0
          description: Minimum no lapse guarantee test years
        modifiedEndowmentContract:
          type: object
          properties:
            adjustmentIndicator:
              type: number
              format: integer
              example: 0
              description: Adjustment indicator
            conversionYear:
              type: number
              format: integer
              example: 0
              description: Conversion year
        overloan:
          type: object
          properties:
            minimumAge:
              type: number
              format: integer
              example: 75
              description: Minimum age
            minimumLoanPercent:
              type: number
              format: double
              example: 95
              description: Minimum loan percent
            minimumYear:
              type: number
              format: integer
              example: 15
              description: Minimum year
        participantAccountParameters:
          type: object
          properties:
            bestRate25Years:
              type: number
              format: double
              example: 8.68
              description: Best rate 25 years
            maximumRate:
              type: number
              format: double
              example: 6.54
              description: Maximum rate
            rate:
              type: number
              format: double
              example: 55.25
              description: Rate
            rateLast10Years:
              type: number
              format: double
              example: 8.3
              description: Rate last 10 years
            rateLast20Years:
              type: number
              format: double
              example: 6.98
              description: Rate last 20 years
            worstRate25Years:
              type: number
              format: double
              example: 4.22
              description: Worst rate 25 years
        parRate:
          type: number
          format: double
          example: 5
        policyYearOfLastDeathBenefitOptionChange:
          type: number
          format: integer
          example: 21
          description: Policy year of last death benefit option change
        policyYearOfLastFaceChange:
          type: number
          format: integer
          example: 0
          description: Policy year of last face change
        premiumAge65:
          type: number
          format: double
          example: 1522.2
        savings:
          type: object
          properties:
            maximumAmount:
              type: number
              format: double
              example: 100
            minimumPayment:
              type: number
              format: integer
              example: 100
            percent:
              type: number
              format: double
              example: 10
            years:
              type: number
              format: integer
              example: 3
        secondLoan:
          type: object
          properties:
            chargeRateArrears:
              type: number
              format: double
              example: 4.5
            creditRate:
              type: number
              format: double
              example: 4.5
        terminal:
          type: object
          properties:
            amount:
              type: number
              format: double
              example: 500000
            percent:
              type: number
              format: double
              example: 50
        thirdLoan:
          type: object
          properties:
            chargeRateArrears:
              type: number
              format: double
              example: 4.5
            creditRate:
              type: number
              format: double
              example: 4.5
        totalPremiumDueToFaceAmount:
          type: number
          format: double
          example: 33.1
        withdrawalTakenIndicator:
          type: number
          format: integer
          example: 0
        yearAge65:
          type: number
          format: integer
          example: 31
        zeroPremiumIndicator:
          type: number
          format: integer
          example: 0
    Attribute-Collection:
      title: Attribute Collection
      description: A collection of uniquely named variables, must be camel-cased.
      type: object
      properties:
        ^[a-z][a-zA-Z0-9]+:
          $ref: "#/components/schemas/Variable-Value"
    Account-Value:
      title: Account-Value
      description: A description of the monetary value of an investment contract
      type: object
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
        policyMetrics:
          $ref: "#/components/schemas/Basic-Collection"
        loan:
          $ref: "#/components/schemas/Basic-Collection"
        withdrawal:
          $ref: "#/components/schemas/Basic-Collection"
      required:
        - attributes
        - policyMetrics
        - loan
        - withdrawal
    Basic-Collection:
      title: Basic Collection
      description: A simple object that only contains a collection of unique
        attributes and no further structure.
      type: object
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
      required:
        - attributes
    Coverage-Collection:
      title: Coverage-Collection (v3)
      description: A collection of benefits
      type: array
      items:
        $ref: "#/components/schemas/Coverage"
    Parties:
      title: Parties
      description: An unkeyed collection of unique Party objects
      type: array
      items:
        $ref: "#/components/schemas/Party"
      uniqueItems: true
    Features:
      title: Features
      description: Well-known geatures associated with a policy
      type: object
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
        lapseAssessment:
          $ref: "#/components/schemas/Basic-Collection"
        lapseProtection:
          $ref: "#/components/schemas/Basic-Collection"
        reinstatement:
          $ref: "#/components/schemas/Basic-Collection"
      required:
        - attributes
        - lapseAssessment
        - lapseProtection
        - reinstatement
    Multiple-Basic-Collections:
      title: Multiple-Basic-Collections
      type: array
      items:
        $ref: "#/components/schemas/Basic-Collection"
    Fund-Collection:
      title: Fund-Collection
      description: An unkeyed collection of funds
      type: array
      items:
        $ref: "#/components/schemas/Fund"
    Arrangements:
      title: Arrangements
      description: An unkeyed collection of arrangement objects
      type: array
      items:
        $ref: "#/components/schemas/Arrangement"
    Single-Year-Values-Base:
      title: Single-Year Values
      description: A single-year slice of data that varies annually - these values
        apply to any scenario and any product
      type: object
      allOf:
        - $ref: "#/components/schemas/PropertyCollection-Loan"
      properties:
        year:
          type: number
          format: integer
        accountValue:
          type: number
          format: double
          example: 0.104742
        coverages:
          type: object
          description: Coverage-specific values which are annually variable. See under
            "initial" for values that are constant year-to-year
          properties:
            base:
              $ref: "#/components/schemas/Output-Coverage-Values"
        cumulativePremiumAmount:
          type: number
          format: double
          example: 397.2
        deathBenefitAmount:
          type: number
          format: double
          example: 250000.104742
        faceAmount:
          type: number
          format: double
          example: 250000
        insuranceAgeAtBeginningOfYear:
          type: number
          format: integer
          example: 35
        insuranceAgeAtEndOfYear:
          type: number
          format: integer
          example: 36
        perUnitCharge:
          type: number
          format: double
          example: 201.21
        policyValue:
          type: number
          format: double
          example: 0.104742
        premiumAmount:
          type: number
          format: double
          example: 397.2
        policyBasis:
          type: number
          format: double
          example: 110.04
        policyGain:
          type: number
          format: double
          example: 0
        surrenderValue:
          type: number
          format: double
          example: 0.102552
    Output-Coverage-Values:
      title: Output Coverage Values
      description: Result values relevant to a specific coverage
      type: object
      properties:
        policyFee:
          type: number
          format: double
          description: Annual policy fee
          example: 150.2
        modalPolicyFee:
          type: number
          format: double
          description: Modal policy fee
          example: 0
        premium:
          type: number
          format: double
          description: Annual premium
          example: 0
        modalPremium:
          type: number
          format: double
          description: Modal premium
          example: 0
        tablePremium:
          type: number
          format: double
          description: Annual table premium
          example: 0
        modalTablePremium:
          type: number
          format: double
          description: Modal table premium
          example: 0
        flatExtraPremium:
          description: Flat Extra premium
          type: number
          format: double
          example: 5
        modalFlatExtraPremium:
          type: number
          format: double
          description: Modal flat extra premium
          example: 0
        faceAmount:
          type: number
          format: double
          description: Coverage face amount
          example: 2500
        isIncludedInQuote:
          type: boolean
          example: true
          description: indicates that this coverage was actually used in producing the quote
    Single-Year-Values-IUL:
      title: Single-Year values for IUL
      description: A single-year slice of data that varies annually - these values are
        specific to IUL products
      allOf:
        - $ref: "#/components/schemas/Single-Year-Values-Base"
        - $ref: "#/components/schemas/PropertyCollection-Withdrawal"
      properties:
        accumulatedPremiumAmountAtInterest:
          type: number
          format: double
          example: 115.542
        bonus:
          type: number
          format: double
          example: 0
        costOfInsurance:
          type: number
          format: double
          example: 45.576
        coverages:
          properties:
            acceleratedDeathBenefitForTerminalIllness:
              $ref: "#/components/schemas/Output-Coverage-Values"
            acceleratedDeathBenefitForChronicIllness:
              $ref: "#/components/schemas/Output-Coverage-Values"
            acceleratedDeathBenefitForCriticalIllness:
              $ref: "#/components/schemas/Output-Coverage-Values"
            accidentalDeathBenefit:
              $ref: "#/components/schemas/Output-Coverage-Values"
            charitableGiving:
              $ref: "#/components/schemas/Output-Coverage-Values"
            childrensTerm:
              $ref: "#/components/schemas/Output-Coverage-Values"
            guaranteedInsurabilityBenefit:
              $ref: "#/components/schemas/Output-Coverage-Values"
            overloanProtection:
              $ref: "#/components/schemas/Output-Coverage-Values"
            ownerWaiverOfDeduction:
              $ref: "#/components/schemas/Output-Coverage-Values"
            waiverOfDeduction:
              $ref: "#/components/schemas/Output-Coverage-Values"
        coverageCredit:
          type: number
          format: double
          example: 1.1
        deathBenefitAmountDueToCorridor:
          type: number
          format: double
          example: 0
        effectiveInterestRate:
          type: number
          format: double
          example: 5
        expenseCharge:
          type: number
          format: double
          example: 60
        forcedWithdrawalDueToGuidelinesAmount:
          type: number
          format: double
          example: 0
        guidelineLevelPremiumAmount:
          type: number
          format: double
          example: 0
        guidelineMaximumPremiumAmount:
          type: number
          format: double
          example: 0
        guidelineSinglePremiumAmount:
          type: number
          format: double
          example: 0
        historical:
          type: object
          properties:
            SP500:
              type: number
              format: double
              example: 3.001023
            SP500CapRate:
              type: number
              format: double
              example: 3.001023
            SP500ParticipationRate:
              type: number
              format: double
              example: 1.7
            Year:
              type: number
              format: double
              example: 2005
        interestRate:
          type: number
          format: double
          example: 5
        interestCreditedAmount:
          type: number
          format: double
          example: 0.001678
        minimumPremiumAmount:
          type: number
          format: double
          example: 0
        modifiedEndowmentContractIndicator:
          type: number
          format: double
          example: 0
        netAmountAtRisk:
          type: number
          format: double
          example: 99991.138173
        policyNetOutlayAmountForExpenseSummary:
          type: number
          format: double
          example: 110.04
        premiumCharge:
          type: number
          format: double
          example: 4.4016
        premiumOutlayKey:
          type: number
          format: double
          example: 1
        protectionCost:
          type: number
          format: double
          example: 105.576
        riderCharges:
          type: number
          format: double
          example: 0
        sevenPayPremiumAmount:
          type: number
          format: double
          example: 4274.62
        surrenderChargeAmount:
          type: number
          format: double
          example: 0
        taxDueAmount:
          type: number
          format: double
          example: 0
        taxableAmount:
          type: number
          format: double
          example: 0
        totalDistributionAmount:
          type: number
          format: double
          example: 0
        cvatFactors:
          type: number
          format: double
          example: 3.526381
        insuranceAge:
          type: object
          properties:
            atBeginningOfYear:
              type: number
              format: double
              example: 18
            atEndOfYear:
              type: number
              format: double
              example: 19
        internalRateOfReturn:
          type: object
          properties:
            deathBenefit:
              type: number
              format: double
              example: 0
            surrender:
              type: number
              format: double
              example: 0
        match:
          type: object
          properties:
            cumulativeVestedPremiumAmount:
              type: number
              format: double
              example: 0
            premiumAmount:
              type: number
              format: double
              example: 0
            unvestedAccountValue:
              type: number
              format: double
              example: 0
            vestedPremiumAmount:
              type: number
              format: double
              example: 0
    Variable-Value:
      title: Variable Value
      description: the value of a variable, may be constant or time-dependent
      oneOf:
        - type: string
        - $ref: "#/components/schemas/Schedule"
    Coverage:
      title: Coverage (v3)
      description: A benefit conferred to a group of one or more participants
      type: object
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
        participants:
          $ref: "#/components/schemas/Participant-Collection"
        fees:
          $ref: "#/components/schemas/Multiple-Basic-Collections"
      required:
        - attributes
        - participants
        - fees
    Party:
      title: Party
      description: A unique entity
      type: object
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
        person:
          $ref: "#/components/schemas/Basic-Collection"
        organization:
          $ref: "#/components/schemas/Basic-Collection"
        trust:
          $ref: "#/components/schemas/Basic-Collection"
      required:
        - attributes
        - person
        - organization
        - trust
    Fund:
      title: Fund
      description: A source of money
      type: object
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
        segments:
          $ref: "#/components/schemas/Multiple-Basic-Collections"
      required:
        - attributes
        - segments
    Arrangement:
      title: Arrangement
      description: Describes an arbitrary agreement
      type: object
      properties:
        arrangementSources:
          type: array
          items:
            $ref: "#/components/schemas/Arrangement-Source"
        type:
          $ref: "#/components/schemas/Arrangement-Type"
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
        requestedAmount:
          $ref: "#/components/schemas/Variable-Value"
        deathClaim:
          $ref: "#/components/schemas/Basic-Collection"
        fees:
          $ref: "#/components/schemas/Multiple-Basic-Collections"
        loanSegments:
          $ref: "#/components/schemas/Multiple-Basic-Collections"
        matchSegment:
          $ref: "#/components/schemas/Active-Segment"
        payments:
          $ref: "#/components/schemas/Multiple-Basic-Collections"
        taxWithholdings:
          $ref: "#/components/schemas/Multiple-Basic-Collections"
    PropertyCollection-Loan:
      title: Loan Property Collection
      description: Reusable collection of loan-related properties
      type: object
      properties:
        loan:
          type: object
          properties:
            amount:
              type: number
              format: double
              description: Loan amount
              example: 0
            interestCreditedAmount:
              type: number
              format: double
              description: Loan interest credited amount
              example: 0
            interestDueAmount:
              type: number
              format: double
              description: Loan interest due amount
              example: 0
            payoffAmount:
              type: number
              format: double
              description: Loan payoff amount
              example: 0
            maximumLoanAmount:
              type: number
              format: double
              description: Maximum loan amount
              example: 0
        netAccountValue:
          type: number
          format: double
          example: 0.104742
        netDeathBenefitAmount:
          type: number
          format: double
          example: 250000.104742
        netSurrenderValue:
          type: number
          format: double
          example: 0.104742
        policyNetOutlayAmount:
          type: number
          format: double
          example: 397.2
        premiumOutlayAmount:
          type: number
          format: double
          example: 397.2
    PropertyCollection-Withdrawal:
      title: Withdrawal Property Collection
      description: Reusable collection of withdrawal-related properties
      type: object
      properties:
        cumulativeWithdrawalAmount:
          type: number
          format: double
          description: Cumulative withdrawal amount
          example: 0
        maximumWithdrawalAmount:
          type: number
          format: double
          description: Maximum withdrawal amount
          example: 0
        withdrawalAmount:
          type: number
          format: double
          description: Withdrawal amount
          example: 0
    Schedule:
      title: Schedule
      description: Represents a value that changes with time. The value is assumed to
        change annually and be tied to a duration unless otherwise specified via
        the Frequency and Basis properties
      type: object
      properties:
        frequency:
          description: Indicates the interval between values for each entry. Any entry
            other than Annual results in multiple activities within a year.
          type: string
          enum:
            - ANNUAL
            - SEMI_ANNUAL
            - QUARTERLY
            - MONTHLY
            - BIWEEKLY
            - WEEKLY
            - DAILY
        basis:
          description: Specifies how to interpret the from and through properties for each
            entry.
          type: string
          enum:
            - AGE
            - DURATION
        sequence:
          description: Collection of entries describing the changes in value over time
          type: array
          items:
            $ref: "#/components/schemas/Scheduled-Entry"
          minItems: 1
      required:
        - sequence
    Participant-Collection:
      title: Participant-Collection
      description: An unkeyed collection of unique participant objects
      type: array
      items:
        $ref: "#/components/schemas/Participant"
      uniqueItems: true
    Arrangement-Source:
      title: Arrangement-Source
      type: object
      description: A source of funding for an arrangement
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
        segments:
          type: array
          items:
            $ref: "#/components/schemas/Active-Segment"
      required:
        - attributes
        - segments
    Arrangement-Type:
      title: Arrangement Type
      description: Enumeration of allowable arrangement types
      type: string
      enum:
        - LOAN
        - WITHDRAWAL
        - PAYMENT
        - CONVERSION_ACTIVATION
    Active-Segment:
      title: Active-Segment
      type: object
      description: A segment of a source of money that has some form of financial activity
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
        financialActivity:
          $ref: "#/components/schemas/Financial-Activity"
      required:
        - attributes
    Scheduled-Entry:
      title: Scheduled Entry
      description: Represents a limited time period for which a value is constant.
      type: object
      properties:
        from:
          description: starting point for the value, inclusive
          type: integer
          minimum: 1
        through:
          description: ending point for the value, inclusive
          type: integer
          minimum: 1
        value:
          type: string
      required:
        - from
        - through
        - value
    Participant:
      title: Participant (v3)
      description: An entity with a stake in a policy
      type: object
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
        flatExtra:
          $ref: "#/components/schemas/Multiple-Basic-Collections"
      required:
        - attributes
        - flatExtra
    Financial-Activity:
      title: Financial Activity
      type: object
      properties:
        attributes:
          $ref: "#/components/schemas/Attribute-Collection"
      required:
        - attributes
  securitySchemes:
    Auth0:
      type: openIdConnect
      openIdConnectUrl: https://login.dev.zinnia.com/.well-known/openid-configuration
      x-kong-security-openid-connect:
        config:
          run_on_preflight: true
          scopes_claim:
            - https://dev.api.zinnia.io/permissions
          audience_claim:
            - aud
          audience_required:
            - https://dev.api.zinnia.io
          auth_methods:
            - bearer
          scopes: []
        enabled: true
        protocols:
          - grpc
          - grpcs
          - http
          - https
```
