Domain Object Specification
Metadata
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
version | String | Min Length : 1 Max Length: 6 | Yes | Version of the API being used. NPCI may host multiple versions for supporting gradual migration. As of this specification, default production version is "1.0". |
timestamp | ISODateTime YYYY-MM-DDThh:mm:ssZ+/-hh:mm (eg 1997-07-16T19:20:30+05:30) where; YYYY = four-digit year MM = two-digit month (01=January, etc.) DD = two-digit day of month (01 through 31) hh = two digits of hour (00 through 23) (am/pm NOT allowed) mm = two digits of minute (00 through 59) ss = two digits of second (00 through 59) Z +/- hh:mm = time zone designator (Z) followed by time zone difference from GMT in hours and minutes. THIS IS OPTIONAL. If not provided, it is assumed to be IST (+5.30) | Min Length : 1 Max Length : 255 | Yes | Time of request from the creator of the message. API request time stamp. Since timestamp plays a critical role, it is highly recommended that devices are time synchronized with a time server. |
traceId | Alphanumeric | Length : 35 | Yes | Message identifier-used to correlate between the request and response. The unique identifier created by the originator of the message and will be used to correlate the response with the original request |
orgId | Alphanumeric | Min Length : 1 Max Length : 35 | Yes | Unique identifier for the organization in the ecosystem. In case of LSPs it will LSP id, for lenders it will be the FIUid and so on |
Sample json
{
"version": "1.0",
"orgId": "LSP123",
"timestamp": "2018-12-06T11:39:57.153Z",
"traceId": "e8cc6822bd4bbb4eb1b9e1b4996fbff8acb"
}
Response
This object is used to capture errors.
Key | Type | Validations | Mandatory | Descrioption |
---|---|---|---|---|
error | String | Length : 35 | Yes | Errors in the current request received.If no errors are found, error = 0. For example, if a mandatory attribute is missing, error code should capture that |
LoanApplication
Key | Type | Validations | Description |
---|---|---|---|
createdDate | ISODateTime | Time when the loan application was created | |
loanApplicationId | Alphanumeric | Length : 35 | UUID for the loan application. Generated by LSP |
offers | Array Offer | Offers given by lender for a the loan application | |
type | CASHFLOW | PERSONAL | HOME | VEHICLE | BUSINESS | ENUM | Expandable Enum. Captures the type of loan. Will be Cash Flow for invoice based loans. |
borrower | Borrower | Details of the Borrower | |
collaterals | Array Collateral | Details of the instruments against which the user wishes to take loan. If no data is there to be sent, an empty array block can be passed. | |
guarantors | Array Guarantors | List of guarantors that the borrowers have for the loan. If no data is there to be sent, an empty array block can be passed. | |
applicants | Array Applicant | List of applicants for the loan. If no data is there to be sent, an empty array block can be passed | |
terms | LoanTerms | Terms of loan agreement | |
description | String | Max Length : 1000 | A short description of the loan application |
url | String | Max Length: 1000 | For any new data that needs to be passed as a link |
extensibleData | JSON | For any new data that needs to be added |
Borrower
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
primaryIdType | PAN | MOBILE | AADHAAR | ENUM | Yes | Identifier Type for the borrower |
primaryId | Alphanumeric | Length : 35 | Yes | Borrower unique identifier for the identifier type above |
secondaryId | Alphanumeric | No | ||
category | ORGANIZATION | INDIVIDUAL | ENUM | Yes | Category of the Borrower |
name | String | Max Length : 50 | No | Name of the borrower |
contactDetails | Array ContactDetails | Yes | ContactDetails for the borrower. If no data is there to be sent, an empty array block can be passed. | |
additionalIdentifiers | Array AdditionalIdentifier | No | Additional identifier details for the borrower | |
platformData | Array PlatformData | No | ||
documents | Array Document | Yes | Additional documents related to the borrower. If no data is there to be sent, an empty array block can be passed. | |
url | String | Max Length : 1000 | No | |
extensibleData | JSON | No | For any new data that needs to be added |
For Bhim for Lending case: GST TaxPayer Profile will be pulled from Search Tax payer API. The schema for GSTN profile can be found in the Search Tax Payer API published in https://developer.gst.gov.in/apiportal/common/others
Sample json
{
"primaryId": "CPAA1234A",
"primaryIdType": "PAN",
"additionalIdentifiers": [],
"name": "John doe",
"category": "ORGANIZATION",
"contactDetails": [
{
"type": "PRIMARY",
"phone": "7777777777",
"email": "johndoe@defenterprises",
"address": {
"co": "<care of>",
"hba": "<House/Building/Apartment>",
"srl": "<Street/Road/Lane>",
"landmark": "",
"als": "<Area/Locality/Sector>",
"vtc": "<Village/Town/City>",
"pincode": "",
"po": "",
"district": "",
"state": "",
"country": "",
"uri": "<digital address>",
"latitude": "",
"longitude": ""
}
}
],
"documents": []
}
Applicant
Key | Type | Validation | Mandatory | Description |
---|---|---|---|---|
primaryIdType | PAN | MOBILE | AADHAAR | ENUM | Yes | Identifier Type for the Applicant |
primaryId | Alphanumeric | Length : 35 | Yes | Applicant unique identifier for the identifier type above |
category | ORGANIZATION | INDIVIDUAL | ENUM | No | Category of the Applicant |
name | String | Max Length : 50 | No | Name of the Applicant |
relationshipWithBorrower | String | Max Length : 50 | No | Relationship of the applicant with Borrower |
contactDetails | Array ContactDetails | No | ContactDetails for the Applicant If no data is there to be sent, an empty array block can be passed. | |
additionalIdentifiers | Array AdditionalIdentifier | No | Additional identifier details for the Applicant | |
documents | Array Document | No | Additional documents related to the Applicant. If no data is there to be sent, an empty array block can be passed. | |
url | String | No | For any new data that needs to be passed as a link | |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"primaryId": "<PAN NO.>",
"primaryIdType": "PAN | <SOME VALID REGISTRY>",
"additionalIdentifiers": [
{
"key": "",
"value": ""
}
],
"name": "",
"category": "ORGANISATION | INDIVIDUAL",
"relationshipWithBorrower": "",
"contactDetails": [
{
"type": "PRIMARY | OTHER",
"phone": "",
"email": "",
"address": {
"hba": "<House/Building/Apartment>",
"srl": "<Street/Road/Lane>",
"landmark": "",
"als": "<Area/Locality/Sector>",
"vtc": "<Village/Town/City>",
"pincode": "",
"po": "",
"district": "",
"state": "",
"country": "",
"uri": "<digital address>",
"latitude": "",
"longitude": ""
}
}
],
"documents": [
{
"format": "PDF/EXCEL/PNG/JSON",
"reference": "3c986a71-15c2-46a3-bf20-810ed203e06d",
"source": "FIP | USER ",
"sourceIdentifier": "",
"type": "PAN | AADHAAR | DRIVING_LICENSE | PASSPORT",
"isDataInline": "true/false",
"data": "<Base64 encoded data>"
}
]
}
Lender
Key | Type | Validity | Mandatory | Description |
---|---|---|---|---|
primaryIdType | PAN | MOBILE | AADHAAR | FIU | ENUM | Yes | Identifier Type for the lender |
primaryId | Alphanumeric | Min Length : 1 Max Length : 20 | Yes | Lender unique identifier for the identifier type above |
category | ORGANIZATION | INDIVIDUAL | ENUM | Yes | Category of the Lender |
name | Alphanumeric | Max Length : 50 | Yes | Name of the lender |
additionalIdentifiers | Array AdditionalIdentifier | No | Additional identifier details for the lender. If no data is there to be sent, an empty array block can be passed. | |
contactDetails | Array ContactDetails | Yes | ContactDetails for the lender. If no data is there to be sent, an empty array block can be passed. | |
documents | Array Document | Yes | Additional documents related to the lender. If no data is there to be sent, an empty array block can be passed. | |
url | String | Max length : 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"primaryId": "AWWPA7645M",
"primaryIdType": "PAN",
"additionalIdentifiers": [],
"name": "ABC Bank",
"category": "ORGANIZATION",
"contactDetails": [
{
"co": "<care of>",
"type": "PRIMARY",
"phone": "8888888888",
"email": "abc@abcbank",
"address": {
"hba": "<House/Building/Apartment>",
"srl": "<Street/Road/Lane>",
"landmark": "",
"als": "<Area/Locality/Sector>",
"vtc": "<Village/Town/City>",
"pincode": "",
"po": "",
"district": "",
"state": "",
"country": "",
"uri": "<digital address>",
"latitude": "",
"longitude": ""
}
}
],
"documents": []
}
ContactDetails
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
type | PRIMARY | OTHER | ENUM | Yes | Type of Contact. Whether primary or others. |
description | String | Max Length : 1000 | No | Description of the contact detail |
phone | String | Min Length :10 Max Length : 15 | Yes | Phone number |
String | Min Length : 3 Max Length : 50 | No | Email address | |
address | Address | No | Address | |
url | String | No | For any new data that needs to be passed as a link | |
extensibleData | JSON | No | For any new data that needs to be added |
Sample Json
{
"type": "PRIMARY",
"phone": "7777777777",
"email": "johndoe@defenterprises",
"address": {
"co": "<Care of>",
"hba": "<House/Building/Apartment>",
"srl": "<Street/Road/Lane>",
"landmark": "",
"als": "<Area/Locality/Sector>",
"vtc": "<Village/Town/City>",
"pincode": "",
"po": "",
"district": "",
"state": "",
"country": "",
"uri": "<digital address>",
"latitude": "",
"longitude": ""
}
}
AdditionalIdentifier
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
key | Alphanumeric | Min Length : 1 Max Length: 50 | Yes | Additional key related to the entity. |
value | Alphanumeric | Min Length : 1 Max Length: 50 | Yes | Value for the key in the context of the entity |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"key": "123488888888",
"value": "AADHAAR"
}
Address
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
co | String | Max Length : 100 | No | Care of. |
hba | String | Max Length : 255 | Yes | House/Building/Apartment |
srl | String | Max Length : 99 | Yes | Street/Road/Lane |
landmark | String | Max Length : 50 | No | Landmark |
als | String | Max Length : 50 | No | Area/Locality/Sector |
vtc | String | Max Length : 50 | No | Village/Town/City |
pinCode | String | Max Length : 10 | Yes | Pin Code |
po | String | Max Length : 10 | No | Post Office |
district | String | Max Length : 50 | No | District |
state | String | Max Length : 50 | Yes | State |
country | String | Max Length : 50 | Yes | Country |
latitude | String | Max Length : 50 | No | Latitude of the address |
longitude | String | Max Length : 50 | No | Longitude of the address |
url | String | Max Length : 1000 | No | Digital url for the address |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"hba": "<House/Building/Apartment>",
"srl": "<Street/Road/Lane>",
"landmark": "",
"als": "<Area/Locality/Sector>",
"vtc": "<Village/Town/City>",
"pinCode": "",
"po": "",
"district": "",
"state": "",
"country": "",
"url": "<digital address>",
"latitude": "",
"longitude": ""
}
Document
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
source | AA | FIP | FIU | FSR | USER | GSTN | ENUM | Yes | Source system from where data is coming. Source can be from AA ecosystem or from USER |
sourceIdentifier | Alphanumeric | Min Length : 1 Max Length : 35 | Yes | If source is in AA ecosystem, sourceIdentifier is the identifier in central registry. In case of User, it will be his unique identifier |
format | DOC | IMAGE | CSV | JSON | XML | ENUM | Yes | Format of the data in documents |
reference | String (UUID) | Length : 35 | Yes | Unique identifier for a document which can be used by other objects for referencing a document. In case where isDataInline is false, reference number can be used to hit an external api to get the data. |
type | GSTN_B2B_INVOICE | GSTN_PROFILE | PAN | AADHAAR | DRIVING_LICENSE | PASSPORT | OTHER | ENUM | Yes | Expandable enum. Includes fiTypes in AA ecosystem and any additional type of documents that can be added to the system later |
isDataInline | Boolean | Yes | Indicates whether the data is actually present in the document block. If Yes, data field contains base 64 encoded version of the data. | |
data | String | Min Length : 1 | Yes | Base64 encoded string |
Sample json including GSTN data about Borrower
{
"source": "GSTN",
"sourceIdentifier": "GSTN",
"format": "JSON",
"reference": "docref12",
"type": "GST_PROFILE",
"isDataInline": true,
"data": "eyJzdGpDZCI6IkFQMDAzIiwibGdubSI6Ik1TIENPUlBPUkFUSU9OIiwic3RqIjoiQkNQIEtPRElLT05EQSIsImR0eSI6IlJlZ3VsYXIiLCJjeGR0IjoiIiwiZ3N0aW4iOiIwNUFCTlRZMzI5MFA4WkEiLCJuYmEiOlsiQm9uZGVkIFdhcmVob3VzZSIsIkVPVSAvIFNUUCAvIEVIVFAiLCJGYWN0b3J5IC8gTWFudWZhY3R1cmluZyIsIklucHV0IFNlcnZpY2UgRGlzdHJpYnV0b3IgKElTRCkiLCJMZWFzaW5nIEJ1c2luZXNzIl0sImxzdHVwZHQiOiIwNS8wMS8yMDE3IiwicmdkdCI6IjA1LzA1LzIwMTciLCJjdGIiOiJGb3JlaWduIExMUCIsInN0cyI6IlByb3Zpc2lvbmFsIiwiY3RqQ2QiOiJBUDAwNCIsImN0aiI6IkJDUCBUSFVNTUFLVU5UQSIsInRyYWRlTmFtIjoiQUxUT04gUExBU1RJQyBQUklWQVRFIExURCIsImFkYWRyIjpbeyJhZGRyIjp7ImJubSI6IkVMUEhJTlNUT05FIEJVSUxESU5HIiwic3QiOiIxMCwgVkVFUiBOQVJJTUFOIFJPQUQiLCJsb2MiOiJGT1JUIiwiYm5vIjoiMTAiLCJzdGNkIjoiUmFqYXN0aGFuIiwiZmxubyI6IjFTVCBGTE9PUiIsImx0IjoiNzQuMjE3OSIsImxnIjoiMjcuMDIzOCIsInBuY2QiOiI0MDAwMDEifSwibnRyIjpbIldob2xlc2FsZSBCdXNpbmVzcyJdfV0sInByYWRyIjp7ImFkZHIiOnsiYm5tIjoiS0FUR0FSQSBIT1VTRSIsInN0IjoiMTUsIEwgSkFHTU9IQU5EQVMgTUFSRyIsImxvYyI6Ik1BTEFCQVIgSElMTCIsImJubyI6IjUiLCJzdGNkIjoiTWFoYXJhc2h0cmEiLCJmbG5vIjoiNFRIIEZMT09SIiwibHQiOiI3NC4yMTc5IiwibGciOiIyNy4wMjM4IiwicG5jZCI6IjQwMDAwNiJ9LCJudHIiOlsiV2hvbGVzYWxlIEJ1c2luZXNzIl19fQ"
}
The schema for GSTN profile can be found in the Search Tax Payer API published in https://developer.gst.gov.in/apiportal/common/others
Collateral
This block describes the credit instruments that you are using to raise a loan request. In Invoice financing, this block will capture invoices. For taking a loan against a house, this will have home registration document details.
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
collateralPrimaryId | Alphanumeric | Length : 35 | Yes | Primary Identifier for the collateral. Generated as collateralPrimaryIdType_collaetralPrimaryId |
collateralPrimaryIdType | GST_INVOICE | VIN | | ENUM | Yes | Expandable ENUM. Type of collateral source. Will be Invoice in case of invoice based lending, vehicle identification number (VIN) for vehicle as collateral |
description | String | Max Length : 1000 | No | Description of the collateral |
type | GST_INVOICE | VEHICLE | HOME | Yes | Type of collateral. | |
additionalIdentifiers | Array AdditionalIdentifier | Yes | Additional identifier for the collateral. If no data is there to be sent, an empty array block can be passed. | |
valuation | Valuation | No | Valuation details of the collateral including value, source etc | |
parties | Array Party | Yes | Parties involved in the collateral. In case of home loan agreement, this can hold details of current owner and previous owner. If no data is there to be sent, an empty array block can be passed. | |
documents | Array Document | Yes | Additional documents related to the collateral. If no data is there to be sent, an empty array block can be passed. | |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"collateralPrimaryId": "INVOICE_<GSTIN>_<INVOICENUM>",
"collateralPrimaryIdType": "GST_INVOICE | VIN <SOME VALID REGISTRY>",
"additionalIdentifiers": [
{
"key": "",
"value": ""
}
],
"valuation": {
"value": "",
"currency": "",
"date": "",
"source": "GSTN"
},
"parties": [
{
"primaryId": "<PAN NO.>",
"primaryIdType": "PAN | <SOME VALID REGISTRY>",
"additionalIdentifiers": [
{
"key": "",
"value": ""
}
],
"name": "",
"category": "ORGANISATION | INDIVIDUAL",
"relationshipWithCollateral": "",
"contactDetails": [
{
"type": "PRIMARY | OTHER",
"phone": "",
"email": "",
"address": {
"hba": "<House/Building/Apartment>",
"srl": "<Street/Road/Lane>",
"landmark": "",
"als": "<Area/Locality/Sector>",
"vtc": "<Village/Town/City>",
"pincode": "",
"po": "",
"district": "",
"state": "",
"country": "",
"uri": "<digital address>",
"latitude": "",
"longitude": ""
}
}
],
"documents": [
{
"format": "JSON",
"reference": "3c986a71-15c2-46a3-bf20-810ed203e06d",
"source": "FIP | USER ",
"sourceIdentifier": "",
"type": "",
"isDataInline": true,
"data": "<Base64 encoded data>"
}
]
}
],
"type": "GST_INVOICE",
"documents": [
{
"format": "JSON",
"reference": "3c986a71-15c2-46a3-bf20-810ed203e06d",
"source": "GSTN",
"sourceIdentifier": "GSTN",
"type": "GSTN_B2B_INVOICE",
"isDataInline": true,
"data": "eyJjdGluIjoiMDFBQUJDRTIyMDdSMVo1IiwiY2ZzIjoiWSIsImludiI6W3siY2hrc3VtIjoiQkJVSUJVSVVJSktLQkpLR1VZRlRGR1VZIiwidXBkYnkiOiJTIiwiaW51bSI6IlMwMDg0MDAiLCJpZHQiOiIyNC0xMS0yMDE2IiwidmFsIjo3MjkyNDguMTYsInBvcyI6IjA2IiwicmNocmciOiJOIiwiZXRpbiI6IjAxQUFCQ0U1NTA3UjFaNCIsImludl90eXAiOiJSIiwiY2ZsYWciOiJOIiwiZGlmZl9wZXJjZW50IjowLjY1LCJvcGQiOiIyMDE2LTEyIiwiaXRtcyI6W3sibnVtIjoxLCJpdG1fZGV0Ijp7InJ0Ijo1LCJ0eHZhbCI6MTAwMDAsImlhbXQiOjMyNSwiY2FtdCI6MCwic2FtdCI6MCwiY3NhbXQiOjEwfX1dfV19"
}
]
}
The schema for GSTN invoice can be found in the ANX1-GetB2B API published in https://developer.gst.gov.in/apiportal/taxpayer/newreturns .
However, for the first phase, we might actually be using the old returns api - GSTR1 - Get B2B Invoices. The documents.data field on decoding gives the B2B invoices return.
Cred Block
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
type | OTP | ENUM | Yes | Type of credential used for verification |
data | OTPBlock | Yes | Credential details specific to the the type | |
extensibleData | JSON | No | For any new data that needs to be added |
OTPBlock
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
appToken | String | Max Length : 100 | No | Acknowledgement block indicating the receipt and status of request |
otpSessionKey | String | Length : 35 | No | otpSession created for verifying the OTP sent by the borrower |
maskedPhoneNumber | String | Max Length : 15 | No | Phone number linked to the disbursement account obtained from the AA bank account statements |
url | String | Max Length : 1000 | No | |
extensibleData | JSON | No | Pair of key values of adding custom fields | |
otp | Numeric | Length : 6 | No | One time numeric password generated by lender sent to the registered mobile number of the disbursement account holder |
status | INVALID_SESSION | INCORRECT_OTP | SUCCESS | Yes | Field captures the status of verify OTP |
LoanDetail
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
loanId | Alphanumeric | Length : 35 | Yes | UUID for loan. Created by lender |
terms | LoanTerms | Yes | Terms of the loan |
Valuation
Key | Type | Validation | Mandatory | Description |
---|---|---|---|---|
value | String | Max Length : 20 | No | Value of the collateral. In case of invoice this can have the invoice value. 2 digits precision |
description | String | Max Length : 1000 | No | Description of the valuation |
date | Date | Max Length : 20 | No | Date when the valuation of collateral was done |
currency | CurrencyType | Max Length : 20 | No | Currency |
source | GSTN | OTHERS | ENUM | No | Expandable ENUM. Source of the valuation. |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"value": "20000",
"currency": "INR",
"date": "2018-12-06",
"source": "GSTN"
}
Party
Key | Type | Validations | Mandatory | Description |
---|---|---|---|---|
primaryIdType | PAN | MOBILE | AADHAAR | FIU | ENUM | Yes | Identifier Type for the party |
primaryId | Alphanumeric | Min Length : 1 Max Length : 20 | Yes | Party unique identifier for the identifier type above |
description | String | Max Length: 1000 | No | Description of the party |
category | ORGANIZATION | INDIVIDUAL | ENUM | Yes | Category of the party |
name | Alphanumeric | Max Length : 50 | Yes | Name of the party |
relationshipWithCollateral | Alphanumeric | Max Length : 50 | Yes | Association with collateral. In case of invoice the 2 parties involved would be the buyer and seller |
additionalIdentifiers | Array AdditionalIdentifier | No | Additional identifier details for the party. If no data is there to be sent, an empty array block can be passed. | |
contactDetails | Array ContactDetails | Yes | ContactDetails for the party. If no data is there to be sent, an empty array block can be passed. | |
documents | Array Document | Yes | Additional documents related to the party. If no data is there to be sent, an empty array block can be passed. | |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample Json
{
"primaryId": "<PAN NO.>",
"primaryIdType": "PAN",
"additionalIdentifiers": [
{
"key": "",
"value": ""
}
],
"name": "",
"category": "INDIVIDUAL",
"relationshipWithCollateral": "",
"contactDetails": [
{
"type": "PRIMARY",
"phone": "",
"email": "",
"address": {
"hba": "<House/Building/Apartment>",
"srl": "<Street/Road/Lane>",
"landmark": "",
"als": "<Area/Locality/Sector>",
"vtc": "<Village/Town/City>",
"pincode": "",
"po": "",
"district": "",
"state": "",
"country": "",
"uri": "<digital address>",
"latitude": "",
"longitude": ""
}
}
],
"documents": [
{
"format": “PNG",
"reference": "3c986a71-15c2-46a3-bf20-810ed203e06d",
"source": "USER",
"sourceIdentifier": "USER",
"type": "PAN",
"isDataInline": true,
"data": "<Base64 encoded data>"
}
]
}
Charges
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
prepayment | ChargeDetails | No | Details of the charges levied for prepayment of loan | |
bounce | ChargeDetails | No | Details of the charges levied when a repayment attempt by the borrower is not honored by bank. Eg: failure of a mandate execution | |
latePayment | ChargeDetails | No | Details of the charges levied when the borrower makes a late payment | |
processing | ChargeDetails | No | Processing fees charged by the lender |
SampleJson
{
"prepayment": {
"chargeType": "RATE_BASED",
"data": {
"rate": "6",
"applicableParameter": "TOTAL_LOAN_AMOUNT"
}
},
"bounce": {
"chargeType": "FIXED_AMOUNT",
"data": {
"amount": "3000.00"
}
},
"latePayment": {
"chargeType": "FIXED_AMOUNT",
"data": {
"amount": "3000.00"
}
},
"processing": {
"chargeType": "FIXED_AMOUNT",
"data": {
"amount": "3000.00"
}
}
}
ChargeDetails
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
chargeType | FIXED_AMOUNT | RATE_BASED | ENUM | Yes | This field indicates whether the penalty is fixed or varies |
data | Json | Yes | This object captures the details of the charges | |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
The fields that can come inside data Json are the below.
rate | String | Max Length : 10 | No | Annualized Rate of interest charged as penalty. 2 digits precision. Applicable only when type= RATE_BASED |
amount | String | Max Length : 20 | No | Fixed penalty charged |
description | String | Max Length : 500 | No | A brief description of how the penalty charges will be applied |
url | String | Max Length : 1000 | No | A link to the lender’s page explaining the calculation of penalty |
applicableParameter | TOTAL_LOAN_AMOUNT | OUTSTANDING_PAYABLE_AMOUNT| EMI | PREPAYMENT_PRINCIPAL | ENUM | No | The parameter on which rate is applied to arrive at the rate based charge. For example : If rate is 6% and applicable parameter is TOTAL_LOAN_AMOUNT, penalty = 0.06*TOTAL_LOAN_AMOUNT |
Sample JSON
{
"chargeType": "RATE_BASE,
"data": {
"rate": "6",
"applicableParameter": "TOTAL_LOAN_AMOUNT"
}
}
LoanTerms
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
requestedAmount | String | Min Length : 1 Max Length : 20 | Yes | Amount . 2 digits precision |
description | String | Max Length : 1000 | No | Description of the loan terms |
currency | CurrencyType | Min Length : 1 Max Length : 20 | Yes | Currency |
sanctionedAmount | String | Min Length : 1 MaxLength : 20 | No | Loan Amount Approved by lender |
interestType | FIXED | FLOATING | Max Length : 20 | No | Flag indicating if the interest rate is fixed or floating |
interestRate | String | Max Length : 20 | No | Interest Rate for the loan. 2 digits precision |
interestAmount | String | Max Length : 20 | No | Interest Amount for the duration specified in tenure |
totalAmount | String | Max Length : 20 | No | Total amount for repaymen |
tenure | LoanTenure | No | Tenure details of the loan | |
legalAgreement | Loan Agreement | No | Loan agreement | |
documents | Array Document | No | Additional documents regarding the loan terms | |
charges | Charges | No | Penalties levied for issues with repayments | |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample JSON
{
"requestedAmount": "50000.00",
"currency": "INR",
"sanctionedAmount": "5000.00",
"interestType": "FIXED",
"interestRate": "6.50",
"tenure": {
"duration": "3",
"unit": "MONTH"
},
"legalAgreement": {
"type": "TEXT",
"data": "<Base64 Encoded Data>"
},
"documents": [],
"charges": {
"prepayment": {
"type": "RATE_BASED",
"rate": "6.00",
"applicableParameter": "TOTAL_LOAN_AMOUNT"
},
"bounce": {
"type": "FIXED_AMOUNT",
"amount": "3000.00"
},
"latePayment": {
"type": "FIXED_AMOUNT",
"amount": "3000.00"
},
"processing": {
"type": "FIXED_AMOUNT",
"amount": "3000.00"
}
}
}
LoanAgreement
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
type | TEXT | URL | ENUM | Yes | Indicates whether the agreement is shared directly as text or needs to be fetched from a url |
data | String | Min Length : 1 | Yes | Base64 encoded string. If type = text, this field will have the loan agreement in base 64 encoded format. If type = url, this field will have base 64 encoded url from where doc can be fetched. |
CreditScoreType
Key | type | Validation | Mandatory | Description |
---|---|---|---|---|
value | String | Min Length : 1 Max Length : 20 | Yes | Credit score given for the borrower by the LSP. 0-900 range |
source | LSP | PLATFORMS | ENUM | Yes | Source of the credit score. Can be LSP in case of FLDG. If it is not FLDG we still want to send credit score. (Maybe swiggy wants to send the score) |
sourceIdentifier | String | Min Length : 1 Max Length : 35 | Yes | Identifier of the source. Eg. SWIGGY for Restaurants |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"value": "800",
"sourceType": "LSP",
"source": "SWIGGY"
}
Guarantor
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
primaryIdType | PAN | MOBILE | AADHAAR | ENUM | Yes | Identifier Type for the guarantor |
primaryId | Alphanumeric | Length : 35 | Yes | guarantor unique identifier for the identifier type above |
description | String | Max Length : 1000 | No | Description of the guarantor and his involvement in the loan |
category | ORGANIZATION | INDIVIDUAL | ENUM | Yes | Category of the guarantor |
name | String | Max Length : 50 | No | Name of the guarantor |
relationshipWithBorrower | String | Max Length : 50 | No | Relationship with the borrower |
contactDetails | Array ContactDetails | Yes | ContactDetails for the guarantor. If no data is there to be sent, an empty array block can be passed. | |
additionalIdentifiers | Array AdditionalIdentifier | No | Additional identifier details for the guarantor | |
documents | Array Document | Yes | Additional documents related to the guarantor. If no data is there to be sent, an empty array block can be passed. | |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"primaryId": "CPAA1234A",
"primaryIdType": "PAN",
"additionalIdentifiers": [],
"name": "John doe",
"relationshipWithBorrower": "Father",
"category": "ORGANIZATION",
"contactDetails": [
{
"type": "PRIMARY",
"phone": "7777777777",
"email": "johndoe@defenterprises",
"address": {
"co": "<care of>",
"hba": "<House/Building/Apartment>",
"srl": "<Street/Road/Lane>",
"landmark": "",
"als": "<Area/Locality/Sector>",
"vtc": "<Village/Town/City>",
"pincode": "",
"po": "",
"district": "",
"state": "",
"country": "",
"uri": "<digital address>",
"latitude": "",
"longitude": ""
}
}
],
"documents": []
}
RejectionDetail
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
reason | FRAUD | DOC_IRREGULARITIES | LOW_CREDIT_SCORE | OTHERS | ENUM | Yes | Reason why the lender has decided not to make a loan offer to the borrower |
description | String | Min length : 1 Max Length : 1000 | Yes | Detailed description of the reason for rejection |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"reason": "LOW_CREDIT_SCORE",
"description": "Credit score below 600"
}
Reference
This object is used when a reference needs to be made to another object that is sent as part of the request / response. For example, when the lender sends an Action Required block, it might refer to a document in the documents section
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
object | String | Min Length : 1 Max Length : 20 | Yes | Name of the object in the request/reference to which the reference is made |
value | String | Min Length : 1 Max Length : 35 | Yes | Reference number within the referred object |
Sample json
{
"object": "documents",
"value": "INVOICE_GSTN_INV2011"
}
ActionRequired
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
actionType | ADD_DOCUMENT | RESUBMIT_DOCUMENT | OTHER | ENUM | Yes | Type of action expected from the borrower |
description | String | Min Length : 1 Max Length : 99 | Yes | Detailed description of the expected action |
reference | Reference | No | Reference to any documents uploaded as part of the loan request indicating the document where action is required | |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"actionType": "ADD_DOCUMENT",
"description": "DL number not visible",
"reference": {
"object": "documents",
"value": ""
}
}
Ack
Standard response block obtained for an Asynchronous API call.
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
error | String | Min Length : 1 Max Length : 35 | Yes | Errors in the current request received.If no errors are found, error = 0. For example, if a mandatory attribute is missing, error code should capture that |
traceId | Alphanumeric | Min Length : 1 Max Length : 35 | Yes | Message identifier-used to correlate between the request and response. The unique identifier created by the originator of the message and will be used to correlate the response with the original request |
timestamp | ISODateTime YYYY-MM-DDThh:mm:ssZ+/-hh:mm (eg 1997-07-16T19:20:30+05:30) where; YYYY = four-digit year MM = two-digit month (01=January, etc.) DD = two-digit day of month (01 through 31) hh = two digits of hour (00 through 23) (am/pm NOT allowed) mm = two digits of minute (00 through 59) ss = two digits of second (00 through 59) Z +/- hh:mm = time zone designator (Z) followed by time zone difference from GMT in hours and minutes. THIS IS OPTIONAL. If not provided, it is assumed to be IST (+5.30) | Min Length : 1 Max Length : 255 | Yes | Time of request from the creator of the message. API request time stamp. Since timestamp plays a critical role, it is highly recommended that devices are time synchronized with a time server. |
Sample json
{
"error": "0",
"traceId": "e8cc6822-d4bb-4eb1-9e1b-4996fbff8acb",
"timestamp": "2018-12-06T11:39:57.153Z"
}
Offer
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
id | Alphanumeric | Min Length : 1 Max Length : 35 | Yes | Unique identifier for the offer in the lending system |
description | String | Max Length : 1000 | No | A short description of the offer. |
validTill | ISODateTime | Min Length : 1 Max Length : 255 | Yes | Time till which the offer from the lender is available |
terms | LoanTerms | Yes | Details about the terms of the loan offer | |
disbursement | Disbursement | Yes | Details about the disbursement provided by lender. | |
repayment | Repayment | Yes | Details about the repayment plans provided by lender. | |
documents | Array Document | No | Any other additional documents provided by the lender as part of the offer. If no data is there to be sent, an empty array block can be passed. | |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a linkFor any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"id": "e8cc6822bd4bbb4eb1b9e1b4996fbff8acb",
"validTill": "2018-12-06T00:00:00.000Z",
"terms": {
"requestedAmount": "50000.00",
"currency": "INR",
"sanctionedAmount": "50000.00",
"interestType": "FIXED",
"interestRate": "6.00",
"tenure": {
"duration": "3",
"unit": "MONTH"
},
"legalAgreement": {
"type": "TEXT",
"data": "<Base64 Encoded Data>"
},
"charges": {
"prepayment": {
"chargeType": "RATE_BASED",
"data": {
"rate": "6.00",
"applicableParameter": "TOTAL_LOAN_AMOUNT"
}
},
"bounce": {
"chargeType": "FIXED_AMOUNT",
"data": {
"amount": "3000.00"
}
},
"latePayment": {
"chargeType": "FIXED_AMOUNT",
"data": {
"amount": "3000.00"
}
},
"processing": {
"chargeType": "FIXED_AMOUNT",
"data": {
"amount": "3000.00"
}
}
}
},
"disbursement": {
"plans": [
{
"id": "e8cc6822bd4bbb4eb1b9e1b4996fbff8acb",
"autoDisbursement": false,
"scheduleType": "ONE_TIME",
"amount": "10000.00"
}
],
"accountDetails": {
"accountDataType": "ACCOUNT",
"data": {
"accountType": "CURRENT",
"maskedAccountNumber": "XXXXXXXXX9090"
}
}
},
"repayment": {
"plans": [
{
"id": "e8cc6822bd4bbb4eb1b9e1b4996fbff8acb",
"autoRepayment": "Y",
"scheduleType": "ONE_TIME",
"amount": "10000.00"
}
],
"methods": [
{
"type": "EMANDATE_UPI",
"data": {
"refNumber": "",
"amount": "50000.00",
"amountType": "MAX",
"activeFrom": "2020-01-01",
"expiryDate": "",
"destinationAccount": {
"accountDataType": "ACCOUNT",
"data": {
"accountType": "CURRENT",
"accountIFSC": "IKCC0009",
"maskedAccountNumber": "XXXXXXXX9090",
"accountNumber": "1112090999090"
}
},
"sourceAccount": {
"accountDataType": "VPA",
"data": {
"accountType": "CURRENT",
"accountIFSC": "IKCC0009",
"maskedAccountNumber": "XXXXXXXX9090",
"accountNumber": "1112090999090"
}
}
}
}
]
}
}
ChosenRepayment
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
plan | PaymentPlan | Yes | Repayment plan chosen by borrower for the loan | |
method | PaymentMethod | No | Current Repayment Method set by the borrower |
PaymentPlan
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
id | Alphanumeric | Min Length : 1 Max Length : 35 | Yes | Unique id for the repayment plan in the lender system |
title | String | Max Length : 100 | No | Title for the repayment plan |
shortDescription | String | Max Length : 100 | No | Short description for the repayment plan |
description | String | Max Length : 2000 | No | Detailed description of the payment plan |
paymentUrl | String | Max Length : 1000 | No | Url of the payment page provided by the lender |
automatic | Boolean | Min Length : 1 Max Length : 1 | Yes | Flag indicating whether payment is automatic or user initiated |
payNowAllowed | Boolean | No | Flag indicates if the borrower can make an immediate payment with this repayment plan | |
editPlanAllowed | Boolean | No | This flag indicates if the configurations of the current repayment plan can be changed by the borrower | |
changeMethodAllowed | changeMethodAllowed | No | This field indicates if the borrower can choose a different payment method for the plan | |
scheduleType | ONE_TIME | RECURRING | AS_PRESENTED | ENUM | Yes | Type of schedule - can be one time, as_presented or recurring |
frequency | WEEKLY | MONTHLY | QUARTERLY | HALF YEARLY | YEARLY | ENUM | No | In case of a recurring payment, this field indicates how often the payment is disbursed |
noOfInstallments | Alphanumeric | Max Length : 10 | Yes | Number of installments for the chosen repayment plan. Will be 1 for ONE TIME schedule type |
tenure | LoanTenure | No | Tenure associated with the repayment plan. This value will be less than or equal to the tenure in loan terms. | |
principal | Alphanumeric | Max Length : 20 | No | Principal. Upto 2 digits precision |
interestAmount | Alphanumeric | Max Length : 20 | No | Interest component for the duration specified in plan. Upto 2 digits precision |
penalty | penalty | Max Length : 20 | No | Penalty component for the duration specified in loan. Upto 2 digits precision |
startDate | Date | No | The first date on which the borrower chooses to make payment/wishes to get the disbursement credited. | |
status | ACTIVE | INACTIVE | PENDING_AUTH | ENUM | No | Flag indicating if the plan is active or inactive |
totalAmount | String | Min Length : 1 Max Length : 20 | Yes | Amount to be repaid as per the payment plan. 2 digits precision |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample Json
{
"id": "e8cc6822bd4bbb4eb1b9e1b4996fbff8acb",
"automatic": false,
"scheduleType": "RECURRING",
"frequency": "MONTHLY",
"tenure": {
"duration": "1",
"unit": "MONTH"
},
"totalAmount": "5000.00"
}
LoanTenure
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
duration | String | Min length : 1 Max Length : 10 | Yes | Duration of the loan amount |
unit | DAY | MONTH | YEAR | ENUM | Yes | Unit in which the loan duration is mentioned |
{
"duration": "1",
"unit": "MONTH"
}
LoanTermsHistory
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
interest | String | Min Length : 1 Max Length : 10 | Yes | Loan interest rate as on the effective date. 2 digits precision |
tenure | tenure | Min Length : 1 MaxLength : 20 | Yes | Tenure of the loan amount as on the effective date |
effectiveDate | Date | Min Length : 1 Max Length : 10 | Yes | Date on which the interest and tenure is effective |
Sample Json
{
"interest": "18",
"tenure": {
"duration": "1",
"unit": "MONTH"
},
"effectiveDate": "2020-01-01"
}
Repayment
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
plans | Array PaymentPlan | Yes | Repayment plans provided by lender for the loan |
Disbursement
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
plans | Array PaymentPlan | Yes | Disbursement plans provided by lender for the loan | |
accountDetails | Array AccountDetails | No | Account where the amount will be disbursed by the lender. |
ChosenDisbursement
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
plan | PaymentPlan | Yes | Disbursement plans selected for the loan | |
accountDetails | AccountDetails | No | Account where the amount will be disbursed by the lender. |
Payment
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
id | Alphanumeric | Length : 35 | Length : 35 | UUID for the payment request. Generated by LSP |
description | String | Length : 500 | Length : 500 | A short description of the payment |
date | Timestamp | Min Length : 1 Max Length : 20 | No | Date and time when the payment transaction is done |
principal | String | Min Length : 1 Max Length : 20 | No | Principal paid by the borrower. 2 digits precision |
interestAmount | String | Min Length : 1 Max Length : 20 | No | Interest paid by the borrower. 2 digits precision |
fee | String | Min Length : 1 Max Length : 20 | No | Fees paid by the borrower. 2 digits precision |
penalty | String | Min Length : 1 Max Length : 20 | No | Penalty paid by the borrower. 2 digits precision |
totalAmount | String | Min Length : 1 Max Length : 20 | No | Total amount paid by borrower. 2 digit precision |
installmentNumber | String | Max Length : 10 | No | The installment which is being currently paid |
status | SUCCESS | FAILURE | PROCESSING | PENDING_AUTH | ENUM | No | Status of the repayment |
useSavedPaymentOption | Boolean | No | Indicates whether the payment needs be made with the savedPaymentOption. Incase where it is a disbursement, this flag being set disburses amount to the pre-selected account. In case of repayment, this flag being set causes repayment using already set payment method | |
paymentMethodType | EMANDATE_UPI | NETBANKING | UPI | ENACH | DEBIT_CARD | CREDIT_LINE | No | Payment method used for the transaction. To be populated when payment is done | |
paymentUrl | String | Max Length : 1000 | No | Url for the payment page |
txnRefNo | String | Min Length : 1 Max Length : 100 | No | Receipt no of the transactions |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample Json
{
"totalAmount": "5000.00",
"date": "2020-10-10",
"status": "SUCCESS",
"installmentNumber": "1",
"txnRefNo": "004618602124",
"paymentId": "e8cc6822bd4bbb4eb1b9e1b4996fbff8acb"
}
Transaction
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
date | Timestamp | Yes | Time when the transaction is carried out | |
narration | String | Max Length : 200 | Yes | Narration as it appears in the bank statement |
txnRefNo | String | Max Length : 20 | Yes | Reference number for the transaction |
amount | Alphanumeric | Max Length : 20 | Yes | Transaction Amount. Upto 2 digits precision |
type | DEPOSIT | WITHDRAWAL | ENUM | Yes | DEPOSIT for repayment transactions and WITHDRAWAL for disbursement transactions |
closingBalance | Alphanumeric | Alphanumeric | Yes | Closing balance in the account after the transaction |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample json
{
"date": "25-01-2020",
"narration": "Repayment of Loan no : xxxxxxx9090",
"txnRefNo": "004618602124",
"amount": "50000.00",
"type": "DEPOSIT",
"closingBalance": "50000.00"
}
Dispute
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
id | Alphanumeric | Max Length : 35 | No | UUID for dispute. Generated by lender |
description | String | Min Length : 1 Max Length : 256 | No | Detailed description of the complaint code raised by borrower |
url | String | Max Length: 1000 | No | Lender url where dispute details can be seen / updated |
status | NEW | PROCESSING | NEEDMORE INFO | RESOLVED | CLOSED | ENUM | No | Current status of the dispute |
extensibleData | JSON | No | For any new data that needs to be added |
AccountDetails
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
id | Alphanumeric | Max Length : 35 | No | Unique id. Mandatory if object is coming from lender |
description | String | Max Length : 1000 | No | Description of the account |
status | ACTIVE | INACTIVE | ENUM | No | This field captures the status of whether the account has been linked to a loan or not |
accountDataType | ACCOUNT | VPA | ENUM | Yes | This suggests what kind of data is expected for account details in the data object |
data | AccountDetailsData | Yes | Account details specific to the accountDataType | |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
AccountDetailsData
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
accountType | CURRENT | SAVINGS | OVERDRAFT | ENUM | No | Type of the account |
accountIFSC | String | Max Length : 20 | No | IFSC code of the account |
accountNumber | String | Max Length : 20 | No | Account Number |
vpa | String | Max Length : 50 | No | Virtual Payment Address |
maskedAccountNumber | String | No | Masked account details |
Sample Json
{
"accountType": "CURRENT",
"maskedAccountNumber": "XXXXXXXXX9090"
}
PaymentMethod
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
id | Alphanumeric | Length : 35 | Yes | Unique id created in the lender system for the repaymentMethod. |
description | String | Max Length : 1000 | No | Description of the payment method. |
type | EMANDATE_UPI | ELIEN | ENACH | ANY | ENUM | No | Type of repayment method chosen |
isActive | Boolean | Yes | Is the loan/credit line active for payment? TRUE, if Active | |
data | Json | No | Parameters for the repayment method which varies based on type. | |
status | INACTIVE, ACTIVE, CANCELLED, PAUSED | ENUM | Yes | Status of the repaymentMethod in the lender system |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
For type = EMANDATE_UPI , data object will have the structure of Mandate Domain Object.
Consent
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
vua | String | Min Length : 3 Max Length : 50 | No | Customer unique identifier created by the AA. Example : user@onemoney. |
description | String | Max Length : 1000 | No | Description of the consent |
lspInfo | LSPInfo | No | This information is supposed to be passed to AA so that they can write custom logic for handling the consent | |
consentFetchType | PERIODIC | ONETIME | ENUM | No | Periodicity for the consent data fetch |
isAggregationEnabled | Boolean | No | Flag indicating whether the consents need to be aggregated | |
consentAggregationId | Alphanumeric | Ids are of length 35 each | No | This is an id generated by LSP which is passed on to AA to tell the AA how to aggregate all the consent requests from all the lenders. |
consentHandle | String | Length : 36 | No | Consent handles created by the AA for the lender’s request. This field will be filled when status is PENDING |
consentStatus | READY | PENDING | FAILED | ENUM | No | Status of the consent |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
LspInfo
Key | type | Validations | Mandatory | Description |
---|---|---|---|---|
lspId | String | Length: 35 | Yes | Unique identifier for the lsp in the ecosystem |
version | version | Length: 35 | Yes | Version of the lsp |
appName | String | Length: 35 | Yes | Yes |
url | String | Max Length: 1000 | No | For any new data that needs to be passed as a link |
extensibleData | JSON | No | For any new data that needs to be added |
Sample Json
"lspInfo": {
"lspId": "<AA can identify the LSP based on this>",
"version": "<version of LSP>",
"appName": "<Package name of the app>"
}
Updated about 3 years ago