# Search Account

Get all customer account information using the search account endpoint. The customer's `accountNumber` is required for this request and must be passed as a query request.<br>

<mark style="color:orange;">`PUT`</mark> `/api/account/v1/api/account/v1/SearchAccount`

**Headers**

<table><thead><tr><th width="368">Name</th><th>Value</th></tr></thead><tbody><tr><td>Content-Type<mark style="color:red;">*</mark></td><td><code>application/json</code></td></tr><tr><td>Authorization<mark style="color:red;">*</mark></td><td><code>Bearer &#x3C;token></code></td></tr><tr><td>Request-Reference</td><td><code>{unique-reference}</code></td></tr></tbody></table>

**Query Parameter**

<table data-full-width="false"><thead><tr><th width="181">Name</th><th width="172">Data Type (length)</th><th width="98" data-type="checkbox">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>accountNumber</code></td><td>string <a data-footnote-ref href="#user-content-fn-1"><em>(10)</em></a></td><td>true</td><td>Customer's account number</td></tr><tr><td><code>customerID</code></td><td>string <a data-footnote-ref href="#user-content-fn-1"><em>(10)</em></a></td><td>false</td><td>The identifier of an existing customer (Individual, group or corporate). <br><br><em><mark style="color:orange;">This is not the customer Guid</mark></em></td></tr><tr><td><code>accountName</code></td><td>string <a data-footnote-ref href="#user-content-fn-1"><em>(250)</em></a></td><td>false</td><td>The customer's account name</td></tr><tr><td><code>referenceNumber</code></td><td>string <a data-footnote-ref href="#user-content-fn-1"><em>(50)</em></a></td><td>false</td><td>Reference number for the account. </td></tr><tr><td><code>accountType</code></td><td>integer</td><td>false</td><td><p>Type of account. <br><br>The enumerations are: </p><p><code>1</code> = Saving (Default),</p><p><code>2</code> = Current</p></td></tr><tr><td><code>accountStatus</code></td><td>integer</td><td>false</td><td><p>Status of the account.<br><br>The enumerations are: </p><p><code>1</code> = Active (Default),</p><p><code>2</code> = Dormant,<br><code>3</code> = Closed,<br><code>4</code> = PND (Post No Debit),<br><code>5</code> = PNC (Post No Credit),<br><code>6</code> = Inactive,<br><code>7</code> = Frozen<br></p></td></tr><tr><td><code>branchCode</code></td><td>string <a data-footnote-ref href="#user-content-fn-1"><em>(3)</em></a></td><td>false</td><td>The customer's bank account branch code. </td></tr><tr><td><code>productCode</code></td><td>string <a data-footnote-ref href="#user-content-fn-1"><em>(3)</em></a></td><td>false</td><td>The customer's savings/current account product code.</td></tr><tr><td><code>accountOfficerStaffID</code></td><td>string <a data-footnote-ref href="#user-content-fn-1"><em>(3)</em></a></td><td>false</td><td>Account officer's staff ID. </td></tr><tr><td><code>accountTierLevel</code></td><td>integer</td><td>false</td><td><p>Account tier level.<br><br>The enumerations are: </p><p><code>1</code> = Tier 1 (default),</p><p><code>2</code> = Tier 2,<br><code>3</code> = Tier 3</p></td></tr><tr><td>accessLevel</td><td>integer</td><td>false</td><td>The customer's access level enables restriction of balance and transaction amounts when viewed by users with lower access levels on the CBA portal.<br><br><em>Access levels range from <code>1</code> to <code>5</code></em> </td></tr><tr><td><code>enableEmailNotification</code></td><td>boolean</td><td>false</td><td>This enable the system to send email notifications to customers</td></tr><tr><td><code>enableSMSNotification</code></td><td>boolean</td><td>false</td><td>This enable the system to send SMS notifications to customers</td></tr><tr><td><code>statementDeliveryMode</code></td><td>integer</td><td>false</td><td><p>Mode of statement delivery (e.g., 1 for email)<br><br>The enumerations are: </p><p><code>1</code> = Handpicked,</p><p><code>2</code> = Email,<br><code>3</code> = Postage</p></td></tr><tr><td><code>statementDeliveryFrequenc</code></td><td>integer</td><td>false</td><td><p>Frequency of statement delivery (e.g., 1 for monthly)<br><br>The enumerations are: </p><p><code>1</code> = Weekly</p><p><code>2</code> = Monthly</p></td></tr><tr><td><code>minimumBalanceRequired</code></td><td>integer</td><td>false</td><td>Minimum balance required for the account</td></tr><tr><td><code>applicableFee</code></td><td>integer</td><td>false</td><td>Customer's applicable fee</td></tr><tr><td><code>applicableInterest</code></td><td>integer</td><td>false</td><td>Customer's applicable fee interest</td></tr><tr><td><code>accountCreationChannel</code></td><td>string</td><td>false</td><td><p>The customer's account creation channel <br>The enumerations are:<br><code>1</code> = Web,<br><code>2</code> = OpenAPI,</p><p><code>3</code> = InternetBanking</p></td></tr><tr><td><code>PageNumber</code></td><td>Integer</td><td>false</td><td>Page number for pagination purposes</td></tr><tr><td><code>PageSize</code></td><td>Integer</td><td>false</td><td>Number of items per page for pagination</td></tr><tr><td><code>SortColumn</code></td><td>string</td><td>false</td><td>Column by which you want to sort the results: (e.g., <code>accountName</code>, <code>accountType</code>, <code>accesslevel</code>)</td></tr><tr><td><code>Direction</code></td><td>string</td><td>false</td><td>Sort the query result direction in the following order:<br>- <code>ascending</code><br>- <code>descending</code></td></tr></tbody></table>

<details>

<summary>Sample Request</summary>

```json
curl --location -g '{{baseurl}}/api/account/v1/SearchAccount?AccountNumber=1100029938&CustomerID=1000192&AccountName=Test%2520Account&BranchCode=001&ProductCode=005&AccountStatus=Active&AccountTierLevel=2&AccountCreationChannel=OpenAPI&StartDate=2022-10-10&EndDate=2022-10-10&DateCreatedFinancialFrom=2022-10-10&DateCreatedFinancialTo=2022-10-10&PageNumber=1&PageSize=10&SortColumn=AccountName&Direction=asc&PhoneNumber=2349000000001&Email=abc%40123.com' \
--header 'Authorization: bearer {token}' \
--header 'request-reference: {unique_reference}' \
--header 'Content-Type: application/json' \
--data ''
```

</details>

<details>

<summary>Response : <code>200</code></summary>

```
{
  "status": true,
  "message": "string",
  "data": {
    "data": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "accountNumber": "string",
        "customerID": "string",
        "customerName": "string",
        "accountName": "string",
        "accountType": "string",
        "branchCode": "string",
        "branchName": "string",
        "productCode": "string",
        "productName": "string",
        "accountOfficerID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "accountOfficerName": "string",
        "accountStatus": "string",
        "accountTierLevel": 0,
        "accessLevel": 0,
        "enableEmailNotification": true,
        "enableSMSNotification": true,
        "statementDeliveryMode": "string",
        "statementDeliveryFrequency": "string",
        "minimumBalanceRequired": 0,
        "accountCreationChannel": "string",
        "overrideProductApplicableFee": true,
        "applicableFee": 0,
        "overrideProductApplicableInterest": true,
        "applicableInterest": 0,
        "mandateRuleIndex": "string",
        "ledgerBalance": 0,
        "availableBalance": 0,
        "withdrawableBalance": 0,
        "overdraftLimit": 0,
        "isGroupAccount": true,
        "categoryOfAccount": "string",
        "sectorCode": "string",
        "firstName": "Adebayo",
        "lastName": "Olufemi",
        "otherNames": "Emmanuel",
        "address": "XYZ Acme road",
        "phoneNumber": "0800000000",
        "bvn": null,
        "email": "xyz@gmail.com",
        "dateOfBirth": "2001-01-01T00:00:00"
      }
    ],
    "recordCount": 0
  }
}
```

</details>

[^1]: This is the maximum number of characters allowed.
