---
title: "Validation Check For Initial Premium"
url: "https://developers.zinnia.com/apis/policy-transactions-1-0-2/versions/d0006570-ab9d-464e-814f-d120ba425e84/operations/initialPremiumValidation1"
---

> Full API specification: https://developers.zinnia.com/apis/policy-transactions-1-0-2/versions/d0006570-ab9d-464e-814f-d120ba425e84.md

# Validation Check For Initial Premium

`POST` `/policy/v1/transactions/{planCode}/{policyNumber}/initialpremium/validation`

Operation ID: `initialPremiumValidation1`

## Path parameters

- `planCode` (string, required)
- `policyNumber` (string, required)

## Request body (required)

Content types: `application/json`

## Responses

- `200` - Success
- `400` - Failure
- `500` - Unexpected error occured, please check server log

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Zinnia Policy Transactions API.
  version: 1.0.8
servers:
  - url: https://dev.api.zinnia.io
    description: DEV Environment
  - url: https://qa.api.zinnia.io
    description: QA Environment
paths:
  /policy/v1/transactions/{planCode}/{policyNumber}/initialpremium/validation:
    post:
      x-kong-plugin-pre-function:
        config:
          access:
            - >
              local path = kong.request.get_path()

              local new_path = path:gsub("^/policy/v1/transactions",
              "/bpm/v1/policies")

              kong.service.request.set_path(new_path)
      tags:
        - Financial Transactions
      summary: Validation Check For Initial Premium
      operationId: initialPremiumValidation1
      parameters:
        - name: planCode
          in: path
          required: true
          schema:
            type: string
        - name: policyNumber
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/InitialPremiumRequest"
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionResponse"
              examples:
                success:
                  $ref: "#/components/examples/successTransactionResponsewithoutQuote"
        "400":
          description: Failure
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionResponse"
              examples:
                failure:
                  $ref: "#/components/examples/failureTransactionResponse"
        "500":
          description: Unexpected error occured, please check server log
      security:
        - Auth0: []
security:
  - Auth0: []
components:
  schemas:
    InitialPremiumRequest:
      type: object
      properties:
        caseId:
          type: string
          example: CA0000007389
          description: Zinnia Live Case ID
        correlationId:
          type: string
          example: 864e43a0-2c2f-4a11-9d7f-69ed40115066
          description: The unique ID to track transaction request across all systems
        effectiveDate:
          type: string
          format: date
          example: 2023-01-01
          description: Date when the transaction was originally scheduled or expected to
            happen. It can be a non-business day
        reverseInitiator:
          type: boolean
          default: false
          description: Property to isolate source transaction(s) that initiated the reversal
        transactionReason:
          $ref: "#/components/schemas/TransactionReason"
        transactionAmounts:
          type: object
          properties:
            requestedAmount:
              type: number
              format: double
              example: 1000
              description: Requested amount value
        fundAllocation:
          $ref: "#/components/schemas/FundAllocation"
        exchange:
          $ref: "#/components/schemas/TransactionExchange"
        taxBasis:
          $ref: "#/components/schemas/TransactionTaxBasis"
        payor:
          type: object
          properties:
            partyId:
              type: string
              example: Party_PI_1
              description: Impacted Party in the event of financial transaction
            paymentForm:
              $ref: "#/components/schemas/PaymentForm"
            bankId:
              type: string
              example: Bank_1
              description: Comes in Acord 103
            partyRole:
              type: string
              description: Party Role
    TransactionResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - success
            - failure
        error:
          type: array
          items:
            $ref: "#/components/schemas/Error"
        quoteResponse:
          type: object
    TransactionReason:
      type: string
      enum:
        - ONETIMEPREMIUM
        - GRACEPERIODPREMIUM
        - REINSTATEMENTPREMIUM
        - EXCHANGE1035
        - SURRENDER
        - AMOUNTEXCESSTOMEC
        - AMOUNTEXCESSTOGUIDELINE
        - CURRENTVALUE
        - COSTBASIS
        - GUIDELINESINGLEPREMIUM
        - GUIDELINELEVELPREMIUM
        - SEVENPAYPREMIUM
        - TOTALYTDPREMIUMAMOUNT
        - FACEDECREASECOVERAGE
        - INITIALPREMIUMEXPIRATION
        - COMPLIANCE
        - STARTINGPRICE
      description: Optional Reason for this transaction
    FundAllocation:
      type: object
      properties:
        investmentType:
          $ref: "#/components/schemas/InvestmentType"
        modelId:
          type: string
          description: The corresponding Model Id of the elected model
          example: TBD
        fundAllocationsInvestments:
          type: array
          items:
            type: object
            properties:
              fundId:
                type: string
                description: TBD
                example: FundAccount1
              allocationPercentage:
                type: number
                format: double
                description: At Policy Level for Each Applicable Fund (Everly there is only one
                  Fixed) Therefore this be 100%
                example: 100
              startDate:
                type: string
                format: date
                description: TBD
                example: 2024-01-01
            required:
              - fundId
              - allocationPercentage
              - startDate
        allocationOption:
          $ref: "#/components/schemas/AllocationOption"
      required:
        - investmentType
        - fundAllocationsInvestments
    TransactionExchange:
      type: object
      properties:
        policyNumber:
          type: string
          description: Unique number given to an exchange/transfer.
          example: EX0000001
        exchangeDescription:
          $ref: "#/components/schemas/ExchangeDescription"
        exchangeDate:
          type: string
          format: date
          description: The date on which 1035 Exchange occurs
          example: 2023-01-01
        lineOfBusiness:
          $ref: "#/components/schemas/LineOfBusiness"
        exchangeAmount:
          type: number
          format: double
          description: Total Dollar received in 1035 Exchange
          example: 161.81698
        qualificationType:
          $ref: "#/components/schemas/QualificationType"
        costBasis:
          type: number
          format: double
          description: Original cost basis of the policy being exchanged - previous Policy
          example: 161.81698
        modifiedEndowmentContractStatus:
          type: boolean
          enum:
            - true
            - false
          description: Indicates if the original policy being exchanged is classified as
            modifiedEndowment contract status
        outstandingLoanRolloverAmount:
          type: number
          format: double
          description: The amount of any outstanding loan against the original policy that
            will be rolled over into the new policy during the 1035 exchange
          example: 161.81698
    TransactionTaxBasis:
      type: object
      properties:
        currentContributionAmount:
          type: number
          format: double
          description: Only for Qualified IRA - normally entered by Ops. It has to do with
            contribution year.  People can submit IRA payment for the 2024 tax
            year up until April 15, 2025 If they were to send in, say $10,000,
            in March and say that $5,000 was 2024 and $5,000 is 2025, we'd load
            $5,000 as a current year contribution and $5,000 as a prior year
            contribution
          example: 161.81698
        currentTaxYear:
          type: number
          format: int32
          description: The tax year for which the current contribution is being reported.
          example: 1
        priorContributionAmount:
          type: number
          format: double
          description: Only for Qualified IRA - normally entered by Ops
          example: 161.81698
        priorTaxYear:
          type: number
          format: int32
          description: Current Tax Year - Default to
          example: 1
        preTaxEquityAndFiscalResponsibilityActBasis:
          type: number
          format: double
          description: Cost basis established before August 14, 1982. This type of cost
            basis will be withdrawn from an annuity before any gain (taxable
            amount) is withdrawn
          example: 161.81698
        postTaxEquityAndFiscalResponsibilityActBasis:
          type: number
          format: double
          description: Cost basis established on or after August 14, 1982. This type of
            cost basis is not withdrawn from an annuity until all gain has been
            withdrawn
          example: 161.81698
        postTechnicalAndMiscellaneousRevenueActAmount:
          type: number
          format: double
          description: Applies to 403b Qual type
          example: 161.81698
    PaymentForm:
      type: string
      enum:
        - DTCC
        - CREDITCARD
        - ACH
        - CHECK
        - WIRE
        - EXCHANGE
        - EFT
      description: Mode of payment
    Error:
      type: object
      properties:
        errorCode:
          type: string
          example: BPM.NM.002
          description: This is the NIGO id generated by BPM system
        attribute:
          type: string
        error:
          type: string
          description: This is the error generated by BPM system
        resolution:
          type: string
          description: Resolution generated by BPM system to resolve the error
    InvestmentType:
      type: string
      enum:
        - INVESTMENTFUND
        - INVESTMENTMODEL
      description: TBD
    AllocationOption:
      type: string
      enum:
        - PRORATA
        - DOLLAR
        - SPECIFYPERCENTAGE
        - SPECIFIEDFUNDS
        - SPECIFIEDSEGMENTS
        - DEFAULT
        - PECKINGORDER
        - EARNINGSONLY
      description: Defines the format of how the funds are removed, i.e. dollar,
        percentage, pro-rata, etc.
    ExchangeDescription:
      type: string
      enum:
        - DEFAULT
        - EXTERNAL1035
        - INTERNAL1035
        - EXTERNALDIRECTTRANSFER
        - INTERNALDIRECTTRANSFER
        - EXTERNALROLLOVERQUALIFIED
        - INTERNALROLLOVERQUALIFIED
        - EXTERNALROTHROLLOVER
        - INTERNALROTHROLLOVER
        - EXTERNALROTHDIRECTTRANSFER
        - INTERNALROTHDIRECTTRANSFER
        - BENEFITPROCEEDS
        - CASHCONTRIBUTIONS
        - EXTERNAL1035PARTIAL
        - INTERNAL1035PARTIAL
        - BIRTHORADOPTIONREPAYMENT
      description: Indicates the type of exchange being conducted
    LineOfBusiness:
      type: string
      enum:
        - LIFE
        - ANNUITY
      description: Line of business annuity or life
    QualificationType:
      type: string
      enum:
        - INDIVIDUALRETIREMENTACCOUNTREGULAR
        - INDIVIDUALRETIREMENTACCOUNTSPOUSAL
        - INDIVIDUALRETIREMENTACCOUNTROLLOVER
        - ROTHINDIVIDUALRETIREMENTACCOUNT
        - CUSTODIALINDIVIDUALRETIREMENTACCOUNT
        - CUSTODIALROTHINDIVIDUALRETIREMENTACCOUNT
        - CUSTODIALROLLOVERINDIVIDUALRETIREMENTACCOUNT
        - QUALIFIED
        - NONQUALIFIED
      description: The type of transaction added and processed
  examples:
    successTransactionResponsewithoutQuote:
      value:
        status: success
    failureTransactionResponse:
      value:
        status: failure
        validationResult:
          - errorCode: BPM.NM.005
            attribute: null
            error: Amount request is invalid.
            resolution: Please check the One Time Premium Amount and submit the request
              again.
          - errorCode: BPM.NM.003
            attribute: null
            error: Party information does not match with information in the Zahara system.
            resolution: Please validate the party information and submit the request again.
  securitySchemes:
    Auth0:
      type: openIdConnect
      openIdConnectUrl: https://login.uat.zinnia.com/.well-known/openid-configuration
      x-kong-security-openid-connect:
        config:
          run_on_preflight: true
          scopes_claim:
            - https://uat.api.zinnia.io/permissions
          audience_claim:
            - aud
          audience_required:
            - https://uat.api.zinnia.io
          client_id:
            - client_id
          auth_methods:
            - bearer
        enabled: true
        protocols:
          - grpc
          - grpcs
          - http
          - https
```
