---
title: "Get Instant Verification"
method: POST
path: "/prp/1.0/getInstantVerification"
tags: ["Risk"]
---

# Get Instant Verification

`POST /prp/1.0/getInstantVerification`

## Request

- Base URL: `risk-{corename}.{env}.gpsrv.com/` (relative, and the document’s source URL is not known)
- URL: `risk-{corename}.{env}.gpsrv.com/prp/1.0/getInstantVerification`
- Auth: none declared

Use the Get Instant Verification endpoint to validate the ownership and authenticity of an account. This endpoint returns risk levels, account existence, and associated metadata to help determine if an account is valid and if its owner is correctly identified. It provides detailed risk assessments for multiple use cases associated with an external bank account validation, such as <<glossary:ACH>> transactions, wire transactions, risk checks before account linking, and potential <<glossary:AML>> mitigation.


See <a href="doc:about-galileo-instant-verification-engine" target="_blank">About the Instant Verification Engine</a> for more details.

## Request body `application/x-www-form-urlencoded`

- object
  - `apiLogin` string, required: Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`
  - `apiTransKey` string, required: Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`
  - `providerId` string, required: Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10-digit numeric string Example: `"9999"`
  - `transactionId` string, required: Supply a globally unique ID to identify this endpoint request ("transaction"). A UUID is preferred. Pattern: Max 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`
  - `eventTs` string, date-time, required: Timestamp for when an event occurred. Pattern: YYYY-MM-DD hh:mm:ss Example: `2020-10-28 13:00:24`
  - `eventType` 'acct_vrfy' | 'ach' | 'wire' | 'rtp' | 'fednow', required: Specifies the type of an event. Pattern: `acct_vrfy` Example: `"acct_vrfy"`
  - `eventSubtype` string: Subtype of event. Pattern: `incoming_debit`, `outgoing_debit`, `incoming_credit`, or `outgoing_credit` Example: `"outgoing_credit"`
  - `instantVerify` boolean: Whether or not an event should have instant verification applied. Pattern: `true` or `false` Example: `True`
  - `accountId` string, required: SoFi Tech Solutions UUID that identifies the customer account associated with the related event. Pattern: 1–120 characters Example: `"a125483"`
  - `personId` string, required: Unique identifier of the customer associated with the event. Pattern: 1–120 characters Example: `"p54789641"`
  - `requestTs` string, date-time, required: Timestamp of the account holder's request. Pattern: YYYY-MM-DD hh:mm:ss Example: `2020-10-28 13:00:24`
  - `businessName` string: Business name of a business account. When `acctType: business` this field is required. Pattern: 1–120 characters Example: `"Acme Financial"`
  - `firstName` string: Account holder's first name. When `acctType: personal` this field is required. Pattern: 1–60 characters Example: `"Ed"`
  - `middleName` string: Account holder's middle name. Pattern: 1–60 characters Example: `"W"`
  - `lastName` string: Account holder's last name. When `acctType: personal` this field is required. Pattern: 1–60 characters Example: `"Smith"`
  - `acctNo` string, required: Account holder's account number. Pattern: 5–17 digits Example: `"123456789"`
  - `rtNo` string, required: Routing number of the account holder's bank account. Pattern: 9 digits Example: `124001545`
  - `riskServiceId` string, required: Unique identifier provided by SoFi Tech Solutions during implementation to obtain client PRP configuration details. Pattern: Up to 50 characters Example: `"EPRP-test-1231231:1"`
  - `dob` string: Account holder's date of birth. Pattern: YYYY-MM-DD Example: `2024-01-01`
  - `addr1` string: Account holder's first address line. Cannot be a P.O. Box. Pattern: 1–60 characters Example: `"33 Maple Street"`
  - `addr2` string: Account holder's second address line. Pattern: 1–60 characters Example: `"APT 5520"`
  - `city` string: Account holder's city. Pattern: 1–60 characters Example: `"Salt Lake City"`
  - `state` string: Account holder's state or province abbreviation. Pattern: 2 character state or province abbreviation Example: `"UT"`
  - `zip` string: Account holder's postal code (ZIP code). Pattern: Up to 5 digits Example: `84121`
  - `phoneNo` string: Phone number of bank account holder in E.164 format. Pattern: 1–15 digits Example: `+11234567890`
  - `emailAddr` string: Account holder's email address. Pattern: 3–255 characters Example: `user@example.com`
  - `acctType` 'personal' | 'business' | 'other': Type of bank account. Pattern: `personal`, `business`, or `other` Example: `"personal"`
  - `ctryCd` 'US': Account holder's 2-letter ISO 3166-1 country code. Pattern: 2 uppercase letters (ISO 3166-1) Example: `"US"`
  - `personCreatedTs` string, date-time: Timestamp when the customer profile was created. Pattern: YYYY-MM-DD hh:mm:ss Example: `2020-10-28 13:00:24`
  - `idDocNo` string: Account holder's SSN or Tax ID. Pattern: 9 digits Example: `123456789`
  - `idDocType` 'ssn' | 'itin' | 'ein': Type of identification provided by the account holder. Pattern: `ssn`, `itin`, or `ein` Example: `"ssn"`
  - `currCd` 'USD': 3-letter ISO-4217 currency code. Default: USD. Pattern: 3 uppercase letters (ISO 4217) Example: `USD`
  - `acctSubtype` 'checking' | 'saving': Account subtype of bank account holder. Pattern: `checking` or `savings` Example: `"checking"`
  - `transAmt` number: The transaction amount in the currency of the account. Pattern: 1–10 digits with 2 decimal places Example: `10000.00`
  - `partnerId` string: System-generated partner identifier. Pattern: Up to 10-digit numeric string Example: `"9999"`
  - `progId` string: System-generated program identifier. Pattern: Up to 10-digit numeric string Example: `"9999"`
  - `prodId` string: System-generated product identifier. Pattern: Up to 10-digit numeric string Example: `"9999"`
  - `balanceAmt` number: Balance of account. Pattern: 1–10 digits with 2 decimal places Example: `450.12`
  - `balanceAsOfTs` string, date-time: Timestamp balance was calculated at. Pattern: YYYY-MM-DD hh:mm:ss Example: `"2020-10-28 13:00:24"`
  - `balanceReasonCd` string: Balance reason code. Pattern: `success`, `timeout`, `not available`, or `other` Example: `"success"`

## Response `default`

- object
  - `status_code` integer, required: The response status code. May return a string for some statuses.
  - `status` string, required: The condition of a process or response
  - `errors` string[]: A list of errors generated while the request was processed
  - `rtoken` string, nullable: A system-generated ID used for tracking
  - `processing_time` number, nullable: The time elapsed in processing the request
  - `echo` object, nullable: A structure that contains transaction ID information
    - `transaction_id` string: An ID that represents an API transaction
    - `provider_timestamp` string, date-time: Store a related timestamp for reporting and troubleshooting purposes
    - `provider_transaction_id` string: Secondary transaction identifier (generated by a provider)
  - `system_timestamp` string, date-time, nullable: A system generated timestamp
  - `response_data` object
    - `risk_service_id` string, required: Unique identifier provided by SoFi Tech Solutions during the implementation to obtain client configuration details
    - `transaction_id` string: Unique provider-generated ID to identify this API call
    - `event_type` 'acct_vrfy' | 'ach' | 'wire' | 'rtp' | 'fednow', required: Specifies the type of the event. Returns:
    - `event_subtype` string: Specifies the subtype of the event: * `incoming_debit` * `outgoing_credit` * `incoming_credit` * `outgoing_debit`
    - `event_id` string, required: System-generated universal unique identifier of the event
    - `event_ts` string, date-time, required: Event timestamp
    - `account_id` string, required: SoFi Tech Solutions UUID that identifies the customer account associated with the related event
    - `person_id` string, required: Unique identifier of the customer associated with the event
    - `account_uuid` string, required: SoFi Tech Solutions UUID that identifies the account which the related event is associated with
    - `person_uuid` string, required: SoFi Tech Solutions UUID that identifies the account holder associated with the event
    - `overall_risk_level` string: Determines the fraud risk of the ACH transaction. Below is the recommended actions for you to take: * `very_high` — Cancel the transaction and the bank link * `high`— Challenge the account holder and queue for review * `medium` — Approve the bank account, allow the transaction, and/or challenge the customer * `low` — Approve the bank account and allow the transaction * `''` — Data enrichment layer is not configured to be called
    - `reason_cd` string[]: List of reason codes. See <a href="ref:instant-verification-reason-codes" target="_blank">Instant Verification Reason Codes</a> for valid values.
    - `identity` object: Identity risk signals
      - `risk_score` number: Returns `0` — Reserved for a future use case, or `-1.0` — Identity risk score is not configured to be called
      - `risk_level` string: Risk level of the customer. Below is the recommended actions for you to take: * `very_high` — Cancel the transaction and the bank link * `high` — Challenge the account holder and queue for review * `medium` — Approve the bank account, allow the transaction, and/or challenge the customer * `low` — Approve the bank account and allow the transaction * `''` — Data enrichment layer is not configured to be called
    - `account` object: Account risk signals
      - `risk_level` string: Risk level of the transaction. Returns `high`, `medium`, or `low`
      - `aml_risk_level` string: Anti-money laundering (AML) risk level. Returns `high`, `medium`, or `low`
      - `bank_risk_level` string: Bank risk level. Returns `high`, `medium`, or `low`
      - `ach_risk_level` string: ACH transaction risk level. Returns `high`, `medium`, or `low`
      - `nsf_risk_level` string: Risk level of non-sufficient funds (NSF). Returns `high`, `medium`, or `low`
      - `nsf_risk_score` number: Normalized risk score for non-sufficient funds (NSF). This is a number between 0 and 99, with 99 being the highest risk. For example, a score of 95 means the transaction is riskier than 95% of the other transactions
      - `ach_risk_score` number: Normalized risk score for ACH transactions ranging from 0–99
    - `rules_results` object, nullable: Details about the transaction event
      - `subtenant_data` object, nullable: Consists of multiple components provide details on PRP's performance and your fraud policy: * `features`&mdash; contains data for specific features you choose to return as a record of specific transaction metrics that are utilized in your fraud rule policy and to measure your cardholder behavior. For each feature returned you will receive the `feature_name`, `feature_value`, and data type. * `rule_execution`&mdash; contains all rules triggered within your fraud policy and the associated data that is confirgued in PRP for that rule. Includes `rule_id`, `rule_score`, `rule_name`, rule action, and supplementary actions. If you configure an action to update a data source or to take an action, the associated data is specific to that rule. * `supplementary_action`&mdash; contains data on actions and next steps that PRP takes based on your fraud policy configuration. If you configure an action to update a data source or to take an action, the associated data is in this object in a consolidated view.
      - `galileo_data` object, nullable: A structure that contains transaction information from PRP
        - `reject` boolean, required: Whether a transaction is recommended to be rejected by PRP. Returns `true` if rejected.
        - `freeze` boolean, required: Whether the account was frozen. Returns `true` if frozen.
        - `override` boolean: Whether PRP approved a cardholder-confirmed override of the rejecting fraud rule. Returns `true` if approved; does not change `reject` or `freeze`.
        - `notes` string[]: Notes provided associated with the fraud rules of a transaction event
        - `rules_denied` string[]: Specifies fraud rules concerning the transaction event that triggered a denied message
        - `rules_warned` string[]: Specifies fraud rules concerning the transaction event that triggered a denied message
        - `actions` object[]: List of PRP specific data
          - `fn_name` string, required: Name of the rule from PRP
          - `fn_result` string, required: Result of the results of the rule from PRP
          - `fn_note` string, nullable: Description of risky acitivity associated with the rule trigger from PRP
          - `freeze` boolean, required: Whether the fraud rule that was triggered contains a freeze flag. Returns `true` if the freeze flag is triggered.

---

[API](https://skmtc.dev/galileo-ft/apis/risk-api-1-0.md) - [All operations](https://skmtc.dev/galileo-ft/apis/risk-api-1-0/llms.txt) - [OpenAPI document](https://skmtc.dev/galileo-ft/apis/risk-api-1-0/revisions/e1d98d205e14?raw)
