---
title: "InitialPurchase"
url: "https://developers.zinnia.com/apis/new-business-annuity/versions/45a989ab-c3aa-4f85-8f67-f05c41747ed7/schemas/InitialPurchase"
---

> Full API specification: https://developers.zinnia.com/apis/new-business-annuity/versions/45a989ab-c3aa-4f85-8f67-f05c41747ed7.md

# InitialPurchase

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Zinnia New Business Annuity API
  version: 0.6.0
servers:
  - url: https://qa.api.zinnia.io
    description: QA Environment
  - url: https://dev.api.zinnia.io
    description: DEV Environment
  - url: https://uat.api.zinnia.io
    description: UAT Environment
  - url: https://api.zinnia.io
    description: PROD Environment
components:
  schemas:
    Payment:
      type: object
      required:
        - id
        - paymentMethod
        - moneySource
        - grossAmount
        - netAmount
        - currentAlloc
      properties:
        id:
          type: string
          description: Unique Id to tag to respective payment records. Duplicate Ids will
            be rejected.
          example: payment_1
        paymentMethod:
          type: string
          description: Payment methods
          enum:
            - CHK
            - WIRE
            - EXCREP
            - CREDITCARD
            - ACH
            - DTCC
          example: CHK
        grossAmount:
          format: double
          type: number
          description: Gross Amount for the individual payment
          example: 238500.5
        netAmount:
          format: double
          type: number
          description: Net Amount  for the individual payment
          example: 0
        taxInfo:
          $ref: "#/components/schemas/TaxInfo"
        currentAlloc:
          type: string
          description: Funds to be considered for Future Allocations or not
          enum:
            - YES
            - NO
          example: YES
        waivePremium:
          format: int32
          type: integer
          description: waivePremium
          example: 0
        distributorId:
          type: string
          description: This is same as Tracking ID.If there are multiple payments, first
            payment distributorId will be the TrackingID. This unique system
            generated number is assigned by the B/D system and sent with each
            premium to the NSCC,  to send to the Insurance Company.  This number
            is assigned by the broker dealer, by which the premium can be
            located. Required for clearing house and detail level transactions.
            Broker/dealer would expect this back for chargebacks, reversals,
            etc. Can be returned on the "FAR" and the "COM" by the insurance
            carrier to identify the transaction processed.
        exchangeReplace:
          $ref: "#/components/schemas/ExchangeReplace"
    TaxInfo:
      type: object
      properties:
        currentContribAmount:
          format: double
          type: number
          description: Current Contribution Amount
          example: 0
        priorContribAmount:
          format: double
          type: number
          description: Prior Contribution Amount
          example: 0
        taxYear:
          type: string
          description: tax year
          example: "2025"
        totalBasis:
          format: double
          type: number
          description: Total Cost basis amount
          example: 0
        pretefraBasis:
          format: double
          type: number
          description: Pre Tefra basis amount
          example: 0
        posttefraBasis:
          format: double
          type: number
          description: Post Teefra basis amount
          example: 0
        post88Amount:
          format: double
          type: number
          description: Post 88 Amount
          example: 0
    ExchangeReplace:
      type: object
      description: For any payment that is a replacement/exchange
      required:
        - productType
        - companyName
        - type
        - address
        - amountRequested
        - signedDate
        - sourcePolicyNumber
        - previousPlanType
        - applyRateLock
        - rateLockStartDate
        - replacementIndicator
        - advanceCommission
      properties:
        productType:
          type: string
          description: Exchange policy product type
          enum:
            - ANNUITY
            - LIFE
            - BROKERAGE
            - CASH
          example: ANNUITY
        companyName:
          type: string
          description: Name of the Company
          example: ABC
        taxId:
          type: string
          pattern: \d{9}
          description: Company Tax ID
          minLength: 9
          maxLength: 9
          example: "123456789"
        type:
          type: string
          description: Type of the Exchange/Replacement
          enum:
            - INT1035
            - EXT1035
            - EXTDIRTRAN
            - INTDIRTRAN
            - EXTROLLQUAL
            - INTROLLQUAL
            - EXTROTHROLL
            - INTROTHTROLL
            - EXTROTHDIRTRAN
            - INTROTHDIRTRAN
            - CLIENTINITTRAN
            - BENPRCDS
            - EXT1035PART
            - INT1035PART
            - BIRTHRPMT
            - NOLOA
            - EXTDIRECTTRANSFREP
            - INTDIRECTTRANSFREP
            - REINSTATEMENT
            - DEFAULT
          example: INT1035
        email:
          type: string
          description: Company email address
          example: abc@zinnia.com
        address:
          $ref: "#/components/schemas/Address"
        amountRequested:
          format: double
          type: number
          description: This field stores the requested amount.
          example: 5000.55
        signedDate:
          type: string
          format: date
          pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2})
          description: Signed date (with pattern "yyyy-mm-dd").
          example: 2023-12-19
        sourcePolicyNumber:
          type: string
          description: This field stores the source policy number
          example: "123456"
        originalCostBasis:
          type: string
          description: This field stores the Original Cost Basis
          example: "1000"
        previousPlanType:
          type: string
          description: This field stores the plan type which was used on previous policy -
            Refer qualificationflag for types
          example: NONQUAL
        applyRateLock:
          type: string
          description: This field stores determines whether to apply Rate Lock or not
          enum:
            - YES
            - NO
          example: YES
        replacementIndicator:
          type: string
          enum:
            - YES
            - NO
          example: YES
        mecIndicator:
          type: string
          description: Source of ER policy is MEC/not
          enum:
            - YES
            - NO
          example: YES
    Address:
      type: object
      required:
        - addressType
        - addressLine1
        - city
        - state
        - zip
        - country
      properties:
        addressType:
          type: string
          required:
            - addressType
          description: Address Type of the Company
          enum:
            - RES
            - BUS
            - SECONDARY
            - POBOX
            - SEASONAL
            - MAILING
          example: BUS
        addressLine1:
          type: string
          description: Address Line 1
          example: 100 ABC Street
        addressLine2:
          type: string
          description: Address Line 2
          example: Suite 200
        addressLine3:
          type: string
          description: Address Line 3
          example: Topeka, KS 66601
        city:
          type: string
          description: City Name
          example: Topeka
        state:
          type: string
          enum:
            - AA
            - AE
            - AK
            - AL
            - AP
            - AR
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - GA
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MI
            - MN
            - MO
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VA
            - VT
            - WA
            - WI
            - WV
            - WY
          description: State code
          example: KS
        zip:
          type: string
          format: 5 digits
          description: ZIP code
          example: "66601"
        zipSuffix:
          type: string
          format: 4 digits
          description: ZIP code suffix
          example: "0148"
        country:
          type: string
          enum:
            - AD
            - AE
            - AF
            - AG
            - AI
            - AL
            - AM
            - AN
            - AO
            - AQ
            - AR
            - AS
            - AT
            - AU
            - AW
            - AX
            - AZ
            - BA
            - BB
            - BD
            - BE
            - BF
            - BG
            - BH
            - BI
            - BJ
            - BL
            - BM
            - BN
            - BO
            - BQ
            - BR
            - BS
            - BT
            - BV
            - BW
            - BY
            - BZ
            - CA
            - CC
            - CD
            - CF
            - CG
            - CH
            - CI
            - CK
            - CL
            - CM
            - CN
            - CO
            - CR
            - CU
            - CV
            - CW
            - CX
            - CY
            - CZ
            - DE
            - DJ
            - DK
            - DM
            - DO
            - DZ
            - EC
            - EE
            - EG
            - EH
            - ER
            - ES
            - ET
            - FI
            - FJ
            - FK
            - FM
            - FO
            - FR
            - GA
            - GB
            - GD
            - GE
            - GF
            - GG
            - GH
            - GI
            - GL
            - GM
            - GN
            - GP
            - GQ
            - GR
            - GS
            - GT
            - GU
            - GW
            - GY
            - HK
            - HM
            - HN
            - HR
            - HT
            - HU
            - ID
            - IE
            - IL
            - IM
            - IN
            - IO
            - IQ
            - IR
            - IS
            - IT
            - JE
            - JM
            - JO
            - JP
            - KE
            - KG
            - KH
            - KI
            - KM
            - KN
            - KP
            - KR
            - KW
            - KY
            - KZ
            - LA
            - LB
            - LC
            - LI
            - LK
            - LR
            - LS
            - LT
            - LU
            - LV
            - LY
            - MA
            - MC
            - MD
            - ME
            - MF
            - MG
            - MH
            - MK
            - ML
            - MM
            - MN
            - MO
            - MP
            - MQ
            - MR
            - MS
            - MT
            - MU
            - MV
            - MW
            - MX
            - MY
            - MZ
            - NA
            - NC
            - NE
            - NF
            - NG
            - NI
            - NL
            - NO
            - NP
            - NR
            - NU
            - NZ
            - OM
            - PA
            - PE
            - PF
            - PG
            - PH
            - PK
            - PL
            - PM
            - PN
            - PR
            - PS
            - PT
            - PW
            - PY
            - QA
            - RE
            - RO
            - RS
            - RU
            - RW
            - SA
            - SB
            - SC
            - SD
            - SE
            - SG
            - SH
            - SI
            - SJ
            - SK
            - SL
            - SM
            - SN
            - SO
            - SR
            - SS
            - ST
            - SV
            - SX
            - SY
            - SZ
            - TC
            - TD
            - TF
            - TG
            - TH
            - TJ
            - TK
            - TL
            - TM
            - TN
            - TO
            - TR
            - TT
            - TV
            - TW
            - TZ
            - UA
            - UG
            - UM
            - US
            - UY
            - UZ
            - VA
            - VC
            - VE
            - VG
            - VI
            - VN
            - VU
            - WF
            - WS
            - XK
            - YE
            - YT
            - ZA
            - ZM
            - ZW
          description: Country codes
          example: US
    InitialPurchase:
      type: object
      required:
        - grossAmount
        - netAmount
        - payments
      properties:
        grossAmount:
          format: double
          type: number
          description: Total Gross Amount
          example: 238500.5
        netAmount:
          format: double
          type: number
          description: Total Net Amount
          example: 100.5
        payments:
          type: array
          items:
            $ref: "#/components/schemas/Payment"
```
