---
title: "Verify Challenge Deposit"
method: PUT
path: "/verification"
tags: ["Verification"]
---

# Verify Challenge Deposit

`PUT /verification`

The put verification service is used to complete the challenge deposit verification (CDV) process.<br>This service is used only by the customer of CDV flow.<br>In the CDV process, the user-provided microtransaction details (i.e., credit and debit) is matched against the microtransactions posted by Yodlee. For a successful verification of the account's ownership both the microtransaction details should match.<br>The CDV process is currently supported only in the United States.<br><br><b>Notes:</b><ul><li>This endpoint cannot be used to test the CDV functionality in the developer sandbox or test environment. You will need a money transmitter license to implement the CDV functionality and also require the Yodlee Professional Services team's assistance to set up a dedicated environment.</li></ul>

## Request body

- UpdateVerificationRequest
  - `verification` UpdateVerification
    - `accountId` integer — Unique identifier for the account.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>
    - `reason` 'DATA_NOT_AVAILABLE' | 'ACCOUNT_HOLDER_MISMATCH' | 'FULL_ACCOUNT_NUMBER_AND_BANK_TRANSFER_CODE_NOT_AVAILABLE' | 'FULL_ACCOUNT_NUMBER_NOT_AVAILABLE' | 'BANK_TRANSFER_CODE_NOT_AVAILABLE' | 'EXPIRED' | 'DATA_MISMATCH' | 'INSTRUCTION_GENERATION_ERROR' — The reason the account verification failed.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>
    - `verificationStatus` 'INITIATED' | 'DEPOSITED' | 'SUCCESS' | 'FAILED' — The status of the account verification.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul><br><b>Applicable Values</b>
    - `providerAccountId` integer — Unique identifier for the provider account.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>
    - `verificationType` 'MATCHING' | 'CHALLENGE_DEPOSIT' — The account verification type.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul><br><b>Applicable Values</b>
    - `account` VerificationAccount
      - `accountName` string
      - `accountType` 'SAVINGS' | 'CHECKING', required
      - `accountNumber` string, required
      - `bankTransferCode` VerificationBankTransferCode, required
        - `id` string — The FI's branch identification number.Additional Details: The routing number of the bank account in the United States. For non-United States accounts, it is the IFSC code (India), BSB number (Australia), and sort code (United Kingdom). <br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: bank, investment<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>POST verification</li></ul>
        - `type` 'BSB' | 'IFSC' | 'ROUTING_NUMBER' | 'SORT_CODE' — The bank transfer code type varies depending on the region of the account origination. <br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: bank, investment<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>POST verification</li></ul><b>Applicable Values</b><br>
    - `transaction` VerificationTransaction[], required
      - `amount` Money, required
        - `amount` number, double, required
        - `currency` 'AUD' | 'BRL' | 'CAD' | 'EUR' | 'GBP' | 'HKD' | 'IDR' | 'INR' | 'JPY' | 'NZD' | 'SGD' | 'USD' | 'ZAR' | 'CNY' | 'VND' | 'MYR' | 'CHF', required
      - `baseType` 'CREDIT' | 'DEBIT', required
    - `verificationDate` string — The date of the account verification.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>
    - `verificationId` integer — Unique identifier for the verification request.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>

## Response `200`

OK

## Other responses

- `400` — Y901 : Service not supported<br>Y812 : Required field/value - verification.verificationType missing in the verificationParam<br>Y812 : Required field/value - amount.amount missing in the verificationParam<br>Y812 : Required field/value - baseType missing in the verificationParam<br>Y812 : Required field/value - currency missing in the verificationParam<br>Y812 : Required field/value - providerAccountId missing in the verificationParam<br>Y812 : Required field/value - accountId missing in the verificationParam<br>Y800 : Invalid value for verificationParam<br>Y800 : Invalid value for verification.verificationType<br>Y800 : Invalid value for baseType<br>Y800 : Invalid value for providerAccountId<br>Y800 : Invalid value for accountId<br>Y813 : Transaction should be provided<br>Y801 : Invalid length for accountNumber<br>Y801 : Invalid length for amount<br>Y835 : Account(s) not eligible for Challenge Deposit verification<br>Y806 : Invalid Input<br>Y840 : Verification has been initiated already<br>Y837 : Account has been verified already<br>Y838 : The currency code provided does not match with the currency of the transaction executed on the target account<br>Y846 : The number of financial transactions made on the target account does not match with the number of transactions entered by the user.<br>Y842 : Number of retries exceeded the maximum Challenge Deposit verification limit<br>Y844 : Financial Instructions were not executed successfully on the target account<br>Y845 : Verification time expired. Please try initiating challenge deposit again<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br>
- `401` — Unauthorized
- `404` — Not Found

---

[API](https://skmtc.net/yodlee/apis/yodlee-core-apis.md) · [All operations](https://skmtc.net/yodlee/apis/yodlee-core-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/yodlee/yodlee-core-apis/revisions/3bc0042deba8/schema)
