---
title: "ReinstatementRequest"
url: "https://developers.zinnia.com/apis/policy-transactions-1-0-2/versions/d0006570-ab9d-464e-814f-d120ba425e84/schemas/ReinstatementRequest"
---

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

# ReinstatementRequest

## 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
components:
  schemas:
    ReinstatementTransaction:
      type: object
      properties:
        correlationId:
          type: string
          example: 657b717b7dcf554abf9ef067
          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
          description: Property to isolate source transaction(s) that initiated the reversal
          default: false
        policy:
          type: object
          required:
            - policyFeatures
          properties:
            policyFeatures:
              type: array
              description: List of features associated with the policy.
              items:
                type: object
                required:
                  - featureType
                  - approvalDate
                  - effectiveDate
                  - underwritingDecision
                properties:
                  featureType:
                    type: string
                    description: Type of the policy feature.
                    enum:
                      - REINSTATEMENT
                    example: REINSTATEMENT
                  approvalDate:
                    type: string
                    description: Date on which the feature was approved.
                    format: date
                    example: 2025-08-26
                  effectiveDate:
                    type: string
                    description: Date on which the feature becomes effective.
                    format: date
                    example: 2025-08-26
                  underwritingDecision:
                    type: string
                    description: Underwriting outcome for the feature.
                    enum:
                      - APPROVED
                    example: APPROVED
        transactionAmounts:
          type: object
          required:
            - requestedAmount
            - appliedAmount
            - netPaymentAmount
          properties:
            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.
            requestedAmount:
              type: number
              format: float
              description: The total amount requested for the transaction.
              example: 0
            appliedAmount:
              type: number
              format: float
              description: The portion of the requested amount that has been applied.
              example: 0
            netPaymentAmount:
              type: number
              format: float
              description: The actual payment amount after all adjustments.
              example: 0
            parties:
              type: array
              description: List of parties involved in the transaction and their payment
                allocations.
              items:
                type: object
                required:
                  - paymentForm
                  - partyRole
                properties:
                  partyId:
                    type: string
                    description: Unique identifier of the party involved in the transaction.If not
                      provided, BPM will default to the 'Payor' partyId
                      retrieved from the policy details api.
                    example: Party_PI_1
                  paymentForm:
                    $ref: "#/components/schemas/PaymentForm"
                  bankId:
                    type: string
                    description: Identifier for the bank associated with the payment.This is
                      required in case of ACH.
                    example: bank_1
                  partyRole:
                    type: string
                    description: Role of the party in the transaction (e.g., OWNER, BENEFICIARY).
        systematicProgram:
          $ref: "#/components/schemas/ReinstatementSystematicProgram"
      required:
        - correlationId
        - effectiveDate
        - policy
        - transactionAmounts
        - systematicProgram
    PaymentForm:
      type: string
      enum:
        - DTCC
        - CREDITCARD
        - ACH
        - CHECK
        - WIRE
        - EXCHANGE
        - EFT
      description: Mode of payment
    ReinstatementSystematicProgram:
      type: object
      properties:
        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.
            externalArrangementId:
              type: string
              description: Arrangement ID from external system
              example: B45678
        paymentForm:
          $ref: "#/components/schemas/PaymentForm"
        arrangementType:
          $ref: "#/components/schemas/ArrangementType"
        amountType:
          $ref: "#/components/schemas/AmountType"
        amount:
          type: number
          format: double
          example: 5
          description: Requested amount value
        frequency:
          $ref: "#/components/schemas/Frequency"
        startDate:
          type: string
          format: date
          description: Date (with pattern "yyyy-mm-dd")
        endDate:
          type: string
          format: date
          description: Date (with pattern "yyyy-mm-dd")
        previousProgramDate:
          type: string
          format: date
          description: Date (with pattern "yyyy-mm-dd")
        nextProgramDate:
          type: string
          format: date
          description: Date (with pattern "yyyy-mm-dd")
        parties:
          type: array
          items:
            $ref: "#/components/schemas/ReinstatementDisbursementParty"
      required:
        - paymentForm
        - arrangementType
        - frequency
        - amountType
    ArrangementType:
      type: string
      enum:
        - PAYMENT
        - WITHDRAWAL
        - LOANREPAYMENT
        - REQUIREDMINIMUMDISTRIBUTION
        - PAYOUT
      description: The type of payment such as fixed or flexible
    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.
    Frequency:
      type: string
      enum:
        - DAILY
        - EVERYTWOWEEKS
        - MONTHLY
        - SEMIANNUAL
        - BIANNUAL
        - QUARTERLY
        - ANNUAL
        - SINGLEPAYMENT
        - DEFAULT
      description: frequency
    ReinstatementDisbursementParty:
      type: object
      properties:
        partyRole:
          $ref: "#/components/schemas/PartyRole"
        partyId:
          type: string
          description: Unique identifier of the party involved in the transaction
          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, This is required in case of ACH
        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
    PartyRole:
      type: string
      enum:
        - OWNER
        - PRIMARYBENEFICIARY
        - CONTINGENTBENEFICIARY
        - INSURED
        - PAYOR
        - PAYEE
        - AGENT
        - THIRDPARTYDESIGNEE
      description: Party Role
    ReinstatementRequest:
      type: object
      allOf:
        - $ref: "#/components/schemas/ReinstatementTransaction"
      properties:
        caseId:
          type: string
          example: CA0000007389
          description: Zinnia Live Case ID
      required:
        - caseId
```
