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

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

# SpecialProgram

## 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:
    Fund:
      type: object
      required:
        - fundCode
        - amountType
        - amount
      properties:
        fundCode:
          type: string
          description: Zinnia will provide specific Fund code for individual funds per
            Product. Duplicate Fund codes will be rejected.
          example: XXX000
        amountType:
          type: string
          description: Type of the Amount
          enum:
            - AMT
            - PCT
            - UNITS
            - PRORATA
            - EARNINGSONLY
            - MODEARNINGSONLY
            - MAX
            - FREEWDAMT
            - GUARENTEEDWITHDRAWBENEFIT
            - LIFEEXPECTANCY
            - WDUNITBASIS
            - NONE
            - AUTO
            - MAINTAINFACE
            - ADJUSTFACE
            - NEWAMT
            - FACECHANGE
            - NONFINANCIAL
            - MAXFREE
            - COMBO
            - PCTAV
            - PRORATAVAR
            - RESERVEADJ
            - PARTIALREBALANCE
            - DOLLARLIQUIDFIRST
            - DOLLARLIQUIDLAST
            - CHOICEDOLLAR
            - CHOICEMAXFREE
            - EARNLIQUIDFIRST
            - EARNLIQUIDLAST
            - PCTLIQUIDFIRST
            - PCTLIQUIDLAST
            - BONUSDOLLAR
            - BONUSPCT
            - PRORATAFIXTHENVAR
            - PRORATAALL
            - SINGLEGWMB
            - JOINTGWMB
            - PECKINGORDER
            - DIVREQUEST
            - NOCONTVALREDUCT
            - GMWBANNUALLIMIT
            - PRIMARY
            - JOINT
            - GMWBRECALCANNUALLIMIT
            - BAILOUTONLY
            - WINDOWPERIODONLY
            - GMWBANNUALPECKING
            - GMWBRECALCPECKING
            - RIAFEEPCT
            - RIAFEEDOLLAR
            - GWMBANNUALLIMITLEVEL
            - GMWBALLEVELPECKING
            - SPOUSALDEFAULT
            - FIXEDMODIFIEDEARN
            - PRORATANEWMONEY
            - ACCUMALATEDEARN
            - CONTRACTYEAREARN
            - CALENDARYEAREARN
            - ACCELERATEDJOINTGMWB
            - ACCELERATEDSINGLEGMWB
          example: PCT
        amount:
          type: number
          format: double
          description: Total percentage of all funds should be 100%.
          example: 50.55
    BankInformation:
      type: object
      required:
        - bankName
        - abaNumber
        - accountNumber
        - bankingType
      properties:
        bankName:
          type: string
          description: Bank name
          example: ABC Bank
        abaNumber:
          type: string
          pattern: \d{9}
          description: ABA number
          minLength: 9
          maxLength: 9
          example: "123456789"
        ibaNumber:
          type: string
          description: International Bank Account Number
          example: US12KBDE89571012345678
        accountNumber:
          type: string
          description: Account Number
          example: "1000000000"
        bankingType:
          type: string
          enum:
            - CHECKING
            - SAVINGS
            - CREDITCARD
            - DEBITCARD
            - BRKACCT
            - COD
          example: CHECKING
    SpecialProgram:
      type: object
      required:
        - specialProgramType
        - startDate
        - mode
        - amountType
        - amount
        - duration
        - funds
        - firstPaymentDate
      properties:
        specialProgramType:
          type: string
          description: specialProgramType selected
          enum:
            - PAYOUT
            - RMD
            - SYSWITHDRAWAL
            - PREMIUMDEFAULT
            - DOLLARCOSTAVERAGE
            - SYSPARTIALWITHDRAWGROSS
            - AUTOREBALANCE
            - MINREQUIREDDIST
            - EFTDRAW
            - ANNUITYPAYMENTDEFAULTS
            - CHARGEDEDUCTION
            - EFTLOANREPAY
            - REGINVESTADVISORFEE
            - RIDERCHARGE
            - COVEREDPERSONAGEBAND
            - 60DAYHHCDRECERTLETTER
            - 45DAYHHCDRECERTLETTER
            - 60DAYGMWBROLLUPRNWLNOTICE
            - 45DAYGMWBROLLUPRNWLNOTICE
            - 60DAYGMDBROLLUPRNWLNOTICE
            - 45DAYGMDBROLLUPRNWLNOTICE
            - 72TQDIST
            - GMIBTERM
            - IBGROWTHLOCKDATE
            - LOANREPAY
          example: PAYOUT
        startDate:
          type: string
          format: date
          pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2})
          description: Effective date of Special program (with pattern "yyyy-mm-dd").
          example: 2023-12-19
        mode:
          type: string
          enum:
            - DLY
            - BIWKLY
            - MNTHLY
            - SEMIANN
            - QTRLY
            - ANNUAL
            - SNGLPMT
            - BIMNTHLY
          description: Frequency of special program
          example: DLY
        amountType:
          type: string
          enum:
            - AMT
            - PCT
            - MAX
            - FREEWDAMT
            - WDUNITBASIS
            - PRORATA
          description: amountType of special program
          example: AMT
        amount:
          type: number
          format: double
          description: Stores the allocated percent to the specific fund
          example: 50.5
        distribCode:
          type: string
          enum:
            - DEF
            - PRMTRDIST
            - ERLYDISTEXCEPAPP
            - DISB
            - DTHCLM
            - DTHEXC
            - PROHIBTRANS
            - SEC1035EXC
            - NRMLDISB
            - EXCSCNTRIBCURRYRTX
            - PS58COSTS
            - 10YRTAXOPT
            - EXCSCONTRIB2YRPRIORTX
            - EXCSANNADDNLASSEC415
            - CHARGIFTANN
            - DIRROLLIRA
            - DIRROLLQUALPLNTSA
            - DISTFROMROTHIRA
            - LOANSASDIST
            - QUALLOANNDIST
            - PRMTRLOANDIST
            - DISTFROMEDIRA
            - EXCSCONTRIB1YRPRIOR
            - EXCSCONTRIBPLUSEARN
            - RECHARIRAPREVYR
            - ERLYDISTRIBSIMPLE
            - SEPSERV
            - TRSTTOTRST
            - IRATOROTH
            - QDROROLLIRA
            - DTHROLLIRA
            - DTHTRANS
            - QDROLIKETOLIKE
            - QDROPMTTOSPSE
            - FRSTHMBYRIRAONLY
            - EDCTNEXP
            - MEDEXP
            - NONTAXEVNT
            - GROSSPDATRNY
            - OTHERINC
            - NONEMPCOMP
            - PRMTREX
            - ROYALTIES
            - DIRTRANS
            - ROTHIRANORMDISTRIB
            - RECHARIRACURRYR
            - FEEADMIN
            - FEEASSET
            - FEECONTRIB
            - FEELUMPSUMDEATH
            - FEELUMPSUMDISB
            - FEELUMPSUMPURCHANN
            - FEELUMPSUMOTH
            - FEELNEWRETPERPMNT
            - FEEEXISTINGRETINFORCE
            - FEECONT
            - FEEEXISTINGRETINC
            - FEETHIRDPARTY
            - LUMPSUMDEATH
            - LUMPSUMDISB
            - LUMPSUMPURCHANN
            - LUMPSUMOTH
            - FEEIPGEXP
            - FROMFUND
            - RELRESRV
            - HEALTHDED
            - FEEMRKTVAL
            - FEEANNADMIN
            - SECT1035EXCPART
            - QDRONORMDISB
            - QDROSEC1035
            - DESGROTHACCTDIST
            - REPDTHBEN6050Y
            - DISTTRADINDVNOTFMV
            - DIVDISTEMPSTK404K
            - COSTCURRLIFEINSURPROTECT
            - DISTUNDEREMPLOYEEPLANSCOMPLRESSYS
            - EXCSCONTRIBPLUSEARN2024
            - FEELONGTERMCAREINSUR
            - QUALPLANLOANOFFSET
            - QUALROTHINDVARRDIST
            - ROTHIRADISTEXCEPAPPLIES
          description: Distribution Code
          example: DEF
        duration:
          type: string
          description: Specifies how many times special program will be run
          example: "5"
        funds:
          type: array
          items:
            $ref: "#/components/schemas/Fund"
        bankInformation:
          $ref: "#/components/schemas/BankInformation"
        firstPaymentDate:
          type: string
          format: date
          pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2})
          description: Date (with pattern "yyyy-mm-dd").
          example: 2023-12-19
        firstPaymentYear:
          type: string
          description: First payment year.
          example: "2025"
        grossDisbursement:
          type: string
          description: Gross disbursment.
          example: "10000"
        waiveCharges:
          type: string
          description: Waive charges.
          example: "1000"
        nextDate:
          type: string
          pattern: ([0-9]{4})-([0-9]{2})-([0-9]{2})
          description: Date (with pattern "yyyy-mm-dd").
          example: 2023-12-19
        priorRMDAmtType:
          format: string
          description: Prior RMD amount type.
          example: "-999"
        priorRMDAmt:
          format: double
          type: number
          description: Prior RMD amount.
          example: 100
```
