Skip to main content

Request Account Confidence Score

In this tutorial, you will learn how to request an Account Confidence Score (ACS) that provides an indicator of the likelihood of fraud on a beneficiary account. By the end of this tutorial, you will know how to:

  • Send an ACS only request.
  • Send an account confidence request with account verification and authentication.

ACS is available for accounts based in the United States region only.

Disclaimer

Use of ACS is not intended to, and does not, satisfy any regulatory or other requirements for the establishment or maintenance of any sanctions, Anti-Money Laundering (AML), or Know-Your-Customer (KYC) program. Clients using ACS remain subject to and solely responsible for compliance with their own regulatory and sanctions obligations. Use of the service does not constitute a guarantee or assurance that transactions will be processed for counterparties.

Before you begin

To retrieve an ACS, you will need the following:

  • registered and fully onboarded Developer Account on the J.P. Morgan Payments Developer Portal.
  • An active project that provides you with the credentials to make a request.

Request ACS

Account status validation assesses a bank account and generates an ACS. When requesting an ACS provides, a score between 0 and 1000 along and a corresponding Red, Amber, Green (RAG) status are provided. To do this call a POST request to the /v2/validations/accounts. The following example includes the required fields for an account verification request. 

POST /v2/validations/accounts request
Json
[
 {
  "requestId": "123e4567-e89b-12d3-a456-426614174000",
"profileName": "verification",
  "account": {
    "accountNumber": "1234559",
    "financialInstitutionId": {
      "clearingSystemId": {
         "id": "073903354",
         "idType": "ABA"
      }
    }
  }
}
]

The following example shows a sample ACS request

Example request for ACS
Json
[
  {
    "requestId": "123e4567-e89b-12d3-a456-426614174000",
    "account": {
      "accountNumber": "1233947",
      "financialInstitutionId": {
        "clearingSystemId": {
          "id": "102000076",
          "idType": "ABA"
        }
      }
    }
  }
]

The following example shows a sample ACS response

Example response for ACS
Json
[
  {
    "requestId": "123e4567-e89b-12d3-a456-426614174000",
    "responses": [
      {
        "codes": {
          "accountScore": {
            "code": 1109,
            "message": "Information Found"
          }
        },
        "provider": "JPMC_BENE",
        "details": {
          "providerResponse":{            "score": 628,
            "rag": "GREEN",
            "description": "The account is in a high-confidence score range."
          }
        }
      }
    ]
  }
]

Request ACS and authenticate account owner

Adding account owner authentication to the account confidence request evaluates the name on the account in addition to generating an ACS. To do this call a POST request to the /v2/validations/accounts. The following example includes the required fields for an account verification request.

POST /v2/validations/accounts request
Json
[
  {
    "requestId": "123e4567-e89b-12d3-a456-426614174000",
    "account": {
      "accountNumber": "12345",
      "financialInstitutionId": {
        "clearingSystemId": {
          "id": "122199983",
          "idType": "ABA"
        }
      }
    },
    "entity": {
      "individual": {
        "firstName": "Jane",
        "lastName": "Abbot",
        "fullName": "Jane Abbot"
      }
    },
    "transactions": []
  }
]

Example response for ACS with account verification and authentication

Example response for verification, authentication, and account confidence
Json
[
  {
    "requestId": "123e4567-e89b-12d3-a456-426614174000",
    "responses": [
      {
        "codes": {
          "verification": {
            "code": 1001,
            "message": "Open Valid"
          }
        },
        "provider": "JPMC_ACH",
        "details": {
          "accountNumber": "XXXX5",
          "financialInstitutionId": {
            "clearingSystemId": {
              "id": "122199983",
              "idType": "ABA"
            }
          }
        }
      },
      {
        "codes": {
          "accountScore": {
            "code": 1109,
            "message": "Information Found"
          }
        },
        "provider": "JPMC_BENE",
        "details": {
          "providerResponse": {
            "score": 100,
            "rag": "RED",
            "description": "The account is in a low-confidence score range."
          }
        }
      }
    ]
  }
]

Successful response messages

An HTTP status of 200 indicates a successful response. The following fields indicate the result:

  • responseStatus
  • responseCode
  • responseMessage