Method: accounts.search

Stay organized with collections Save and categorize content based on your preferences.

Search and return a list of accounts associated with a given customer. The customer may be identified in one of many ways (mobile number, email, unique national id, payment address, etc).

Accounts can be searched with one of two filters:

  1. Customer reference - For UPI, the supported customer identifiers are Mobile number or Aadhaar number. All accounts associated with the specified customer identifier need to be returned. The response will be zero or more accounts.
  2. Account reference - For UPI, this is the IFSC code and number of an account. The bank adapter should search for the specified account reference in the bank. The response will be either zero accounts or exactly one account.

NOTE: If no matching accounts are found for the given reference in the request, the response is a success with zero accounts. This condition is not an error.

This API should return a 400 HTTP status code if it is unable to process the request. The reason field in the ErrorInfo response should contain one of the following values:

  • ACCT_BLOCKED = Account linked with customer identifier is blocked.

  • ACCT_DORMANT = Account linked with customer identifier is dormant.

  • ACCT_FROZEN = Account linked with customer identifier is frozen.

  • ACCT_INACTIVE = Account linked with customer identifier is inactive.

  • ACCT_NOT_FOUND = No account(s) were found in the bank's systems linked with the customer identifier.

  • ACCT_MULTIPLE_CUSTOMERS = Indicates that the account is associated with multiple customers.

  • MOBILE_NUMBER_MULTIPLE_CUSTOMERS = Indicates that the same mobile number is associated with multiple customers in the bank's systems.

Note: This API will be invoked in the UPI ReqListAccount API flow.

HTTP request

POST https://issuer-bank-adapter.your-domain.com/v1/accounts:search

Request body

The request body contains data with the following structure:

JSON representation
{

  // Union field reference can be only one of the following:
  "customerReference": {
    object (CustomerReference)
  },
  "accountReference": {
    object (AccountReference)
  }
  // End of list of possible types for union field reference.
}
Fields

Union field reference.

reference can be only one of the following:

customerReference

object (CustomerReference)

Reference of customer used to search for accounts.

accountReference

object (AccountReference)

A reference to uniquely identify a customer's bank account based on India's UPI standards.

Response body

If successful, the response body contains data with the following structure:

Response for the SearchAccount method.

JSON representation
{
  "accounts": [
    {
      object (AccountInfo)
    }
  ]
}
Fields
accounts[]

object (AccountInfo)

List of accounts matching the search criteria.

AccountInfo

Provides information about an account.

JSON representation
{
  "accountReference": {
    object (AccountReference)
  },
  "displayName": string,
  "accountAlias": string,
  "aadhaarEnabled": boolean
}
Fields
accountReference

object (AccountReference)

Information about an account as per India's UPI standards.

displayName

string

The name of the account.

accountAlias

string

Alias set by the customer to easily identify an account.

aadhaarEnabled

boolean

Boolean field indicating if Aadhaar is enabled for the account.