> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synctera.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MRDC

> MRDC - Mobile Remote Deposit Capture is a process that allows users to deposit checks into their accounts without having to go to a branch or ATM.

Customers can submit deposits by taking an image of the check and submitting it online using the Synctera platform. Synctera API provides mobile deposit endpoints. As a FinTech you'll have to implement a feature that allows a customer to take a photo of a check to be deposited.

## Steps to submit a deposit

The `curl` examples assume you have set up `baseurl` and `apikey` environment variables. See [Base URL](/reference/need-to-know#environments) and [Authentication](/reference/need-to-know#authentication) for instructions. Some examples depend on identifiers generated by previous steps. These are indicated like `{PERSON_ID}`.

<CardGroup>
  <Card title="Prompt customers to take the front and back image of the check on their mobile phone" icon="square-1" iconType="solid" horizontal href="/docs/create-mobile-deposit-guide#1-prompt-customers-to-take-the-front-and-back-image-of-the-check-on-their-mobile-phone" />

  <Card title="Upload images to Synctera" icon="square-2" iconType="solid" horizontal href="/docs/create-mobile-deposit-guide#2-upload-images-to-synctera" />

  <Card title="Select an account, select images and confirmed amount to submit the deposit" icon="square-3" iconType="solid" horizontal href="/docs/create-mobile-deposit-guide#3-submit-deposit" />
</CardGroup>

### 1. Prompt customers to take the front and back image of the check on their mobile phone

As a FinTech you'll have to add a feature on your application that allows users to take the front and back images of a deposit to be submitted. After the user takes the front and back images of the check proceed to step 2

### 2. Upload images to Synctera

1. Upload front image and save the ID returned. Refer to [Create Document](/reference/createdocument)

<CodeGroup>
  ```shell Shell theme={"system"}
  curl -X POST \
    $baseurl/v0/documents \
    -H 'Authorization: Bearer $apikey' \
    --form 'name="test"' \
    --form 'type="CHECK_IMAGE"' \
    --form 'file=@"/path_to_image/front.jpeg"'
  ```
</CodeGroup>

Synctera will return the following response:

<CodeGroup>
  ```json JSON theme={"system"}
  {
    "creation_time": "2022-05-17T17:45:51.552888Z",
    "description": "",
    "file_name": "{FILE_NAME}",
    "id": "{ID}",
    "last_updated_time": "2022-05-17T17:45:51.552888Z",
    "name": "back.jpeg",
    "type": "CHECK_IMAGE"
  }
  ```
</CodeGroup>

2. Upload the rear image and save the returned id. Refer to [Create Document](/reference/createdocument)

<CodeGroup>
  ```shell Shell theme={"system"}
  curl -X POST \
    $baseurl/v0/documents \
    -H 'Authorization: Bearer $apikey' \
    --form 'name="{FILE_NAME}"' \
    --form 'type="CHECK_IMAGE"' \
    --form 'file=@"{PATH_TO_FILE}"'

  ```
</CodeGroup>

Synctera will return the following response:

<CodeGroup>
  ```json JSON theme={"system"}
  {
    "creation_time": "2022-05-17T17:45:51.552888Z",
    "description": "",
    "file": "{FILE}",
    "id": "{ID}",
    "last_updated_time": "2022-05-17T17:45:51.552888Z",
    "name": "{NAME}",
    "type": "CHECK_IMAGE"
  }
  ```
</CodeGroup>

### 3. Submit Deposit

Refer to [Submit Deposit](/reference/createrdcdeposit)

<CodeGroup>
  ```shell Shell theme={"system"}
  curl -X POST \
    $baseurl/rdc/deposits \
    -H 'Authorization: Bearer $apikey' \
    -H 'Content-Type: application/json' \
    -d '
   {
    "account_id": "{ACCOUNT_ID}",
    "front_image_id": "{FRONT_IMAGE_ID}",
    "back_image_id": "{BACK_IMAGE_ID}",
    "person_id": "{PERSON_ID}",
    "check_amount": 235,
    "deposit_currency": "USD"
  }'
  ```
</CodeGroup>

**Response**

<CodeGroup>
  ```json JSON theme={"system"}
  {
    "account_id": "{ACCOUNT_ID}",
    "back_image_id": "{BACK_IMAGE_ID}",
    "check_amount": 235,
    "creation_time": "2022-05-17T17:49:51.978751Z",
    "date_captured": "2022-05-17T17:49:01.057994Z",
    "date_processed": "2022-05-17T04:00:00Z",
    "deposit_amount": 235,
    "deposit_currency": "USD",
    "front_image_id": "{FRONT_IMAGE_ID}",
    "id": "{ID}",
    "last_updated_time": "2022-05-17T17:49:51.978751Z",
    "person_id": "{PERSON_ID}",
    "status": "SUBMITTED",
    "transaction_id": "{TRANSACTION_ID}",
    "vendor_info": {
      "content_type": "application/json",
      "json": {
        "amountDiscrepancyDetected": false,
        "endorsementDetected": true,
        "errors": [],
        "frontImage": "{front_image_data}",
        "ocrAccountNumber": "968788737",
        "ocrAmount": "2.35",
        "ocrAmountConfidence": "1000",
        "ocrAmountStatus": "true",
        "ocrCheckNumber": "0188",
        "ocrCheckTranCode": "",
        "ocrRoutingNumber": "021202337",
        "ocrmicr": "d021202337d968782327c0188",
        "ocrmicrConfidence": "910",
        "ocrmicrStatus": "True",
        "processDate": "2022-05-17T00:00:00-04:00",
        "rearImage":  "{rear_image_data}",
        "referenceNumber": 202205,
        "riskRating": null,
        "riskRatingDescription": null,
        "status": "40",
        "statusDescription": "Pending",
        "success": true
      },
      "vendor": "checkalt"
    }
  }
  ```
</CodeGroup>

The deposit can be in any of the following states

* `SUBMITTED` the deposit has been successfully scanned by the OCR and submitted for processing
* `PENDING` The OCR engine detected issues such as amount discrepancy, duplicate deposit and fraud while scanning the image, a case will be created for manual review, please review the case to approve or reject the deposit request
* `FAILED` The OCR engine detected issues with the submitted deposit. Please retake the images and resubmit
* `REJECTED` The deposit has been rejected by the bank

## Funds availability rules

When the fintech and bank sign up for MRDC they can configure funds availability rule that allows portion of the amount to be available immediately and create a temporary hold with an effective release date

## Compliance for MRDC

To meet bank regulations, the fintech will be asked to share their image capture process with their partner bank. This may include providing a list of the libraries being used for the process and evidence that the check images are not being cached. In general, bank partners would like to ensure that images of checks are not stored for an extended period of time, if at all, and that any requests made with these images are done so securely.
