> For the complete documentation index, see [llms.txt](https://saafe-tech-fip.gitbook.io/fip-and-cbs-api-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://saafe-tech-fip.gitbook.io/fip-and-cbs-api-documentation/fip-cbs-api-documentation/fip-cbs-api-documentation.md).

# FIP CBS API Documentation

### Overview

The **FIP Core Banking System (CBS) APIs** allow a Financial Information Provider (FIP) to interact with banking systems to retrieve:

* Customer account discovery
* Customer profile details
* Account summary information
* Transaction data

These APIs are typically used in **Account Aggregator (AA) integrations**.

***

## Base URL

```
https://api.bank.com
```

***

## Authentication

Most integrations support **API Key or Bearer Token authentication**.

| Header        | Type   | Required   | Description                |
| ------------- | ------ | ---------- | -------------------------- |
| Content-Type  | string | Yes        | Must be `application/json` |
| Authorization | string | Optional\* | Bearer token or API key    |

\* Depends on bank integration configuration.

***

## Account Discovery API

### Overview

The **Account Discovery API** allows a Financial Information Provider (FIP) to discover accounts associated with a specific identifier such as:

* Mobile number
* PAN
* Customer ID

***

### Endpoint

```
POST /account-discovery
```

Full URL

```
https://api.bank.com/account-discovery
```

***

### Headers

| Header        | Type   | Required | Description             |
| ------------- | ------ | -------- | ----------------------- |
| Content-Type  | string | Yes      | application/json        |
| Authorization | string | Optional | Bearer token or API key |

***

### Request Body

#### JSON Structure

```
{
  "identifierType": "string",
  "identifierValue": "string",
  "fiTypes": ["string"]
}
```

***

#### Request Fields

| Field           | Type   | Required | Description                                 |
| --------------- | ------ | -------- | ------------------------------------------- |
| identifierType  | string | Yes      | Identifier type (MOBILE, PAN, CUSTOMER\_ID) |
| identifierValue | string | Yes      | Identifier value                            |
| fiTypes         | array  | Yes      | List of FI types                            |

***

#### Sample Request

```
{
  "identifierType": "MOBILE",
  "identifierValue": "9876543210",
  "fiTypes": ["DEPOSIT", "TERM_DEPOSIT"]
}
```

***

### Success Response

#### 200 OK

```
{
  "status": "SUCCESS",
  "message": "Accounts found",
  "accounts": [
    {
      "accType": "DEPOSIT",
      "accSubType": "SAVINGS",
      "maskedAccNumber": "XXXXXX1234",
      "uniqueIdentifier": "ACC123456",
      "registeredMobileNumber": "9876543210",
      "firstName": "John",
      "lastName": "Doe"
    }
  ]
}
```

***

### Response Fields

| Field    | Type   | Description                 |
| -------- | ------ | --------------------------- |
| status   | string | Operation status            |
| message  | string | Response message            |
| accounts | array  | List of discovered accounts |

***

### Account Object

| Field                  | Type   | Description                        |
| ---------------------- | ------ | ---------------------------------- |
| accType                | string | Account type (DEPOSIT, LOAN)       |
| accSubType             | string | Account subtype (SAVINGS, CURRENT) |
| maskedAccNumber        | string | Masked account number              |
| uniqueIdentifier       | string | Unique account identifier          |
| registeredMobileNumber | string | Registered mobile number           |
| firstName              | string | Account holder first name          |
| lastName               | string | Account holder last name           |

***

### Failure Response

```
{
  "status": "FAILURE",
  "message": "No accounts found",
  "accounts": []
}
```

***

### Status Codes

| Code | Meaning                    |
| ---- | -------------------------- |
| 200  | Success                    |
| 400  | Invalid request parameters |
| 401  | Unauthorized               |
| 500  | Internal server error      |

***

## Profile Summary Fetch API

### Overview

The **Profile Summary Fetch API** retrieves:

* Customer profile details
* Account summary information

based on the **unique account identifier**.

This API is commonly used in **FIP integrations with Account Aggregators**.

***

### Endpoint

```
POST /profile-summary
```

Full URL

```
https://api.bank.com/profile-summary
```

***

### Headers

| Header        | Type   | Required | Description             |
| ------------- | ------ | -------- | ----------------------- |
| Content-Type  | string | Yes      | application/json        |
| Authorization | string | Optional | Bearer token or API key |

***

### Request Body

#### JSON Structure

```
{
  "dataTypes": ["P", "S", "T"],
  "fiType": "DEPOSIT",
  "uniqueIdentifier": "ACC123456"
}
```

***

### Request Fields

| Field            | Type   | Required | Description                |
| ---------------- | ------ | -------- | -------------------------- |
| dataTypes        | array  | Yes      | Types of data requested    |
| fiType           | string | Yes      | Financial information type |
| uniqueIdentifier | string | Yes      | Unique account identifier  |

***

#### Data Type Values

| Value | Meaning      |
| ----- | ------------ |
| P     | Profile      |
| S     | Summary      |
| T     | Transactions |

***

### Success Response

```
{
  "status": "S",
  "message": "SUCCESS",
  "profiles": [
    {
      "mobile": "9174757003",
      "ckycRegistered": "NA",
      "dob": "1990-01-01",
      "holderType": "MAIN",
      "name": "John Doe",
      "nominee": "NOT-REGISTERED",
      "email": "vXXXXop@gmail.com",
      "pan": "CHAAA0000J",
      "address": ""
    }
  ],
  "summary": {
    "currentValue": "28449.01",
    "currency": "INR",
    "currentBalance": "28449.01",
    "branch": "BKC BRANCH, BANDRA",
    "accountType": "REGULAR",
    "accountSubType": "SAVINGS",
    "ifscCode": "ICICI00001183",
    "micrCode": "400012112",
    "openingDate": "2020-01-01",
    "status": "ACTIVE",
    "currentODLimit": "0.00",
    "balanceDateTime": "2026-02-14T10:30:00"
  }
}
```

***

### Response Fields

#### Root Object

| Field    | Type   | Description      |
| -------- | ------ | ---------------- |
| status   | string | Operation status |
| message  | string | Response message |
| profiles | array  | Profile details  |
| summary  | object | Account summary  |

***

#### Profile Object

| Field          | Type   | Description              |
| -------------- | ------ | ------------------------ |
| mobile         | string | Registered mobile number |
| ckycRegistered | string | CKYC status              |
| dob            | date   | Date of birth            |
| holderType     | string | Holder type              |
| name           | string | Account holder name      |
| nominee        | string | Nominee status           |
| email          | string | Email                    |
| pan            | string | PAN                      |
| address        | string | Address                  |

***

#### Summary Object

| Field           | Type     | Description           |
| --------------- | -------- | --------------------- |
| currentValue    | string   | Current account value |
| currency        | string   | Currency              |
| currentBalance  | string   | Current balance       |
| branch          | string   | Branch name           |
| accountType     | string   | Account type          |
| accountSubType  | string   | Account subtype       |
| ifscCode        | string   | IFSC code             |
| micrCode        | string   | MICR code             |
| openingDate     | date     | Opening date          |
| status          | string   | Account status        |
| currentODLimit  | string   | Overdraft limit       |
| balanceDateTime | datetime | Balance timestamp     |

***

### Failure Response

```
{
  "status": "F",
  "message": "Account not found",
  "profiles": [],
  "summary": null
}
```

***

### Status Codes

| Code | Meaning               |
| ---- | --------------------- |
| 200  | Success               |
| 400  | Invalid request       |
| 401  | Unauthorized          |
| 404  | Account not found     |
| 500  | Internal server error |

***

## Transactions Fetch API

### Overview

The **Transactions Fetch API** retrieves account transactions within a given date range.

It also supports **filtering transactions using configurable data filters**.

***

### Endpoint

```
POST /transactions
```

Full URL

```
https://api.bank.com/transactions
```

***

### Headers

| Header        | Type   | Required | Description             |
| ------------- | ------ | -------- | ----------------------- |
| Content-Type  | string | Yes      | application/json        |
| Authorization | string | Optional | Bearer token or API key |

***

### Request Body

#### JSON Structure

```
{
  "uniqueIdentifier": "ACC123456",
  "fiDataFrom": "2026-01-01",
  "fiDataTo": "2026-01-31",
  "fiType": "DEPOSIT",
  "DataFilter": [
    {
      "type": "AMOUNT",
      "operator": "GT",
      "value": "1000"
    }
  ]
}
```

***

### Request Fields

| Field            | Type   | Required | Description                |
| ---------------- | ------ | -------- | -------------------------- |
| uniqueIdentifier | string | Yes      | Account identifier         |
| fiDataFrom       | string | Yes      | Start date                 |
| fiDataTo         | string | Yes      | End date                   |
| fiType           | string | Yes      | Financial information type |
| DataFilter       | array  | Optional | Filtering conditions       |

***

### DataFilter Object

| Field    | Type   | Required | Description         |
| -------- | ------ | -------- | ------------------- |
| type     | string | Yes      | Filter type         |
| operator | string | Yes      | Comparison operator |
| value    | string | Yes      | Filter value        |

***

#### Example Filters

| Type   | Operator | Meaning          |
| ------ | -------- | ---------------- |
| AMOUNT | GT       | Greater than     |
| AMOUNT | LT       | Less than        |
| TYPE   | EQ       | Debit or Credit  |
| MODE   | EQ       | Transaction mode |

***

### Success Response

```
{
  "status": "S",
  "message": "SUCCESS",
  "transactions": [
    {
      "txnId": "S11914599",
      "amount": "200",
      "narration": "UPI/809219875635/19:14:30/UPI/srinivasharishkumar",
      "type": "D",
      "mode": "ATM",
      "balance": "10000",
      "transactionDateTime": "2026-01-11 23:29:51",
      "valueDate": "12-01-2026",
      "reference": "UPI/srinivasharishkumar@okici"
    }
  ]
}
```

***

### Transaction Object

| Field               | Type     | Description               |
| ------------------- | -------- | ------------------------- |
| txnId               | string   | Transaction ID            |
| amount              | string   | Transaction amount        |
| narration           | string   | Description               |
| type                | string   | D = Debit, C = Credit     |
| mode                | string   | Transaction mode          |
| balance             | string   | Balance after transaction |
| transactionDateTime | datetime | Transaction timestamp     |
| valueDate           | date     | Value date                |
| reference           | string   | Reference details         |

***

### Failure Response

```
{
  "status": "F",
  "message": "No transactions found",
  "transactions": []
}
```

***

### Status Codes

| Code | Meaning                |
| ---- | ---------------------- |
| 200  | Success                |
| 400  | Invalid request        |
| 401  | Unauthorized           |
| 404  | Transactions not found |
| 500  | Internal server error  |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://saafe-tech-fip.gitbook.io/fip-and-cbs-api-documentation/fip-cbs-api-documentation/fip-cbs-api-documentation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
