---
title: "Submit OneTime RMD Transaction"
url: "https://developers.zinnia.com/apis/policy-transactions-1-0-2/versions/d0006570-ab9d-464e-814f-d120ba425e84/operations/submitOnetimeRmdTransactions"
---

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

# Submit OneTime RMD Transaction

`POST` `/policy/v1/transactions/{planCode}/{policyNumber}/onetimermd`

Operation ID: `submitOnetimeRmdTransactions`

## Path parameters

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

## Request body (required)

Content types: `application/json`

## Responses

- `202` - Submit Transaction Successful
- `400` - OneTime RMD Failure Response.yaml
- `500` - Internal server error. Please check server logs for more details.

## 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}/onetimermd:
    post:
      tags:
        - Financial Transactions
      summary: Submit OneTime RMD Transaction
      operationId: submitOnetimeRmdTransactions
      parameters:
        - name: planCode
          in: path
          required: true
          schema:
            type: string
        - in: path
          name: policyNumber
          schema:
            type: string
          required: true
          description: Policy Number
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OnetimeRmdRequest"
        required: true
      responses:
        "202":
          description: Submit Transaction Successful
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionAcceptedResponse"
        "400":
          description: OneTime RMD Failure Response.yaml
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PolicyTransactionResponse"
        "500":
          description: Internal server error. Please check server logs for more details.
      security:
        - Auth0: []
      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)
security:
  - Auth0: []
components:
  schemas:
    OnetimeRmdRequest:
      type: object
      properties:
        caseId:
          type: string
          example: CA0000007389
          description: Zinnia Live Case ID
        correlationId:
          type: string
          example: 657b717b7dcf554abf9ef067
          description: The unique ID to track transaction request across all systems
        effectiveDate:
          type: string
          format: date
          description: Date (with pattern "yyyy-mm-dd") when the transaction was
            originally scheduled or expected to happen, can be a non-business
            day
        reverseInitiator:
          type: boolean
          description: Property to isolate source transaction(s) that initiated the reversal
          default: false
        externalIdentifiers:
          type: object
          properties:
            externalTransactionId:
              type: string
              description: The unique ID to identify transaction on carrier side.
            referenceNumber:
              type: string
              description: The unique payment reference number for all premium-related
                transactions by carrier.
        transactionAmounts:
          $ref: "#/components/schemas/TransactionAmounts"
        fundAllocation:
          $ref: "#/components/schemas/FundAllocation"
        taxWithholdingInstructions:
          type: array
          items:
            $ref: "#/components/schemas/TaxWithholdingInstructions"
        fundDistributions:
          type: array
          items:
            $ref: "#/components/schemas/AdhocFundDistributions"
        parties:
          type: array
          items:
            $ref: "#/components/schemas/AdhocDisbursementParty"
        charges:
          type: array
          items:
            $ref: "#/components/schemas/Charge"
    TransactionAcceptedResponse:
      type: object
      properties:
        correlationId:
          type: string
          example: 3a2a3435-2089-4b81-9959-e0d569ccf4f0
          description: Unique identifier which used by every system to trace the request
        caseId:
          type: string
          example: CA0000369469
          description: Zinnia Live Case ID
        caseStatus:
          type: string
          example: IN_PROGRESS
          description: Zinnia Live Case Status
        pdfId:
          type: string
          description: Identifier for the generated or associated PDF document (e.g.
            OnBase document number). Returned on systematic program setup and
            update submit when available.
          example: DOC-10004567
    PolicyTransactionResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - success
            - failure
        errors:
          type: array
          items:
            $ref: "#/components/schemas/Errors"
    TransactionAmounts:
      allOf:
        - $ref: "#/components/schemas/AdhocTransactionAmount"
        - type: object
          properties:
            requestedAmount:
              type: number
              format: double
              description: The initial premium amount (deposit amount) paid by the party.
              example: 100
            amountType:
              $ref: "#/components/schemas/AmountType"
            disbursementType:
              $ref: "#/components/schemas/DisbursementType"
            disbursementPaymentForm:
              $ref: "#/components/schemas/DisbursementPaymentForm"
            loanType:
              $ref: "#/components/schemas/LoanType"
            loanInterestType:
              $ref: "#/components/schemas/loanInterestType"
            paymentAmount:
              type: number
              format: double
              description: The initial premium amount (deposit amount) drafted to proceed with
                the payment
              example: 100
            appliedAmount:
              type: number
              format: double
              description: The initial premium amount that is actually applied to the policy.
              example: 100
            calculatedAmount:
              type: number
              format: double
              description: The amount calculated by the LPS if the issuance transaction
                outcome fails
              example: 100
            totalChargeAmount:
              type: number
              format: double
              description: Sum of Transaction Level charges
              example: 100
            taxableAmount:
              type: number
              format: double
              description: Taxable amount for Transaction. Even If Payee selects Not To
                Withhold, this will be populated if there was Gain distributed.
              example: 100
            deathClaimPayoutPreSupplementalSecurityIncome:
              type: number
              format: double
              description: Death claim payout amount
              example: 1000
            claimStatutoryInterestAmount:
              type: number
              format: double
              description: Any interest generated on the claim amount
              example: 1000
            deathBenefitInterestCalculatedFromDate:
              type: number
              format: double
              description: Product team to review
              example: 1000
            claimStatutoryInterestRate:
              type: number
              format: double
              description: Product team to review
              example: 1000
          required:
            - requestedAmount
            - amountType
            - disbursementType
    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
    TaxWithholdingInstructions:
      type: object
      properties:
        partyId:
          type: string
          example: Party_PI_1
          description: Impacted Party in the event of financial transaction
        taxWithholdingType:
          $ref: "#/components/schemas/TaxWithholdingType"
        taxRateToUse:
          $ref: "#/components/schemas/TaxRateToUse"
        filingStatus:
          $ref: "#/components/schemas/FilingStatus"
        dollar:
          type: number
          format: double
          example: 10
          description: Requested amount value
        percentage:
          type: number
          format: double
          example: 50
          description: Requested percentage value
        exemptions:
          type: number
          format: int32
          example: 0
          description: Requested exemptions value
        taxJurisdiction:
          type: string
          example: USA
          description: Requested amount value
      required:
        - partyId
        - taxWithholdingType
        - taxRateToUse
    AdhocFundDistributions:
      type: object
      properties:
        fundId:
          type: string
        fundName:
          type: string
        totalFundValue:
          type: number
        requestedAmount:
          type: number
        fundDistributionSegments:
          type: array
          items:
            type: object
            properties:
              segmentId:
                type: string
              currentAmount:
                type: number
              requestedAmount:
                type: number
    AdhocDisbursementParty:
      type: object
      properties:
        partyRole:
          $ref: "#/components/schemas/PartyRole"
        partyId:
          type: string
          description: Pending Review by Product Team
          example: Party_PI_1
        paymentForm:
          $ref: "#/components/schemas/PaymentForm"
        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
        bankId:
          type: string
          example: Bank_1
          description: Comes in Acord 103
        addressId:
          type: string
          example: "1"
          description: Address Id
        forBenefitOfOrForFurtherCredit:
          type: string
          example: TBD
          description: FBO - For Benefit Of, FFC - For Further Credit. To notate a second
            beneficiary or to designate a person or organization when funds are
            disbursed out.
      required:
        - partyId
        - paymentForm
        - allocationPercentage
    Charge:
      type: object
      properties:
        chargeType:
          $ref: "#/components/schemas/ChargeType"
        chargeWaiverIndicator:
          $ref: "#/components/schemas/ChargeWaiverIndicator"
        chargeWaiverReason:
          type: string
          description: Set by System based on policy data if Waive Indicator is yes.
          example: "100"
    Errors:
      type: object
      properties:
        errorCode:
          type: string
          example: INVALID_REQUEST
          description: This is the error code 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
    AdhocTransactionAmount:
      type: object
      properties:
        requestedAmount:
          type: number
          format: double
          description: The initial premium amount (deposit amount) paid by the party.
          example: 100
        amountType:
          $ref: "#/components/schemas/AmountType"
        disbursementType:
          $ref: "#/components/schemas/DisbursementType"
        disbursementPaymentForm:
          $ref: "#/components/schemas/DisbursementPaymentForm"
        loanType:
          $ref: "#/components/schemas/LoanType"
        loanInterestType:
          type: string
          enum:
            - FIXED
            - INDEXED
            - VARIABLE
            - ADJUSTABLE
          description: Loan Interest Type - Selected by user from dropdown values, default
            to Fixed
      required:
        - requestedAmount
        - amountType
        - disbursementType
        - disbursementPaymentForm
        - loanType
        - loanInterestType
    AmountType:
      type: string
      enum:
        - AMOUNT
        - PERCENTAGE
        - MAX
        - FREEWITHDRAWALAMOUNT
        - WITHDRAWALUNTILBASIS
        - EARNINGSONLY
        - PRORATA
      description: Amount Type selected by user. Following is dropdown list 1. Amount
        -- If selected user should be able to enter Amount for Transaction
        Amount field 2. Percent -- If selected user should be able to enter
        Percentage for Transaction Amount field 3. Max -- If selected user
        should NOT be able to enter Amount. Auto calculated using Maximum
        Withdrawal Amount. 4. Free Withdrawal Amount -- If selected user should
        NOT be able to enter Amount. Auto calcualted using Free Withdrawal
        Amount. 5. Withdraw Until Basis ---- If selected user should NOT be able
        to enter Amount. Auto calcualted using Cost Basis.
    DisbursementType:
      type: string
      enum:
        - GROSS
        - NET
        - NETNET
      description: The type of amount for  withdrawal such as Gross or Net
    DisbursementPaymentForm:
      type: string
      enum:
        - DTCC
        - EFT
        - ACH
        - CHECK
        - WIRE
      description: The type of disbursement method such as DTCC,EFT or credit
        card.Default EFT.
    LoanType:
      type: string
      enum:
        - PREFERRED
        - NONPREFERREDSTANDARDLOAN
        - INDEXLOAN
      description: Loan Types - Selected by user from dropdown values, default to
        Non-Preferred Standard Loan
    loanInterestType:
      type: string
      enum:
        - FIXED
        - INDEXED
        - VARIABLE
        - ADJUSTABLE
      description: Loan Interest Type - Selected by user from dropdown values, default
        to Fixed
    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.
    TaxWithholdingType:
      type: string
      enum:
        - FEDERAL
        - STATE
        - NRA
        - BACKUP
    TaxRateToUse:
      type: string
      enum:
        - NOWITHHOLDINGELECTED
        - USEVALUESENTERED
        - NOWITHHOLDINGALLOWED
        - USEDEFAULTTABLE
        - ADDITIONALWITHHOLDING
      description: How tax rate should be applied for withholding
    FilingStatus:
      type: string
      enum:
        - SINGLE
        - DOMESTICPARTNERSHIP
        - DEFAULT
        - MARRIED
        - HEADOFHOUSEHOLD
        - MARRIEDFILINGSEPARATELY
        - WIDOWED
        - DIVORCED
    PartyRole:
      type: string
      enum:
        - OWNER
        - PRIMARYBENEFICIARY
        - CONTINGENTBENEFICIARY
        - INSURED
        - PAYOR
        - PAYEE
        - AGENT
        - THIRDPARTYDESIGNEE
      description: Party Role
    PaymentForm:
      type: string
      enum:
        - DTCC
        - CREDITCARD
        - ACH
        - CHECK
        - WIRE
        - EXCHANGE
        - EFT
      description: Mode of payment
    ChargeType:
      type: string
      enum:
        - COSTOFINSURANCE
        - EXPENSECHARGE
        - UNITEXPENSECHARGE
        - RIDERCHARGE
        - SURRENDERCHARGE
        - WITHDRAWALCHARGE
      description: Charge Type
    ChargeWaiverIndicator:
      type: string
      enum:
        - Yes
        - No
      description: Charge Waiver Indicator
  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
```
