clientId | string |
clientSecret | string |
grantType | string |
{- "clientId": "<your client_id>",
- "clientSecret": "<your client_secret>",
- "grantType": "client_credentials"
}
{- "accessToken": "<your long token string>",
- "tokenType": "Bearer",
- "expiresOn": "2023-12-15T17:38:30.0860591+00:00"
}
Policy:
Roles:
AuthenticationSchemes:
) accountTokenId | string The accountTokenId for the retrieve accounts request |
customerId | string The customerId for the retrieve accounts request |
merchantId | integer <int32> Default: 0 The merchantId associated with the account record |
updateBalance | boolean Default: false If set to true, the service will attempt to retrieve the latest balance on the account |
using System; using System.Net.Http; using System.Threading.Tasks; public class Program { public static async Task Main(string[] args) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", "Bearer <YOUR_JWT_HERE>"); var request = await client.GetAsync("https://sandbox.ribbit.ai/v4/accounts?accountTokenId=string&customerId=string&merchantId=0&updateBalance=false"); var response = await request.Content.ReadAsStringAsync(); Console.WriteLine(response); } } }
{- "accountResults": [
- {
- "accountToken": "6AC35788-83AA-489C-82CC-96F9D5B2C043",
- "merchantId": 0,
- "customerId": "A72F817B-744F-4D1F-B347-71E026D0B181",
- "accountType": "Checking",
- "accountOwners": [
- {
- "phoneNumber": "(555) 555-1212",
- "accountOwnerNames": [
- {
- "name": "John M Doe"
}, - {
- "name": "Jane D Doe"
}
], - "accountOwnerAddresses": [
- {
- "addressLine1": "123 Anywhere St",
- "addressLine2": "Apt 4",
- "city": "Hamilton",
- "state": "OH",
- "zip": "45011"
}
]
}
], - "accountHolderName": "John M Doe",
- "accountNickname": "Johns Free Checking Account x4234",
- "accountStatus": "Open",
- "last4Digits": "4234",
- "enrollmentType": "Bank Linking Enrollment",
- "enrollmentReferenceId": "154793",
- "institution": "Chase",
- "lastPresentBalance": 1400,
- "lastAvailableBalance": 1220,
- "lastUpdated": "2023-12-15T16:38:29.7604344Z"
}
]
}
```int sum = (RT[0] x 3) + (RT[1] x 7) + RT[2] + (RT[3] x 3) + (RT[4] x 7) + RT[5] + (RT[6] x 3) + (RT[7] x 7) + RT[8];If you submit a routing number that does not pass the above algorithm, you will receive a 400 - Bad Request error
if (sum % 10 == 0) return true; else return false;```
Policy:
Roles:
AuthenticationSchemes:
) AccountPostBatchRequest object
Array of objects (AccountRequest) The list of AccountRequest objects for the posting batch. |
{- "accountRequests": [
- {
- "bankName": null,
- "accountToken": null,
- "customerId": "2a7ef626-a52d-47c6-bff6-12557c822d85",
- "accountTypeId": 1,
- "accountHolderName": "John Doe",
- "routingNumber": "042000314",
- "accountNumber": "0123456",
- "addressId": null,
- "phoneId": null,
- "accountNickname": "Johns Free Checking x3456",
- "enrollmentTypeId": 5,
- "enrollmentReferenceId": null,
- "bankEnrollmentAccountId": 0,
- "inquiryId": null,
- "inquiryType": null
}, - {
- "bankName": null,
- "accountToken": null,
- "customerId": "ba64e913-41f5-464c-a3fd-982fd63641fc",
- "accountTypeId": 1,
- "accountHolderName": "John Doe 2",
- "routingNumber": "042000314",
- "accountNumber": "0123457",
- "addressId": null,
- "phoneId": null,
- "accountNickname": "Johns Free Checking x3456",
- "enrollmentTypeId": 5,
- "enrollmentReferenceId": null,
- "bankEnrollmentAccountId": 0,
- "inquiryId": null,
- "inquiryType": null
}
]
}
{- "accountBatchResponses": [
- {
- "actionType": "addAccount",
- "accountToken": "6AC35788-83AA-489C-82CC-96F9D5B2C043",
- "isSuccess": true,
- "error": null
}
], - "accountResults": [
- {
- "accountToken": "6AC35788-83AA-489C-82CC-96F9D5B2C043",
- "merchantId": 0,
- "customerId": "A72F817B-744F-4D1F-B347-71E026D0B181",
- "accountType": "Checking",
- "accountOwners": [
- {
- "phoneNumber": "(555) 555-1212",
- "accountOwnerNames": [
- {
- "name": "John M Doe"
}, - {
- "name": "Jane D Doe"
}
], - "accountOwnerAddresses": [
- {
- "addressLine1": "123 Anywhere St",
- "addressLine2": "Apt 4",
- "city": "Hamilton",
- "state": "OH",
- "zip": "45011"
}
]
}
], - "accountHolderName": "John M Doe",
- "accountNickname": "Johns Free Checking Account x4234",
- "accountStatus": "Open",
- "last4Digits": "4234",
- "enrollmentType": "Bank Linking Enrollment",
- "enrollmentReferenceId": "154793",
- "institution": "Chase",
- "lastPresentBalance": 1400,
- "lastAvailableBalance": 1220,
- "lastUpdated": "2023-12-15T16:38:29.7989469Z"
}
]
}
Policy:
Roles:
AuthenticationSchemes:
) accountTokenIdList | Array of strings The list of accountTokenIds associated with accounts to delete. (either generated when the account was initially provided, or provided by you) |
using System; using System.Net.Http; using System.Threading.Tasks; public class Program { public static async Task Main(string[] args) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", "Bearer <YOUR_JWT_HERE>"); var request = await client.DeleteAsync("https://sandbox.ribbit.ai/v4/accounts?accountTokenIdList=string"); var response = await request.Content.ReadAsStringAsync(); Console.WriteLine(response); } } }
{- "accountBatchResponses": [
- {
- "actionType": "addAccount",
- "accountToken": "6AC35788-83AA-489C-82CC-96F9D5B2C043",
- "isSuccess": true,
- "error": null
}
]
}
This procedure returns all customers (with applicable parameters) that the user has permission to access
Policy:
Roles:
AuthenticationSchemes:
) customerId | string customerId parameter |
addressId | string addressId parameter (customer Id must also be supplied) |
phoneId | string phoneId parameter (customer Id must also be supplied) |
using System; using System.Net.Http; using System.Threading.Tasks; public class Program { public static async Task Main(string[] args) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", "Bearer <YOUR_JWT_HERE>"); var request = await client.GetAsync("https://sandbox.ribbit.ai/v4/customers?customerId=string&addressId=string&phoneId=string"); var response = await request.Content.ReadAsStringAsync(); Console.WriteLine(response); } } }
[- {
- "responseCode": 0,
- "customerId": "A72F817B-744F-4D1F-B347-71E026D0B181",
- "namePrefix": "Mr.",
- "firstName": "John",
- "middleName": "M",
- "lastName": "Doe",
- "nameSuffix": "Jr.",
- "emailAddressResults": [
- {
- "emailAddressType": "Personal",
- "emailAddress": "jdoe@gmail.com",
- "isDefaultEmail": true
}, - {
- "emailAddressType": "Business",
- "emailAddress": "john.doe@followthefrog.com",
- "isDefaultEmail": false
}
], - "taxId": "123121234",
- "dateOfBirth": "1986-04-03T00:00:00",
- "idNumber": "RS141521",
- "idState": "OH",
- "ipAddress": "99.122.161.122",
- "customerAddressResults": [
- {
- "addressId": 15002,
- "addressType": "Shipping",
- "addressTypeId": null,
- "addressLine1": "5166 College Corner Pike",
- "city": "Oxford",
- "state": "OH",
- "zip": "45056",
- "countryId": 1,
- "isDefaultAddress": true
}
], - "customerPhoneResults": [
- {
- "phoneId": 10088,
- "phoneType": "Cell",
- "phoneNumber": "5135242320",
- "isDefaultPhoneNumber": true
}
]
}, - {
- "responseCode": 0,
- "customerId": "7B5BEDD3-D8A0-4E7C-B5B1-E6DDDF306411",
- "namePrefix": "Ms.",
- "firstName": "Jane",
- "middleName": "M",
- "lastName": "Doe",
- "emailAddressResults": [
- {
- "emailAddressType": "Personal",
- "emailAddress": "jd1987@gmail.com",
- "isDefaultEmail": true
}
], - "taxId": "245479513",
- "dateOfBirth": "1987-10-18T00:00:00",
- "idNumber": "RS141241",
- "idState": "OH",
- "ipAddress": "102.114.141.142",
- "customerAddressResults": [
- {
- "addressId": 25487,
- "addressType": "Shipping",
- "addressTypeId": null,
- "addressLine1": "123 Anywhere St.",
- "city": "Hamilton",
- "state": "OH",
- "zip": "45011",
- "countryId": 1,
- "isDefaultAddress": true
}
], - "customerPhoneResults": [
- {
- "phoneId": 21247,
- "phoneType": "Cell",
- "phoneNumber": "5135241947",
- "isDefaultPhoneNumber": true
}
]
}
]
Policy:
Roles:
AuthenticationSchemes:
) customerPostBatchRequest Object
Array of objects (CustomerRequest) Nullable The list of customerRequests in the post batch. |
{- "customerRequests": [
- {
- "customerId": null,
- "merchantId": null,
- "namePrefix": "Mr.",
- "firstName": "John",
- "middleName": "M",
- "lastName": "Doe",
- "nameSuffix": "Jr.",
- "name2Prefix": null,
- "firstName2": null,
- "middleName2": null,
- "lastName2": null,
- "name2Suffix": null,
- "businessName": null,
- "email": {
- "emailAddressTypeId": 1,
- "emailAddress": "jdoe@gmail.com",
- "isDefaultEmail": true
}, - "password": null,
- "taxId": "123121234",
- "dateOfBirth": "1986-04-03T00:00:00",
- "idNumber": "RS141521",
- "idState": "OH",
- "ipAddress": "99.122.161.122",
- "customerAddress": {
- "addressTypeId": 2,
- "addressLine1": "5166 College Corner Pike",
- "city": "Oxford",
- "state": "OH",
- "zip": "45056",
- "countryId": 1,
- "isDefaultAddress": true
}, - "customerPhoneNumber": {
- "phoneTypeId": 1,
- "phoneNumber": "5135242320",
- "isDefaultPhoneNumber": true
}
}
]
}
{- "customerBatchResponses": [
- {
- "actionType": "addCustomer",
- "id": "A72F817B-744F-4D1F-B347-71E026D0B181",
- "isSuccess": true,
- "error": null
}
], - "customerResults": [
- {
- "responseCode": 0,
- "customerId": "A72F817B-744F-4D1F-B347-71E026D0B181",
- "entityType": "Consumer",
- "namePrefix": "Mr.",
- "firstName": "John",
- "middleName": "M",
- "lastName": "Doe",
- "nameSuffix": "Jr.",
- "emailAddressResults": [
- {
- "emailAddressType": "Personal",
- "emailAddress": "jdoe@gmail.com",
- "isDefaultEmail": true
}, - {
- "emailAddressType": "Business",
- "emailAddress": "john.doe@followthefrog.com",
- "isDefaultEmail": false
}
], - "taxId": "123121234",
- "dateOfBirth": "1986-04-03T00:00:00",
- "idNumber": "RS141521",
- "idState": "OH",
- "ipAddress": "192.168.1.1",
- "customerAddressResults": [
- {
- "addressId": 15002,
- "addressType": "Shipping",
- "addressTypeId": "2",
- "addressLine1": "5166 College Corner Pike",
- "city": "Oxford",
- "state": "OH",
- "zip": "45056",
- "countryId": 1,
- "isDefaultAddress": true
}
], - "customerPhoneResults": [
- {
- "phoneId": 10088,
- "phoneType": "Cell",
- "phoneNumber": "5135242320",
- "isDefaultPhoneNumber": true
}
]
}
]
}
Policy:
Roles:
AuthenticationSchemes:
) customerIdList | Array of strings List of all customerIds to remove. |
addressIdList | Array of strings List of all addressIds to remove. Passed in list as customerid_addressId combo keys |
phoneIdList | Array of strings List of all phoneIds to remove. Passed in list as customerid_phoneId combo keys |
using System; using System.Net.Http; using System.Threading.Tasks; public class Program { public static async Task Main(string[] args) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", "Bearer <YOUR_JWT_HERE>"); var request = await client.DeleteAsync("https://sandbox.ribbit.ai/v4/customers?customerIdList=string&addressIdList=string&phoneIdList=string"); var response = await request.Content.ReadAsStringAsync(); Console.WriteLine(response); } } }
{- "customerBatchResponses": [
- {
- "actionType": "addCustomer",
- "id": "A72F817B-744F-4D1F-B347-71E026D0B181",
- "isSuccess": true,
- "error": null
}
]
}
This endpoint creates a new CONNECT session. It is required to be called every time before a CONNECT session is launched. This endpoint does not require an Authorization header. Supply the CONNECT ClientId and ClientSecret (different from your API credentials) in the body.
When a CONNECT session is created, you can do a few different things with it
To launch CONNECT within your app or website
To send your customer a text/e-mail with a link
To give your customer a URL to access CONNECT
For integration details, please see https://test.RIBBIT.ai/CONNECT
Policy:
Roles:
AuthenticationSchemes:
) A CONNECT request object that contains your CONNECT token, customer PII, and startup options
object (TokenRequest) | |
object (CONNECTWidgetTokenRequestCustomer) | |
object (CONNECTWidgetTokenRequestTerms) | |
object (CONNECTWidgetTokenRequestSettings) | |
notificationType | integer <int32> (WidgetRequestNotificationType) Enum: 0 1 2 |
{- "token": {
- "clientId": "CONNECT Client Id (not API credentials)",
- "clientSecret": "CONNECT Client Secret",
- "grantType": "client_credentials"
}, - "customer": {
- "customerId": "Customer or Application ID from your system",
- "firstName": "FirstName",
- "middleName": null,
- "lastName": "LastName",
- "businessName": null,
- "emailAddress": "Customer Email Address",
- "phoneNumber": "10 digit US Phone ONLY",
- "address": {
- "addressTypeId": 3,
- "addressLine1": "Full Address",
- "addressLine2": null,
- "city": "City",
- "state": "Two character abbreviation",
- "zip": "5 digit string"
}
}, - "terms": {
- "loanTerms": "monthly_oblig, weekly_oblig, biweekly_oblig, or daily_oblic",
- "fullAmount": 1000,
- "amount": 100,
- "transactionAmount": 100
}, - "settings": {
- "bankId": null,
- "transactionHistoryDays": null,
- "webhookURL": "Your server URL to receive events (optional)"
}, - "notificationType": 0
}
{- "sessionToken": "12345678-ABCD-ABCD-ABCD-123456789012",
- "customerId": "12345678-ABCD-ABCD-ABCD-123456789012",
- "expiration": "2023-01-01T00:59:59"
}
The client has 24 hours to retrieve an account from our bank linking process. The enrollment token is required in order to retrieve the account information.
Policy:
Roles:
AuthenticationSchemes:
) accountTokenId required | string The accountTokenId of the account registered to ValidiFI. |
using System; using System.Net.Http; using System.Threading.Tasks; public class Program { public static async Task Main(string[] args) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", "Bearer <YOUR_JWT_HERE>"); var AccountTokenId = "YOUR_accountTokenId_PARAMETER"; var request = await client.GetAsync("https://sandbox.ribbit.ai/v4/accounts/" + AccountTokenId + "/export"); var response = await request.Content.ReadAsStringAsync(); Console.WriteLine(response); } } }
{- "institutionName": "Fifth Third Bank",
- "accountType": "Checking",
- "accountHolderName": "John M Doe",
- "routingNumber": "042000314",
- "accountNumber": "1234567",
- "accountNickname": "Johns Free Checking Account x4234",
- "lastAvailableBalance": 1220,
- "lastCurrentBalance": 1220
}
The client has 24 hours to retrieve an account from our bank linking process. The enrollment token is required in order to retrieve the account information. This specific endpoint (exportraw) includes a rawAccountNumber field that returns the account number as we received it from the bank.
Policy:
Roles:
AuthenticationSchemes:
) accountTokenId required | string The accountTokenId of the account registered to ValidiFI. |
using System; using System.Net.Http; using System.Threading.Tasks; public class Program { public static async Task Main(string[] args) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", "Bearer <YOUR_JWT_HERE>"); var AccountTokenId = "YOUR_accountTokenId_PARAMETER"; var request = await client.GetAsync("https://sandbox.ribbit.ai/v4/accounts/" + AccountTokenId + "/exportraw"); var response = await request.Content.ReadAsStringAsync(); Console.WriteLine(response); } } }
{- "institutionName": "Fifth Third Bank",
- "accountType": "Checking",
- "accountHolderName": "John M Doe",
- "routingNumber": "042000314",
- "accountNumber": "1234567",
- "accountNickname": "Johns Free Checking Account x4234",
- "lastAvailableBalance": 1220,
- "lastCurrentBalance": 1220
}
Policy:
Roles:
AuthenticationSchemes:
) accountTokenId required | string The account token (either generated when the account was initially created, or provided by you) |
accountToken required | string |
startDateTime | string <date-time> Custom date range start date time. |
endDateTime | string <date-time> Customer date range end date time. |
using System; using System.Net.Http; using System.Threading.Tasks; public class Program { public static async Task Main(string[] args) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", "Bearer <YOUR_JWT_HERE>"); var AccountTokenId = "YOUR_accountTokenId_PARAMETER"; var AccountToken = "YOUR_accountToken_PARAMETER"; var request = await client.GetAsync("https://sandbox.ribbit.ai/v4/connect/transactions/" + AccountToken + "?startDateTime=2019-08-24T14%3A15%3A22Z&endDateTime=2019-08-24T14%3A15%3A22Z"); var response = await request.Content.ReadAsStringAsync(); Console.WriteLine(response); } } }
{- "userId": "5823BD01-13F6-4D1C-99F2-33B0F3607216",
- "tokenId": "9279BC87-0A9C-4152-8DCD-4F30D7735FF3",
- "syncStatus": "Synced",
- "syncInstructions": "Next step instructions",
- "challenges": [
- {
- "mfaChallengeId": 0,
- "bankLinkId": 123,
- "mfaChallengeType": "Question",
- "question": "What is the name of your fisrt pet?",
- "image": {
- "html": "<img Src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAAPBAMAAAA/nc+kAAAAHl>",
- "source": "<img Src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAAPBAMAAAA/nc+kAAAAHl>"
}, - "expiresOn": "0001-01-01T00:00:00.0001996"
}
]
}
Policy:
Roles:
AuthenticationSchemes:
) Insights request object
productId | integer <int32> [ 1 .. 3 ] This value must be 1 for BankQUALIFY, 2 for BankVERIFY+, or 3 for BankLOGIN+ |
referenceId | string Provide the unique application or customer id from your system. |
inquiryId | string ValidiFI's InquiryId |
object (InsightAccount) | |
offerAmount | number <double> The total amount of the loan, the offer amount for a credit product, or the maximum amount of spending allowed. If you do not have a total amount at this time, use an estimate or average. When being used at the top of an underwriting waterfall, the median amount is recommended. |
terms | string The terms of the repayment schedule. Available options are daily_oblig, weekly_oblig, biweekly_oblig, or monthly_oblig. |
paymentAmount | number <double> The amount of each payment, or the median payment/spending amount. |
refresh | boolean Defualt value is set to false. |
object (InsightsConsumer) | |
object (InsightsBusiness) | |
object (InsightsBLP) |
{- "productId": 1,
- "referenceId": "A72F817B-744F-4D1F-B347-71E026D0B181",
- "inquiryId": null,
- "account": {
- "routingNumber": "642260020",
- "accountNumber": "000000000012"
}, - "offerAmount": 6000,
- "terms": "daily_oblig",
- "paymentAmount": 500,
- "refresh": false,
- "consumer": {
- "firstName": "John",
- "middleName": null,
- "lastName": "Smith",
- "phone": "4565865555",
- "email": "jsmith@noemail.com",
- "address": {
- "address": "678 Fake Street",
- "city": "Oxford",
- "state": "OH",
- "zip": "45056"
}, - "annualIncome": 45000,
- "employerName": "Frog Store",
- "payCheckFrequency": "Twice Per Month",
- "avgPaycheckAmount": 1875
}, - "business": null,
- "blp": null
}
{- "inquiryId": "8f49a5ea-529c-4d36-87f8-dc4dbc53c75f",
- "inquiryDate": "2023-12-15T16:38:30.2377351Z",
- "status": {
- "statusCode": 1,
- "status": "Success",
- "errors": null
}, - "bqAccountAnalyticsResult": {
- "result": "true",
- "bqActionableIntelligence": {
- "bqBankStabilityIndex": 10,
- "bqTransactionStability": "1-stable",
- "bqRiskStability": "2-neutral",
- "bqOwnershipStability": "1-stable"
}, - "attributes": {
- "bqattr1": 2,
- "bqattr2": 1032,
- "bqattr3": 0,
- "bqattr4": 1,
- "bqattr5": 0,
- "bqattr6": null,
- "bqattr7": 1,
- "bqattr8": 2,
- "bqattr9": 473,
- "bqattr10": 753,
- "bqattr11": 1,
- "bqattr12": 1,
- "bqattr13": 2,
- "bqattr14": 1,
- "bqattr15": 1,
- "bqattr16": null,
- "bqattr17": null,
- "bqattr18": null,
- "bqattr19": null,
- "bqattr20": null,
- "bqattr21": null,
- "bqattr22": null,
- "bqattr23": null,
- "bqattr24": null,
- "bqattr25": null,
- "bqattr26": null,
- "bqattr27": null,
- "bqattr28": null,
- "bqattr29": null,
- "bqattr30": null,
- "bqattr31": null
}
}
}
Policy:
Roles:
AuthenticationSchemes:
) productId required | integer <int32> The productId from the INSIGHTS request |
inquiryId required | string The id of the inquiry id returned from the INSIGHTS request |
using System; using System.Net.Http; using System.Threading.Tasks; public class Program { public static async Task Main(string[] args) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", "Bearer <YOUR_JWT_HERE>"); var ProductId = "YOUR_productId_PARAMETER"; var InquiryId = "YOUR_inquiryId_PARAMETER"; var request = await client.GetAsync("https://sandbox.ribbit.ai/v4/INSIGHTS/" + ProductId + "/" + InquiryId); var response = await request.Content.ReadAsStringAsync(); Console.WriteLine(response); } } }
{- "inquiryId": "e3874349-2f51-4221-a277-1e88e4c28c10",
- "inquiryDate": "2023-12-15T16:38:30.2500179Z",
- "status": {
- "statusCode": 1,
- "status": "Success",
- "errors": null
}, - "bqAccountAnalyticsResult": {
- "result": "true",
- "bqActionableIntelligence": {
- "bqBankStabilityIndex": 10,
- "bqTransactionStability": "1-stable",
- "bqRiskStability": "2-neutral",
- "bqOwnershipStability": "1-stable"
}, - "attributes": {
- "bqattr1": 2,
- "bqattr2": 1032,
- "bqattr3": 0,
- "bqattr4": 1,
- "bqattr5": 0,
- "bqattr6": null,
- "bqattr7": 1,
- "bqattr8": 2,
- "bqattr9": 473,
- "bqattr10": 753,
- "bqattr11": 1,
- "bqattr12": 1,
- "bqattr13": 2,
- "bqattr14": 1,
- "bqattr15": 1,
- "bqattr16": null,
- "bqattr17": null,
- "bqattr18": null,
- "bqattr19": null,
- "bqattr20": null,
- "bqattr21": null,
- "bqattr22": null,
- "bqattr23": null,
- "bqattr24": null,
- "bqattr25": null,
- "bqattr26": null,
- "bqattr27": null,
- "bqattr28": null,
- "bqattr29": null,
- "bqattr30": null,
- "bqattr31": null
}
}
}
The AffordAI Affordability Report is an easy-to-read presentation of BankLOGIN+ insights results. With AffordAI, your users will get instant access to identity and account verification, cash flow trends, affordability recommendations and transaction histories—all in a single PDF document.
Click here for the AffordAI integration guide, sample reports, and an operations reference guide.
errorCode | description |
---|---|
1 | Fatal: blpInquiryId could not be found in the request body |
2 | Fatal: blpInquiryId was not in the correct format |
3 | Fatal: This blpInquiryId does not exist or you are not authorized to access this request |
4 | Fatal: This blpInquiryId is not supported. AffordAI requires BankLOGIN+ 2.0 or above |
5 | Fatal: This blpInquiryId was not a successful BankLOGIN+ inquiry |
6 | Fatal: Could not connect to BankLOGIN+ |
7 | Caution: Limited data available |
8 | Caution: blpInquiryId was found but ReferenceId does not match |
9 | Fatal: Could not connect to Microsoft Power BI |
10 | Fatal: Microsoft Power BI did not recognize the requested report |
11 | Fatal: Microsoft Power BI failed to return the requested report |
12 | Caution: Microsoft Power BI was successful but took longer than expected |
13 | Fatal: Could not parse this blpInquiryId |
15 | Fatal: Database error |
To simulate a given error, include the optional simulate integer field in the request body. For instance, the following request will return an HTTP 400 response with status.statusCode = 3 and status.errors[0].errorCode = 13.
```{ "blpInquiryId": "9ff19261-a380-4a37-807e-e40002060f7c", "referenceId": "A72F817B-744F-4D1F-B347-71E026D0B181", "simulate": 13 }```
To simulate a full success with no errors (statusCode 1), enter “simulate”: 0. The response fields will mimic a live report pull but does not return a full base64 string, making it a much faster option for network or endpoint testing than the non-simulated option.
Policy:
Roles:
AuthenticationSchemes:
) blpInquiryId required | string non-empty The InquiryId from a BankLOGIN+ result |
referenceId | string <= 100 characters The ID of the customer in your system. If this ReferenceId does not match with the CustomerId specified in the BankLOGIN+ inquiry, the CustomerId in the BankLOGIN+ inquiry is used instead. |
simulate | integer <int32> Nullable Enables the simulation of AffordAI error codes |
{- "blpInquiryId": "9ff19261-a380-4a37-807e-e40002060f7c",
- "referenceId": "A72F817B-744F-4D1F-B347-71E026D0B181"
}
{- "reportId": "64B65EDA-0A61-407A-B83F-EE1D5E991B70",
- "referenceId": "A72F817B-744F-4D1F-B347-71E026D0B181",
- "status": {
- "statusCode": 1,
- "status": "Success",
- "errors": null
}, - "fileData": {
- "fileExtension": "PDF",
- "reportName": "AffordAI_A72F817B-744F-4D1F-B347-71E026D0B181_2022-07-14",
- "report": "JVBERi0xLjcNCjIgMCBvYmoN...."
}
}