---
title: "Assess MRDC Transfer Eligibility"
method: POST
path: "/programs/{programCode}/transfers/assessment/mrdc"
tags: ["Transfers"]
---

# Assess MRDC Transfer Eligibility

`POST /programs/{programCode}/transfers/assessment/mrdc`

Checks if the account meets eligibility requirements for submitting a check via MRDC. Returns any unmet prerequisites required for MRDC check submission.

## Path parameters

- `programCode` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- AssessMrdcTransferRequest — Represents a request to assess the eligibility and prerequisites for a Mobile Remote Deposit Capture (MRDC) transfer. This request is used to verify if the account and user meet all requirements for submitting a check deposit via MRDC, including check image data, deposit amount, account details, and any fraud or risk assessment data. Inherits all properties from Gd.Bos.DataTransfer.Request.CreateMrdcTransferRequest.
  - `transferIdentifier` string, nullable — The unique identifier for the MRDC transfer. This value is generated by the client and used for idempotency and tracking.
  - `currency` string, nullable — The ISO 4217 currency code for the deposit (e.g., "USD").
  - `transferRoute` MrdcTransferRoute — Represents the routing details for a Mobile Remote Deposit Capture (MRDC) transfer. Contains information about the check deposit amount, the source (including check image and device/location data), and the target account where the funds will be deposited.
    - `transactionAmount` number, double, nullable — The amount of the check to be deposited, in the currency specified by the parent request (e.g., "USD").
    - `sourceTransferEndpoint` MrdcSourceEndpoint — Represents the source endpoint details for a Mobile Remote Deposit Capture (MRDC) transfer. Contains information about the location, check image, image format, and device used to submit the check deposit.
      - `latitude` number, double — The latitude coordinate where the check deposit was initiated. Used for geolocation and fraud prevention purposes.
      - `longitude` number, double — The longitude coordinate where the check deposit was initiated. Used for geolocation and fraud prevention purposes.
      - `encryptedCheckImageData` EncryptedData — Represents a container for encrypted data used in secure data transfer operations. Contains the encrypted payload and associated cryptographic metadata, including encryption version, ephemeral public key, and public key hash. Used to securely transmit sensitive information such as user data, ensuring confidentiality and integrity during transport.
        - `version` string, nullable — The version of the encryption algorithm used to encrypt the data (e.g., "v1", "v2").
        - `ephemeralPublicKey` string, nullable — The ephemeral public key used in the encryption process, typically for key exchange or session establishment.
        - `publicKeyHash` string, nullable — The hash of the public key used to verify the integrity and authenticity of the encryption key.
        - `data` string, nullable — The encrypted data payload, typically base64-encoded, containing the sensitive information.
      - `imageFormat` string, nullable — The format of the check image (e.g., "jpg", "png"). Indicates the file type of the submitted check image.
      - `device` DeviceInfo — Represents device-specific information used when initiating a transfer or other sensitive operation. Contains details about the device and network, such as device ID, make, model, operating system, and IP addresses. Used for device identification, risk assessment, auditing, and fraud prevention.
        - `deviceId` string, nullable — The unique identifier assigned to the device (e.g., device UUID or hardware ID). Used to uniquely identify the device making the request.
        - `deviceMake` string, nullable — The make or manufacturer of the device (e.g., "Apple", "Samsung", "Dell").
        - `deviceVersion` string, nullable — The model or version of the device (e.g., "iPhone 14", "Galaxy S22", "Latitude 7420").
        - `deviceOS` string, nullable — The operating system running on the device (e.g., "iOS", "Android", "Windows").
        - `deviceOSVersion` string, nullable — The version of the operating system running on the device (e.g., "16.4", "13", "11 Pro").
        - `ipAddress` string, nullable — The IP address of the device as detected by the application or device itself. Used for geolocation, risk analysis, and fraud prevention.
        - `customerIP` string, nullable — The customer’s public IP address as seen by the server or network edge. May be used for additional risk analysis or logging.
    - `targetTransferEndpoint` MrdcTargetEndpoint — Represents the target endpoint for a Mobile Remote Deposit Capture (MRDC) transfer. Specifies the account where the check funds will be deposited after a successful MRDC transaction.
      - `accountIdentifier` string, nullable — The unique identifier of the account that will receive the deposited check funds. This should reference a valid Green Dot account eligible for MRDC deposits.

## Response `201`

Created

- CreateMrdcAssessmentResponse — Represents the response returned after assessing a Mobile Remote Deposit Capture (MRDC) transfer request. Contains information about account holders involved in the assessment and any unmet prerequisites required for MRDC eligibility.
  - `accountHolders` AccountHolderAssess[], nullable — A list of account holders associated with the MRDC transfer assessment. Each account holder includes identifiers and KYC (Know Your Customer) gate status information.
    - `accountIdentifier` string, nullable — The unique identifier of the account associated with the account holder being assessed for MRDC eligibility.
    - `userIdentifier` string, nullable — The unique identifier of the user (account holder) being assessed for MRDC eligibility.
    - `pendingkycGate` string, nullable — The current pending KYC (Know Your Customer) gate or status for the account holder. Indicates if there are any outstanding KYC requirements that must be satisfied before MRDC transactions can proceed.
  - `prerequisites` string[], nullable — A list of prerequisite conditions that must be met before the MRDC transfer can proceed. If any prerequisites are returned, the customer must fulfill them to be eligible for MRDC check deposit.
  - `responseDetails` ResponseDetail[], nullable — Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.
    - `code` integer — The primary status or error code for the response (e.g., 200 for success, 400 for validation error).
    - `subCode` integer, nullable — An optional subcode providing more granular detail about the response or error.
    - `description` string, nullable — A human-readable description of the response, error, or status.
    - `url` string, nullable — A URL linking to documentation or a web page with more information about the response code.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/greendot/apis/baas-apis.md) · [All operations](https://skmtc.net/greendot/apis/baas-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/greendot/baas-apis/versions/666553766b78/schema)
