---
title: "Distribution"
url: "https://developers.zinnia.com/apis/policy-service-0-1-0/versions/8306e031-b41c-452a-a7ed-d73d65602086/schemas/Distribution"
---

> Full API specification: https://developers.zinnia.com/apis/policy-service-0-1-0/versions/8306e031-b41c-452a-a7ed-d73d65602086.md

# Distribution

## OpenAPI definition

```yaml
openapi: 3.0.0
info:
  title: Policy Service
  version: 0.0.21
servers:
  - url: https://qa.api.zinnia.io
components:
  schemas:
    InvestmentType:
      type: string
      enum:
        - INVESTMENTFUND
        - INVESTMENTMODEL
        - CHARGEDEDUCTION
        - DEFAULTWITHDRAWAL
        - INTERESTRATERENEWAL
    FundAllocation:
      type: object
      properties:
        fundId:
          type: string
          description: A unique identifier for a specific fund account available for
            selection for Fund Allocation
          example: FUND001
        fundName:
          type: string
          description: The official business name of the specific fund account within the
            investment structure
          example: Everglades Fixed IUL Fund
        fundAccountType:
          $ref: "#/components/schemas/FundAccountType"
        allocationPercentage:
          type: number
          description: The percentage of total fund allocation assigned to a particular
            fund account
          example: 100
          format: double
        startDate:
          type: string
          format: date
          description: The date when the fund allocation /investment selection/fund
            becomes active
          example: 2023-01-01
        endDate:
          type: string
          format: date
          description: The date when the fund allocation /investment selection/fund is no
            longer valid
          example: 2023-01-01
    Fund:
      type: object
      properties:
        fundAccountType:
          $ref: "#/components/schemas/FundAccountType"
        fundId:
          type: string
          description: A unique identifier assigned to a specific fund account within the
            investment structure
          example: EVGL002
        fundName:
          type: string
          description: The official business name of the specific fund account within the
            investment structure
          example: S&P 500® Price Return Annual Point-to-Point with Participation Rate
            Account
        generalLedgerFundCode:
          type: string
          description: The accounting code used in the insurer’s general ledger for
            tracking fund transactions
          example: XE2
        totalFundValue:
          type: number
          description: The total value of the specific fund account within the investment
            structure.The total fund value of the a specific fund, considering
            any earnings, withdrawals, or adjustments due to transaction
          format: double
          example: 15.67
        percentageOfAccountValue:
          type: number
          description: Percentage of Account Value refers to a value that is calculated as
            a percentage of the total account value of an insurance or annuity
            contract. It is often used to determine allocations, fees, benefits,
            or charges that are based on how much money is currently held in the
            policy's account value.
          format: double
          example: 13.27
        interestGuaranteedPeriod:
          type: number
          format: int32
          example: 3
          description: The length of time for which the guaranteed minimum interest rate
            is applicable
        guaranteedMinimumInterestRate:
          type: number
          format: double
          example: 1.52
          description: Retrieving data. Wait a few seconds and try to cut or copy again
        fundSegments:
          type: array
          items:
            $ref: "#/components/schemas/FundSegment"
    MatchSegment:
      type: object
      properties:
        segmentId:
          type: string
          description: TBA unique identifier assigned to a specific match segment within
            the policy, used to track matched contributions or benefits
          example: Match1
        matchAccountValue:
          type: number
          description: The present value of the matched amount/bonus in the segment,
            reflecting any growth, deductions, or adjustments
          format: double
          example: 1.985116
        cumulativeMatchPaymentAmount:
          type: number
          description: The total amount of matching contributions or eligible bonus
            contributions accumulated over time within the policy
          format: double
          example: 1.98
        yearToDateMatchValue:
          type: number
          description: The amount of matching contributions or eligible bonus
            contributions accumulated over the current policy year
          format: double
          example: 1.98
        maximumLifeTimeVestingAmount:
          type: number
          description: The highest total amount that can be matched or highest total
            eligible bonus over the lifetime of the policy, as per policy terms
          format: double
          example: 300
        maximumAnnualVestingAmount:
          type: number
          description: The maximum amount that can be matched or eligible bonus for
            current policy year
          format: double
          example: 300
        minimumPaymentsForMatch:
          type: number
          description: The minimum amount that can be matched or minimum eligible bonus
            over the lifetime of the policy, as per policy terms
          format: double
          example: 0
        unvestedPremiumBonus:
          type: number
          example: 10.12
          description: This is the current value that is not fully vested to the policy
            holder. It would be recaptured partially/fully at
            withdrawal/surrender.
          format: double
        totalRecapturedPremiumBonus:
          type: number
          example: 10.12
          description: The total amount of the premium bonus that was deducted from the
            policy value as a result of a partial or full withdrawal during the
            vesting period.
          format: double
        matchVestingDate:
          type: string
          description: The date on which the matched amount/ bonus becomes fully vested,
            meaning the policyholder gains full ownership rights over the
            matched funds/bonus.(match amount/bonus becomes part of account
            value)
          format: date
          example: 2023-01-01
        generalLedgerFundCode:
          type: string
          description: The accounting code used in the insurer’s general ledger system to
            track match/bonus related transactions
          example: V2201
        vestingPeriod:
          type: number
          description: The duration required before matched amount/bonus are fully vested,
            typically expressed in years or policy terms
          format: int32
          example: 10
    LoanSegment:
      type: object
      properties:
        segmentId:
          type: string
          description: A unique identifier assigned to each loan segment within the
            policy, representing a distinct loan transaction
          example: Loan1
        loanType:
          $ref: "#/components/schemas/LoanType"
        loanInterestType:
          $ref: "#/components/schemas/LoanInterestType"
        loanInterestDue:
          type: number
          format: double
          description: Calculated loan interest amount for a policy Owner to Pay before
            Anniversary
          example: 1000
        loanPrincipal:
          type: number
          format: double
          description: The original amount borrowed against the policy, excluding interest
          example: 1500
        loanBalance:
          type: number
          format: double
          description: The outstanding amount of the loan, including accrued interest if
            applicable
          example: 1500.72
        percentageOfAccountValue:
          type: number
          format: double
          description: Percentage of Account Value refers to a value that is calculated as
            a percentage of the total account value of an insurance or annuity
            contract. It is often used to determine allocations, fees, benefits,
            or charges that are based on how much money is currently held in the
            policy's account value.
          example: 1500.72
        loanCollateralAmount:
          type: number
          format: double
          description: This amount represents the total portion of the policy’s account
            value that is used as collateral when a loan is taken against the
            policy. It is calculated as follows:Loan Collateral Amount = Loan
            Principal + Loan Collateral Accrued Interest When a policyholder
            takes a loan, this amount reflects the loaned portion of the account
            value that is set aside as collateral. Interest is applied to this
            collateralized amount at a specific rate as per the policy terms
          example: 1500.72
        preInvestmentSegmentAmount:
          type: number
          format: double
          description: TBD
          example: 0
        loanInterestRate:
          type: number
          format: double
          description: The interest rate charged on the loan balance, which may be fixed
            or variable based on policy terms
          example: 4.5
        loanCreditRate:
          type: number
          format: double
          description: The interest rate charged to any collateralized portion of the
            policy’s cash value
          example: 4
        loanAccruedInterest:
          type: number
          format: double
          description: The interest accumulated on the outstanding loan balance that has
            not yet been paid
          example: 0.72
        loanCollateralAccruedInterest:
          type: number
          format: double
          description: The interest accumulated on the collateral portion of account value.
          example: 0.16
        yearToDateLoanTaken:
          type: number
          format: double
          description: The amount of loans taken against the policy in the current policy
            year
          example: 1500
        generalLedgerFundCode:
          type: string
          description: The accounting code used in the insurer’s general ledger system to
            track loan fund
          example: V2201
        startDate:
          type: string
          format: date
          description: The date when the loan segment becomes active and enforceable
            within the policy
          example: 2023-01-01
        endDate:
          type: string
          format: date
          description: The date when the loan segment is fully repaid, closed, or no
            longer applicable
          example: 2023-01-01
    AllocationSurplusDistribution:
      type: object
      properties:
        segmentId:
          type: string
          description: A unique identifier assigned to each surplus distribution within
            the policy.
          example: s1
        surplusDistributionOption:
          $ref: "#/components/schemas/SurplusDistributionOption"
        surplusDistributionAmount:
          type: number
          format: double
          description: Surplus Distribution Amount that is calculated and credited.
          example: 1000
        currentCashValue:
          type: number
          format: double
          description: Cash Value component for Paid-Up Addition purchased with Surplus
            Distribution.
          example: 1500
        paidUpAdditionCoverage:
          type: number
          format: double
          description: Surplus Distribution buys small chunks of additional paid-up
            coverage. This is that coverage component.
          example: 1500.72
    FundAccountType:
      type: string
      enum:
        - FIXED
        - INDEXED
        - VARIABLE
        - INTERIM
    FundSegment:
      type: object
      properties:
        segmentId:
          type: string
          description: A unique identifier assigned to a particular investment segment or
            bucket
          example: "3"
        fundId:
          type: string
          description: A unique identifier assigned to a specific fund account within the
            investment structure
          example: FundAccount1
        originalDepositAmount:
          type: number
          description: The initial amount deposited to the fund segment
          format: double
          example: 5.22
        originalDepositDate:
          type: string
          description: The date on which the original deposit was deposited into the fund
            segment.(date the segment created)
          format: date
          example: 2023-01-01
        depositDate:
          type: string
          description: The date on which the additional deposit was deposited into the
            fund segment
          format: date
          example: 2023-01-01
        depositAmount:
          type: number
          description: The additional amount deposited to the fund segment
          format: double
          example: 5.22
        currentAmount:
          type: number
          description: The value of the specific fund account segment, including all
            contributions, interest, and market changes
          format: double
          example: 161.81698
        renewalDate:
          type: string
          description: The date on which the segment may be renewed or reinvested
          format: date
          example: 2023-01-01
        numberOfUnits:
          type: number
          description: The number of units allocated in the fund segment (applicable to
            variable investments).
          format: int32
          example: 50
        sweepAccountId:
          type: string
          description: The designated account where the segment funds will be transferred
            upon sweep,maturity
          example: EVGL002
        interestEarningAmount:
          type: number
          format: double
          description: This amount is used for Index interest calculation when Index
            crediting method is "averaging"
          example: 161.81698
        appliedInterestRate:
          type: number
          format: double
          description: The interest rate used to calculate interest amount for segment as
            of the last transaction
          example: 161.81698
        startingPrice:
          type: number
          format: double
          description: The initial market/index price or unit value when the segment was
            created
          example: 1234.21321
        startingPriceDate:
          type: string
          format: date
          description: Date of Starting Price to be used for Index
          example: 2023-01-01
        endingPrice:
          type: number
          format: double
          description: The market/index price or unit value when the segment was
            matures/ends
          example: 2000.81698
        endingPriceDate:
          type: string
          format: date
          description: The date on which the ending price was determined
          example: 2023-01-01
        indexChangeRate:
          type: number
          format: double
          description: The Index Change Rate refers to the rate of change in the value of
            an external market index (such as the S&P 500, Nasdaq, etc.) that is
            used to calculate interest credits for an indexed insurance or
            annuity product. It represents the percentage increase or decrease
            in the selected index over a defined crediting period, and directly
            influences the policy's credited interest or return.
          example: 2000.81698
        depositAnniversaryPrice:
          type: number
          format: double
          description: The index value of the High Water Mark indexed fund segment as of
            the current contract anniversary date. This value represents the
            recorded index price used for interest crediting purposes on the
            anniversary.  Calculated and returned by LPS during the Anniversary
            transaction. Applicable only to High Water Mark indexed fund
            segments.  Updated on each Anniversary transaction to reflect the
            most recent anniversary index value.
          example: 100.5
        depositAnniversaryPriceDate:
          type: string
          format: date
          description: The date corresponding to the anniversaryPrice value - representing
            the date on which the High Water Mark Index was recorded for the
            current contract anniversary. Always in sync with anniversaryPrice
            and updated together in the same Anniversary transaction
          example: 2023-01-01
        startDate:
          type: string
          description: The date when the segment gets created
          format: date
          example: 2023-01-01
        endDate:
          type: string
          description: The date when the segment matures/ends
          format: date
          example: 2023-01-01
        maxPrice:
          type: number
          format: double
          description: Deprecated - kept for backward compatibility. Max Price = Max (IQ1,
            IQ2, IQ3, IQ4, …. IQN). where IQ1 denotes the index value at the 1st
            Quarterversary of the contract, IQ2 denotes the index value at the
            2nd Quarterversary of the contract and so on and IQN denotes the
            index value at the end of the guarantee period (N=4*Guarantee period
            of the fund)
          example: 1234.21321
        maxPriceDate:
          type: string
          format: date
          description: Deprecated - kept for backward compatibility. The corresponding
            date of the determined Quarterversary
          example: 2023-01-01
        rates:
          description: Array of rates associated with this fund segment
          type: array
          items:
            $ref: "#/components/schemas/Rate"
    LoanType:
      type: string
      enum:
        - PREFERRED
        - NONPREFERREDSTANDARDLOAN
        - INDEXLOAN
    LoanInterestType:
      type: string
      enum:
        - FIXED
        - INDEXED
        - VARIABLE
        - ADJUSTABLE
    SurplusDistributionOption:
      type: string
      description: This is the Surplus Distribution type it can be PUA, Cash etc.
      enum:
        - PAIDUPADDITION
        - CASH
    Rate:
      type: object
      properties:
        rateType:
          type: string
          enum:
            - PARTICIPATION
            - CAP
            - SPREAD
            - TRIGGER
            - FLOOR
            - BONUS
            - GMIR
            - ILLUSTRATION
            - THRESHOLD
            - FUNDFEE
            - BAILOUT
            - BUFFER
            - COUPON
            - FIXED
          description: Rate Type identifies the classification of the rate that is being
            applied to a specific fund or account value within a life insurance
            or annuity policy. It defines how the interest, return, or crediting
            rate is determined for that fund.It helps dictate whether the rate
            is fixed, variable, index-linked, declared, or derived from another
            methodology, and plays a key role in calculating earnings or charges
            associated with the fund.
        currentRate:
          type: number
          format: double
          description: Current Rate refers to the actual interest rate or crediting rate
            being applied to a specific fund or account at the present time, as
            declared or calculated by the insurance carrier. It is used to
            determine how much interest or investment return will be credited to
            the contract or sub-account during the current crediting period.
          example: 33.28
        initialGuaranteedRate:
          type: number
          format: double
          description: The Initial Guaranteed Rate is the fixed interest rate promised by
            the insurance carrier at the start of the contract or fund
            allocation, which is guaranteed not to change for a specified
            initial period (e.g., 1, 3, 5, or 10 years), depending on the
            product terms.
          example: 33.28
        guaranteedMinimumRate:
          type: number
          format: double
          description: The Guaranteed Minimum Rate is the lowest interest rate that an
            insurance company is legally or contractually obligated to credit to
            the account value or specific fund of a life insurance or annuity
            policy—regardless of market performance or declared rates. This rate
            acts as a floor, providing downside protection for the policyholder
            by ensuring a minimum return is always credited to the contract.
          example: 33.28
        guaranteedMaximumRate:
          type: number
          format: double
          description: The Guaranteed Maximum Rate is the highest cap or participation
            rate that the insurer can declare, as specified in the contract. It
            does not represent an actual credited rate, but rather a ceiling to
            limit the insurer’s obligations. It works alongside guaranteed
            minimums and declared rates to balance customer upside potential
            with carrier risk management.
          example: 33.28
        rateEffectiveDate:
          type: string
          format: date
          description: The date on which the rate becomes effective for the specific fund
            segment.
          example: 2023-01-01
    Distribution:
      type: object
      properties:
        investmentType:
          $ref: "#/components/schemas/InvestmentType"
        modelName:
          type: string
          description: Elect from available .. If Owner picks and Model as an investment
            option
          example: TBD
        modelId:
          type: string
          description: The corresponding Model Id of the elected model
          example: TBD
        fundAllocationsInvestments:
          type: array
          items:
            $ref: "#/components/schemas/FundAllocation"
        funds:
          type: array
          items:
            $ref: "#/components/schemas/Fund"
        matchSegment:
          $ref: "#/components/schemas/MatchSegment"
        loanSegments:
          type: array
          items:
            $ref: "#/components/schemas/LoanSegment"
        surplusDistributions:
          type: array
          items:
            $ref: "#/components/schemas/AllocationSurplusDistribution"
```
