Skip to main content
Validation Services

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 only available for accounts based in the United States region.

Disclaimer

The use of ACS does not satisfy any regulatory or other requirements for establishing or maintaining sanctions, Anti-Money Laundering (AML), or Know-Your-Customer (KYC) programs. Clients using ACS remain subject to, and are solely responsible for, compliance with their own regulatory and sanctions obligations. The 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, a score between 0 and 1000 and a corresponding Red, Amber, or Green (RAG) status is provided. To do this, call a POST request to /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 /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": []
  }
]

The following example shows a sample ACS response 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