Please refer the FIU API Spec (2.0.0) in the ReBIT to implement the responses for different cases. The APIs below only has success response.
Create JWS and Sign API Request
The API calls to AA ReBIT api's should have x-jws-signature in the header which is a detached JWS of the body.
you can find how to create JWS keys for creating the x-jws-signature and refer for how to sign the request that you send to AA and verify the request that you receive from AA.
Consent Creation
You need to raise a consent to Saafe using /Consent API
POST
https://sandbox.saafe.in/api/v2/Consent
Request
Header
Body
Copy {
"ver": "2.0.0",
"timestamp": "2024-05-09T15:23:55.384Z",
"txnid": "644d2aff-e43b-4bb9-9047-498cbb9896d2",
"ConsentDetail": {
"consentStart": "2024-05-09T15:23:55.384Z",
"consentExpiry": "2025-01-01T00:00:00.000Z",
"consentMode": "STORE",
"fetchType": "PERIODIC",
"consentTypes": [
"PROFILE",
"TRANSACTIONS",
"SUMMARY"
],
"fiTypes": [
"DEPOSIT"
],
"DataConsumer": {
"id": "central-trust-uat", // Your FIU Entity ID
"type": "FIU"
},
"Customer": {
"Identifiers": [
{
"type": "MOBILE",
"value": "9944612241" //Customer Phone Number
}
]
},
"Purpose": {
"code": "101",
"refUri": "https://api.rebit.org.in/aa/purpose/101.xml",
"text": "To provide your asset insights",
"Category": {
"type": "Personal Finance"
}
},
"FIDataRange": {
"from": "2023-01-01T00:00:00.000Z",
"to": "2025-01-01T00:00:00.000Z"
},
"DataLife": {
"unit": "YEAR",
"value": 3
},
"Frequency": {
"unit": "DAY",
"value": 10
}
}
}
Response 200
Copy {
"ver": "2.0.0",
"timestamp": "2024-05-09T15:40:00.669Z",
"txnid": "019fe3f7-edd6-45ac-9f29-24fad3e504ca",
"Customer": {
"id": "9944612241@dashboard-aa-preprod"
},
"ConsentHandle": "465d1f35-f716-484f-a38e-30797d97b525"
}
Consent Handle Status
POST
https://sandbox.saafe.in/api/v2/Consent/handle
Request
Header
Body
Copy {
"ver": "2.0.0",
"timestamp": "2024-05-09T15:41:49.974Z",
"txnid": "e188d16d-cbb9-4898-ab3b-ab6b57195e8b",
"ConsentHandle": "465d1f35-f716-484f-a38e-30797d97b525"
}
Response 200
Copy {
"ver": "2.0.0",
"timestamp": "2024-05-09T15:41:53.171Z",
"txnid": "e188d16d-cbb9-4898-ab3b-ab6b57195e8b",
"ConsentHandle": "465d1f35-f716-484f-a38e-30797d97b525",
"ConsentStatus": {
"id": "5278f924-2d15-4726-a974-2465cbf48d5c",
"status": "APPROVED"
}
}
Consent Fetch
POST
https://sandbox.saafe.in/api/v2/Consent/fetch
signedConsent is the Consent artefact signed using JWS which contains the list of Accounts that the user have approved the consent for.
Request
Header
Body
Copy {
"ver": "2.0.0",
"timestamp": "2024-05-09T15:44:59.012Z",
"txnid": "fdc66dda-03e3-4df1-b8a2-22744a21180f",
"consentId": "5278f924-2d15-4726-a974-2465cbf48d5c"
}
Response 200
Copy {
"ver": "2.0.0",
"txnid": "fdc66dda-03e3-4df1-b8a2-22744a21180f",
"consentId": "5278f924-2d15-4726-a974-2465cbf48d5c",
"status": "ACTIVE",
"createTimestamp": "2024-05-09T15:45:02.284Z",
"signedConsent": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImI1YTE0NjhiLTFiZDQtNGJlNi1iNTA1LWJmMmM4ZDRkZjA1NiIsImI2NCI6dHJ1ZSwiY3JpdCI6WyJiNjQiXX0.eyJjb25zZW50U3RhcnQiOiIyMDI0LTA1LTA5VDE1OjM5OjU2Ljk4M1oiLCJjb25zZW50RXhwaXJ5IjoiMjAyNS0wMS0wMVQwMDowMDowMC4wMDBaIiwiY29uc2VudE1vZGUiOiJTVE9SRSIsImZldGNoVHlwZSI6IlBFUklPRElDIiwiY29uc2VudFR5cGVzIjpbIlBST0ZJTEUiLCJUUkFOU0FDVElPTlMiLCJTVU1NQVJZIl0sImZpVHlwZXMiOlsiREVQT1NJVCJdLCJEYXRhQ29uc3VtZXIiOnsiaWQiOiJjZW50cmFsLXRydXN0LXVhdCIsInR5cGUiOiJGSVUifSwiQ3VzdG9tZXIiOnsiaWQiOiI5OTQ0NjEyMjQxQGRhc2hib2FyZC1hYS1wcmVwcm9kIn0sIlB1cnBvc2UiOnsiY29kZSI6IjEwMSIsInJlZlVyaSI6Imh0dHBzOi8vYXBpLnJlYml0Lm9yZy5pbi9hYS9wdXJwb3NlLzEwMS54bWwiLCJ0ZXh0IjoiVG8gcHJvdmlkZSB5b3VyIGFzc2V0IGluc2lnaHRzIiwiQ2F0ZWdvcnkiOnsidHlwZSI6IlBlcnNvbmFsIEZpbmFuY2UifX0sIkZJRGF0YVJhbmdlIjp7ImZyb20iOiIyMDIzLTAxLTAxVDAwOjAwOjAwLjAwMFoiLCJ0byI6IjIwMjUtMDEtMDFUMDA6MDA6MDAuMDAwWiJ9LCJEYXRhTGlmZSI6eyJ1bml0IjoiWUVBUiIsInZhbHVlIjozfSwiRnJlcXVlbmN5Ijp7InVuaXQiOiJEQVkiLCJ2YWx1ZSI6MTB9LCJEYXRhRmlsdGVyIjpudWxsLCJEYXRhUHJvdmlkZXIiOnsiaWQiOiJkYXNoYm9hcmQtYWEtcHJlcHJvZCIsInR5cGUiOiJBQSJ9LCJBY2NvdW50cyI6W3siZmlUeXBlIjoiREVQT1NJVCIsImZpcElkIjoiZGhhbmFnYXJiYW5rIiwiYWNjVHlwZSI6IlNBVklOR1MiLCJsaW5rUmVmTnVtYmVyIjoiODI2OTc1YWEtZWJkMS00OTk0LWE3MDAtYTYyNTM1Mjk3NzBmIiwibWFza2VkQWNjTnVtYmVyIjoiWFhYWFgwMTQyIn1dfQ.GTx9lqyavTIDSUVWcua_37D7SxTEASa688YnQYcg61bWSIc_teQGw-Te9APy63EtvA7Hc27B-gtTWIN2zFfexAKVNoF7tKL7E118IScc6F7ToPlPxNFALliRCxnAKKljYhYoIuAYuUcZDiER3okssjk4S_YMVjuLIeexzy84pVH2Y_OZwCJVXiE-mK87lcnv1M5Q1S3WCX1OxU_M5QsfKVnPmjTg9JfvIHO8rLSYS7zRXy-A5fiOEdQKAhM1KOhnMF653fWuMTqL2FoAgenUdnodZgNyFkwcuuCv--7e6tghFUEK2G1tbVHKxJK_X1aIJ2STGXIgS9oLpvOyuFxgNw",
"ConsentUse": {
"logUri": "https://uat.saafe.in/",
"count": 0,
"lastUseDateTime": "2024-05-09T15:40:45.707Z"
}
}
Data Request
POST
https://sandbox.saafe.in/api/v2/FI/request
digitalSignature is the signature part of the signedConsent which needs to sent to the AA to make the FI Request.
KeyMaterial Contains the cryptographic parameters that are required to perform End-to-End encryption for sharing the financial information between the producer and the consumer in a secure manner. Ref End-to-end Encryption on implementing the ECDH
Request
Header
Body
Copy {
"ver": "2.0.0",
"timestamp": "2024-05-09T18:29:21.158Z",
"txnid": "c5e74a42-36c4-4f7b-b85d-4e59871a3f5e",
"FIDataRange": {
"from": "2024-05-05T00:00:00.000Z",
"to": "2024-05-07T00:00:00.000Z"
},
"Consent": {
"id": "5278f924-2d15-4726-a974-2465cbf48d5c",
"digitalSignature": "GTx9lqyavTIDSUVWcua_37D7SxTEASa688YnQYcg61bWSIc_teQGw-Te9APy63EtvA7Hc27B-gtTWIN2zFfexAKVNoF7tKL7E118IScc6F7ToPlPxNFALliRCxnAKKljYhYoIuAYuUcZDiER3okssjk4S_YMVjuLIeexzy84pVH2Y_OZwCJVXiE-mK87lcnv1M5Q1S3WCX1OxU_M5QsfKVnPmjTg9JfvIHO8rLSYS7zRXy-A5fiOEdQKAhM1KOhnMF653fWuMTqL2FoAgenUdnodZgNyFkwcuuCv--7e6tghFUEK2G1tbVHKxJK_X1aIJ2STGXIgS9oLpvOyuFxgNw"
},
"KeyMaterial": {
"cryptoAlg": "ECDH",
"curve": "Curve25519",
"params": "",
"DHPublicKey": {
"expiry": "2024-05-10T18:26:49.031Z",
"Parameters": "",
"KeyValue": "-----BEGIN PUBLIC KEY-----MIIBMTCB6gYHKoZIzj0CATCB3gIBATArBgcqhkjOPQEBAiB/////////////////////////////////////////7TBEBCAqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqYSRShRAQge0Je0Je0Je0Je0Je0Je0Je0Je0Je0Je0JgtenHcQyGQEQQQqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq0kWiCuGaG4oIa04B7dLHdI0UySPU1+bXxhsinpxaJ+ztPZAiAQAAAAAAAAAAAAAAAAAAAAFN753qL3nNZYEmMaXPXT7QIBCANCAARrS/CNE3TmgabxB9KupD1FN4L4weI7cqx+zjkqZcJEfDY22ar/e8t9tYWKcH1T0Q23h0adHoiIKipIZr2O5j3r-----END PUBLIC KEY-----"
},
"Nonce": "JRsHMYjdy8qENzydIf3iYFks+XgaZeckzsVjl9n1Xxs="
}
}
Response 200
Copy {
"ver": "2.0.0",
"timestamp": "2024-05-09T18:29:24.478Z",
"txnid": "c5e74a42-36c4-4f7b-b85d-4e59871a3f5e",
"consentId": "5278f924-2d15-4726-a974-2465cbf48d5c",
"sessionId": "8c582ed7-b114-4b66-adb3-81e6bd430708"
}
Data Fetch
POST
https://sandbox.saafe.in/api/v2/FI/fetch
Request
Header
Body
Copy {
"ver": "2.0.0",
"timestamp": "2024-05-09T15:44:59.012Z",
"txnid": "3dd436f8-0747-4a8f-9001-375e419430be",
"sessionId": "8c582ed7-b114-4b66-adb3-81e6bd430708",
"fipId": "FIP-1",
"linkRefNumber": [
{
"id": "XXXX-XXXX-XXXX"
}
]
}
Response 200
Copy {
"ver": "2.0.0",
"timestamp": "2024-05-09T20:13:05.687Z",
"txnid": "c5e74a42-36c4-4f7b-b85d-4e59871a3f5e",
"FI": [
{
"fipID": "dhanagarbank",
"data": [
{
"linkRefNumber": "826975aa-ebd1-4994-a700-a6253529770f",
"maskedAccNumber": "XXXXX0142",
"encryptedFI": "tb5RzcVSgfJHEEv5MKEknFG676iQJq9k4EchUhdu4/WM2K1C5S68KmPVz3lR3NaqwWGdZfJ5HcHVZARW/apOeyTEbVE+KKC1XVmjLZlwAOVE7bHizF77kiGj7T/mL4nSgWZIHSYEVnDNru7wd2Tk0xCQtmKEqLq2yNhAV6fT06YO8DOqwxcE96bEQDqHxeqGtkXSTOUQbXgWGMWxds/Pc4+wsRzhw7Qb7/wI7oEtMY1ccvGrMTUQy1ufjdsIN+iY+oi63QWr/wKY5hOzA7PJmEaULLM7HGeKa2rUhP8zH9Xge7QpiOF09AJm+cVgyLwb443bxSln+eu1gIWvEHkGb1Sx4kKrB1LxEc+Lr3IUANZMLSFGz/rL8a6vTjVQBKrIN9O/wmPb0wKYMQzdl+pPYNxtVtYVG0tT+FpgN8ktGRxxn69vRHTDG8biQjtKb6ZH00R+z4WLMdFKVcd8YAIRELy1JbgXHP7TaNYfTI0YDeh6vajBMgvgsegmOMi/iU+a5KsNOR+TZLpvl5UGAQaZt5aiSYkvMziWj57ziRx8EBLgM4QymT9bLTSSJ29S/hqTjueeiTrT3jV3jmgqhA6tnuQbHZBPyWWyK59A45jB926pE8WU8VYqotpq3B3QVCU6dFA7kWofCyoeIEm16Ez2QpPwfZkuR+9DLFLytYj8RUAw3PH5nhVqXXymAJoQ6WxbksofQXQbbFP81JIDDGc0u6jBU9LrsUwLexZvaZ7A9TGLdoMY42cjupATeN3aPygqOeXl1i1PxJ5RO/ar9DiPXirZoseztwgEJyZY02yO+k6EDhx+Wsc49HgOw5xY/SEW0dt4UrBecQkZO/0pBbhonQT07p4XUVbIGCM7unbOh8OQatBgcwxpTpN7sDsVTq9/nXH2YuGL94D4NvqS9eZHZKQ9fr92P+QVCecgS4a1sKVsHo2wqNs70D0am00tCmtvM4v1zcvVPGPVM5rXXulhT49XlOZJ9cPLfOpiuwasix2OBCduABy19D/VoftsJpZkWjbxl1/rIHisLNMbD7ZUfO/Sm79g0txx4MqS+GQDnQNlzEJjUL9tGiZEQFyGX190ZGi+JQXWDx1HYc4I2Q6MS3ULDU5B5n2QDNXydhNXugx6xebZLhUBMQky87CyUe5LYZDSZZr56t3UdYfoVih0OaJvK/p1XnVz5qkvlXIRJdEJYc8/Cd2Na9rXg8mAeQbBa1q9o1lvR3VoWQPfIuFf9WRIq7as68E6RVbIvE3KYnJGZYDigkpAbmPNxRaH4svX48HYKYWZpRAXg6i/00MDCZlGstlspWCSkUPiEhw+RHCHG5cMHrDxGzAlBBav4eiVcTJB0HPskmuhI208E3q9PG45iLu9exaoyiOtEfsrkMjOlkJtFyOPnRIFJIUAIuRD7s9fDrLA4z5QosBD+8R3++XO1Cvb0MmjYy6Muhkj794tVoOGoh3MGGTcyHh+WJUWlwBdyRPRFfIY"
}
],
"KeyMaterial": {
"cryptoAlg": "ECDH",
"curve": "Curve25519",
"params": "None",
"DHPublicKey": {
"expiry": "2024-05-10T18:29:24.838Z",
"Parameters": "None",
"KeyValue": "-----BEGIN PUBLIC KEY-----MIIBMTCB6gYHKoZIzj0CATCB3gIBATArBgcqhkjOPQEBAiB/////////////////////////////////////////7TBEBCAqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqYSRShRAQge0Je0Je0Je0Je0Je0Je0Je0Je0Je0Je0JgtenHcQyGQEQQQqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq0kWiCuGaG4oIa04B7dLHdI0UySPU1+bXxhsinpxaJ+ztPZAiAQAAAAAAAAAAAAAAAAAAAAFN753qL3nNZYEmMaXPXT7QIBCANCAAQhZyUnHx0W3GtbtP0j+c9vVr5+LJIqm7usd8eS8COqm2hd/PSnqe0kqKrXOY3UrfaGgBfgpK6CW/TwrtFODV7R-----END PUBLIC KEY-----"
},
"Nonce": "fQOZ2qAptqq8kR0AVQ2d31PCs80V5JXxiHztW9UjBV0="
}
}
]
}