diff --git a/api-references/data/account-aggregator.json b/api-references/data/account-aggregator.json
index db25103f..72a90546 100644
--- a/api-references/data/account-aggregator.json
+++ b/api-references/data/account-aggregator.json
@@ -84,7 +84,26 @@
},
"/v2/fips": {
"get": {
+ "parameters": [
+ {
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "description": "Status of the FIP by which the FIPs are to be filtered",
+ "schema": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "TEMPORARILY_INACTIVE"
+ ]
+ }
+ }
+ ],
"responses": {
+ "400": {
+ "$ref": "#/components/responses/BAD_REQUEST"
+ },
"200": {
"description": "OK",
"content": {
@@ -98,9 +117,43 @@
},
"summary": "Get FIP list",
"description": "This API is used to get the list of FIPs.",
- "tags": ["AA participants APIs"]
+ "tags": [
+ "AA participants APIs"
+ ]
}
},
+ "/v2/fips/{fip_id}": {
+ "get": {
+ "responses": {
+ "200": {
+ "description": "OK",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FIPResponse"
+ }
+ }
+ }
+ }
+ },
+ "summary": "Get FIP by ID",
+ "description": "This API is used to get a FIP by its ID.",
+ "tags": [
+ "AA participants APIs"
+ ]
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "fip_id",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "minLength": 1
+ }
+ }
+ ]
+ },
"/v2/consents": {
"post": {
"parameters": [
diff --git a/content/data/account-aggregator/api-integration/fip-apis.mdx b/content/data/account-aggregator/api-integration/fip-apis.mdx
index fad7e2bf..c7f4b66d 100644
--- a/content/data/account-aggregator/api-integration/fip-apis.mdx
+++ b/content/data/account-aggregator/api-integration/fip-apis.mdx
@@ -106,7 +106,7 @@ Below is the list of statuses for FIPs that you will see in a typical GET FIP Li
- TEMPORARILY INACTIVE
+ TEMPORARILY_INACTIVE
|
This is an FIP that has been disabled for breaching SLIs on
@@ -115,7 +115,7 @@ Below is the list of statuses for FIPs that you will see in a typical GET FIP Li
However, this is a temporary status and will be moved to ACTIVE
status once their performance has improved. Do not redirect your
customers to the consent flow when an FIP status is INACTIVE or
- TEMPORARILY INACTIVE as that will mean their consents and/or data
+ TEMPORARILY_INACTIVE as that will mean their consents and/or data
fetches are likely to fail.
|
@@ -148,6 +148,15 @@ Below is the list of statuses for FIPs that you will see in a typical GET FIP Li
"institutionType": "BANK",
"status": "ACTIVE"
},
+ {
+ "name": "Federal Bank",
+ "fipId": "FDRLFIP",
+ "fiTypes": [
+ "DEPOSIT"
+ ],
+ "institutionType": "BANK",
+ "status": "ACTIVE"
+ },
{
"name": "IndusInd Bank Ltd.",
"fipId": "fiplive@indusind",
@@ -157,7 +166,7 @@ Below is the list of statuses for FIPs that you will see in a typical GET FIP Li
"RECURRING_DEPOSIT"
],
"institutionType": "BANK",
- "status": "ACTIVE"
+ "status": "TEMPORARILY_INACTIVE"
},
{
"name": "HDFC Bank",
@@ -195,7 +204,132 @@ Below is the list of statuses for FIPs that you will see in a typical GET FIP Li
),
},
]}
- >
+ />
+
+
+
+### Get FIP by ID API
+
+###### Request
+
+{` GET /v2/fips/:id `}
+
+
+ SUCCESS,
+ content: (
+ <>
+ Response
+
+ {`{
+ "data": [
+ {
+ "name": "HDFC Bank",
+ "fipId": "HDFC-FIP",
+ "fiTypes": [
+ "DEPOSIT"
+ ],
+ "institutionType": "BANK",
+ "status": "INACTIVE"
+ }
+ ],
+ "traceId": "1-66ff79c7-46029a1f1aaa59083489fd46"
+}
+`}
+
+ >
+ ),
+ },
+ {
+ key: "2",
+ label: FAIL,
+ content: (
+ <>
+ Response
+
+ {`{
+ "errorMsg": "string",
+ "errorCode": "string",
+ "txnid": "string",
+ "timestamp": "2023-03-30T08:20:31.367Z",
+ "ver": "string"
+}`}
+
+ >
+ ),
+ },
+ ]}
+ />
+
+
+
+### Get FIPs by Status API
+
+###### Request
+
+{` GET /v2/fips?status=ACTIVE `}
+
+
+ SUCCESS,
+ content: (
+ <>
+ Response
+
+ {`{
+ "data": [
+ {
+ "name": "Axis Bank",
+ "fipId": "AXIS001",
+ "fiTypes": [
+ "DEPOSIT"
+ ],
+ "institutionType": "BANK",
+ "status": "ACTIVE"
+ },
+ {
+ "name": "Federal Bank",
+ "fipId": "FDRLFIP",
+ "fiTypes": [
+ "DEPOSIT"
+ ],
+ "institutionType": "BANK",
+ "status": "ACTIVE"
+ }
+ ],
+ "traceId": "1-64313583-255e3a0705424652664584b2"
+}
+`}
+
+ >
+ ),
+ },
+ {
+ key: "2",
+ label: FAIL,
+ content: (
+ <>
+ Response
+
+ {`{
+ "errorMsg": "string",
+ "errorCode": "string",
+ "txnid": "string",
+ "timestamp": "2023-03-30T08:20:31.367Z",
+ "ver": "string"
+}`}
+
+ >
+ ),
+ },
+ ]}
+ />
diff --git a/content/data/account-aggregator/api-integration/notifications.mdx b/content/data/account-aggregator/api-integration/notifications.mdx
index 5d3322d7..e2b92f60 100644
--- a/content/data/account-aggregator/api-integration/notifications.mdx
+++ b/content/data/account-aggregator/api-integration/notifications.mdx
@@ -65,8 +65,19 @@ Setu will post this payload to your notification endpoint whenever there is a ch
In cases where the user **cancels** the consent before login, or **rejects** the consent after login, an error code and error message will be included in the notification payload.
-
- {`{
+
+
+
+ UserCancelled,
+ content: (
+ <>
+ Response
+
+ {`{
"success": false,
"error": {
"code": "UserCancelled",
@@ -78,7 +89,61 @@ In cases where the user **cancels** the consent before login, or **rejects** the
"timestamp": "2024-01-29T07:28:24.547Z",
"type": "CONSENT_STATUS_UPDATE"
}`}
-
+
+ >
+ ),
+ },
+ {
+ key: "2",
+ label: UserRejected,
+ content: (
+ <>
+ Response
+
+ {`{
+ "success": false,
+ "error": {
+ "code": "UserRejected",
+ "message": "reject_not_want_to_share"
+ },
+ "data": null,
+ "consentId": "72cb6cb8-c248-4b88-9282-18262fbdfbc2",
+ "notificationId": "66d5fef5-d5f3-48f6-afe7-1e82ac952ecb",
+ "timestamp": "2024-01-29T07:28:24.547Z",
+ "type": "CONSENT_STATUS_UPDATE"
+}`}
+
+ >
+ ),
+ },
+ {
+ key: "3",
+ label: Error while fetching consent from upstream AA,
+ content: (
+ <>
+ Response
+
+ {`{
+ "success": false,
+ "error": {
+ "code": "ConsentObjectCreationFailure",
+ "message": "Internal server error occurred while fetching consent details from upstream AA"
+ }
+ "data": null,
+ "consentId": "72cb6cb8-c248-4b88-9282-18262fbdfbc2",
+ "notificationId": "66d5fef5-d5f3-48f6-afe7-1e82ac952ecb",
+ "timestamp": "2024-01-29T07:28:24.547Z",
+ "type": "CONSENT_STATUS_UPDATE"
+}`}
+
+ >
+ ),
+ },
+ ]}
+ />
+
+
+
###### Consent error codes
Mapping of error code, error message and it's meaning:
@@ -92,6 +157,9 @@ Mapping of error code, error message and it's meaning:
| `UserRejected` | `reject_not_want_to_share` | I do not want to share my data with FIU |
| `UserRejected` | `reject_accounts_not_found` | I could not find my accounts |
| `UserRejected` | `reject_other` | For other reasons |
+| `NoFIPAccountsDiscovered` | `no_fip_accounts_found` |No fip accounts discovered |
+| `FIPDenied` | `FIP_DENIED_CONSENT` | FIP denied your consent |
+
diff --git a/content/data/account-aggregator/fi-data-types.mdx b/content/data/account-aggregator/fi-data-types.mdx
index aa8f6a32..5cf97191 100644
--- a/content/data/account-aggregator/fi-data-types.mdx
+++ b/content/data/account-aggregator/fi-data-types.mdx
@@ -16,7 +16,16 @@ The schema across all FI types adheres to a set of defined components:
### Testing with Setu FIP
-Setu FIP to help you get access to rich mock data for FI type **Deposit** as per the Account Aggregator specifications. More FI types will be available soon.
+Setu FIP helps you get access to rich mock data for various FI types as per the Account Aggregator specifications. The currently supported FI types are:
+
+| **Category** | **FI Types** |
+| ------------- | ------------ |
+| Bank | DEPOSIT, TERM_DEPOSIT, RECURRING_DEPOSIT |
+| Investment | MUTUAL_FUNDS, ETF, EQUITIES, NPS |
+| Insurance | INSURANCE_POLICIES |
+| GST | GSTR1_3B |
+
+More FI types will be available soon.
###### **How to test?**