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

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

# Validation Check For Fund Transfer

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

Operation ID: `fundTransferValidation1`

## 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}/fundtransfer/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 Fund Transfer
      operationId: fundTransferValidation1
      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/FundTransferRequest"
      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:
    FundTransferRequest:
      type: object
      properties:
        caseId:
          type: string
          example: CA0000007389
          description: Zinnia Live Case ID
        correlationId:
          type: string
        effectiveDate:
          type: string
          format: date
        reverseInitiator:
          type: boolean
          default: false
        transactionAmounts:
          type: object
          properties:
            amountType:
              $ref: "#/components/schemas/AmountType"
          required:
            - amountType
        fundAllocation:
          type: object
          properties:
            allocationOption:
              $ref: "#/components/schemas/AllocationOption"
          required:
            - allocationOption
        funds:
          type: object
          properties:
            transferFrom:
              type: array
              items:
                $ref: "#/components/schemas/AdhocFundTransferFromFund"
            transferTo:
              type: array
              items:
                $ref: "#/components/schemas/AdhocFundTransferToFund"
          required:
            - transferFrom
            - transferTo
      required:
        - effectiveDate
        - transactionAmounts
        - fundAllocation
        - funds
    TransactionResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - success
            - failure
        error:
          type: array
          items:
            $ref: "#/components/schemas/Error"
        quoteResponse:
          type: object
    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.
    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.
    AdhocFundTransferFromFund:
      type: object
      properties:
        fundId:
          type: string
        requestedAmount:
          type: number
          format: double
          example: 124.124213
        fundSegments:
          type: array
          items:
            allOf:
              - type: object
                properties:
                  segmentId:
                    type: string
              - $ref: "#/components/schemas/AdhocFundTransferFundSegment"
      required:
        - fundId
        - requestedAmount
    AdhocFundTransferToFund:
      type: object
      properties:
        fundId:
          type: string
        requestedAmount:
          type: number
          format: double
          example: 124.124213
        fundSegments:
          type: array
          items:
            $ref: "#/components/schemas/AdhocFundTransferFundSegment"
      required:
        - fundId
        - requestedAmount
    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
    AdhocFundTransferFundSegment:
      type: object
      properties:
        segmentId:
          type: string
        requestedAmount:
          type: number
          format: double
          example: 124.124213
  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
```
