-
Notifications
You must be signed in to change notification settings - Fork 5
/
openapi.yaml
198 lines (198 loc) · 13.3 KB
/
openapi.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
openapi: 3.0.3
info:
title: RIBBIT API v4
description: >-
ValidiFI, an analytics and technology company, connects bank account and
payment insights to help companies in a variety of industries provide more
confident, trustworthy and transparent transactions. Our differentiated
data, sourced directly from banks, payment processors, and financial
platforms helps companies to ensure compliance, mitigate risk, combat fraud,
and confidently validate bank account and ownership. For more information,
visit ValidiFI.com.
version: 1.0.0
contact: {}
x-api-status-urls: false
servers:
- url: https://{{domain}}
tags:
- name: CONNECT
- name: Token
- name: Insights
- name: Reports
paths:
/v4/token:
post:
tags:
- Token
summary: OAuth 2.0 Token
operationId: Token_create
description: OAuth 2.0 Token
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TokenCreateRequest'
examples:
OAuth 2.0 Token:
value:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
responses:
'200':
description: ''
/v4/HealthCheck:
get:
tags:
- Token
summary: Health Check
operationId: Token_checkHealth
description: Health Check
requestBody:
content:
text/plain:
examples:
Health Check:
value: ''
schema:
description: >-
WARNING: Missing schema in media type object. Missing schema has
been filled with this AnyType schema.
responses:
'200':
description: ''
/v4/Insights:
post:
tags:
- Insights
summary: BankQUALIFY
operationId: Insights_submitLoanApplication
security:
- {}
description: BankQUALIFY
requestBody:
content:
application/json:
examples:
BankLOGIN+:
value: "// BankLOGIN+ request when using bank transaction data from a third-party aggregator.\r\n// To use BankLOGIN+ with our bank login solution, please see https://test.RIBBIT.ai/CONNECT\r\n\r\n{\r\n // Product ID: 1: BankQUALIFY, 2: BankVERIFY+, 3: BankLOGIN+\r\n \"productId\": 3,\r\n\r\n // Reference ID: Your reference ID\r\n \"referenceId\": null,\r\n\r\n // Inquiry ID: Used when a previous Insights product was ran and you are getting more info (ex. You have ran BankQUALIFY, and would now like BankVERIFY+ Insights on the same data\r\n \"inquiryId\": null,\r\n\r\n // Consumer PII\r\n \"consumer\": {\r\n \"firstName\": \"John\",\r\n \"middleName\": null,\r\n \"lastName\": \"Doe\",\r\n \"phone\": \"5135242320\",\r\n \"email\": \"test@RIBBIT.ai\",\r\n \"address\": {\r\n \"address\": \"5166 College Corner Pike\",\r\n \"city\": \"Oxford\",\r\n \"state\": \"OH\",\r\n \"zip\": \"45056\"\r\n },\r\n \"annualIncome\": 100000,\r\n \"employerName\": null,\r\n \"payCheckFrequency\": null,\r\n \"avgPaycheckAmount\": 4166\r\n },\r\n\r\n // The blp object is required to submit external bank transaction data\r\n \"blp\" : {\r\n\r\n // The number of days of transaction history that BankLOGINInsights should consider. \r\n // Default (and minimum): 93 days\r\n \"transactionHistoryDays\": 93,\r\n\r\n \"thirdPartySourceData\": {\r\n \r\n // The ID of the third-party source. See https://apidocs.RIBBIT.ai for list\r\n \"externalProviderId\": 0,\r\n\r\n // A JSON string of the external bank transaction data\r\n \"data\" : \"{your third party JSON }\"\r\n }\r\n },\r\n\r\n // For business requests, include the business node instead of the consumer node\r\n \"business\": null,\r\n\r\n // The full loan amount or full purchase price. This value can be hard-coded as an average per portfolio\r\n \"offerAmount\": 6000,\r\n\r\n // The individual payment amount. This value can be hard-coded as an average per portfolio\r\n \"paymentAmount\": 500,\r\n\r\n // The repayment terms of the loan. Options: \"daily_oblig\", \"weekly_oblig\", \"biweekly_oblig\", \"monthly_oblig\"\r\n \"terms\": \"biweekly_oblig\"\r\n}"
BankQUALIFY:
value: "{\r\n // Product ID: 1: BankQUALIFY, 2: BankVERIFY+, 3: BankLOGIN+\r\n \"productId\": 1,\r\n\r\n // Reference ID: Your reference ID\r\n \"referenceId\": null,\r\n\r\n // Inquiry ID: Used when a previous Insights product was ran and you are getting more info (ex. You have ran BankQUALIFY, and would now like BankVERIFY+ Insights on the same data\r\n \"inquiryId\": null,\r\n\r\n // Account Details. Required for BankQUALIFY\r\n \"account\": {\r\n \"routingNumber\": \"642260020\",\r\n \"accountNumber\": \"2182456087\"\r\n },\r\n\r\n // Consumer PII\r\n \"consumer\": {\r\n \"firstName\": \"John\",\r\n \"middleName\": null,\r\n \"lastName\": \"Smith\",\r\n \"phone\": \"5135242320\",\r\n \"email\": \"test@ribbit.ai\",\r\n \"address\": {\r\n \"address\": \"5166 College Corner Pike\",\r\n \"city\": \"Oxford\",\r\n \"state\": \"OH\",\r\n \"zip\": \"45056\"\r\n }\r\n },\r\n\r\n // The full loan amount or full purchase price. This value can be hard-coded as an average per portfolio\r\n \"offerAmount\": 6000,\r\n\r\n // The individual payment amount. This value can be hard-coded as an average per portfolio\r\n \"paymentAmount\": 500,\r\n\r\n // The repayment terms of the loan. Options: \"daily_oblig\", \"weekly_oblig\", \"biweekly_oblig\", \"monthly_oblig\"\r\n \"terms\": \"biweekly_oblig\"\r\n\r\n}"
BankVERIFY+:
value: "{\r\n // Product ID: 1: BankQUALIFY, 2: BankVERIFY+, 3: BankLOGIN+\r\n \"productId\": 2,\r\n\r\n // Reference ID: Your reference ID\r\n \"referenceId\": null,\r\n\r\n // Inquiry ID: Used when a previous Insights product was ran and you are getting more info (ex. You have ran BankQUALIFY, and would now like BankVERIFY+ Insights on the same data\r\n \"inquiryId\": null,\r\n\r\n // Account Details. Required for BankQUALIFY, recommended for BankVERIFY+\r\n \"account\": {\r\n \"routingNumber\": \"642260020\",\r\n \"accountNumber\": \"5378534336\"\r\n },\r\n\r\n // Consumer PII\r\n \"consumer\": {\r\n \"firstName\": \"John\",\r\n \"middleName\": null,\r\n \"lastName\": \"Doe\",\r\n \"phone\": \"5135242320\",\r\n \"email\": \"test@RIBBIT.ai\",\r\n \"address\": {\r\n \"address\": \"5166 College Corner Pike\",\r\n \"city\": \"Oxford\",\r\n \"state\": \"OH\",\r\n \"zip\": \"45056\"\r\n },\r\n \"annualIncome\": 100000,\r\n \"employerName\": null,\r\n \"payCheckFrequency\": null,\r\n \"avgPaycheckAmount\": 4166\r\n },\r\n\r\n // For business requests, include the business node instead of the consumer node\r\n \"business\": null,\r\n\r\n // The full loan amount or full purchase price. This value can be hard-coded as an average per portfolio\r\n \"offerAmount\": 6000,\r\n\r\n // The individual payment amount. This value can be hard-coded as an average per portfolio\r\n \"paymentAmount\": 500,\r\n\r\n // The repayment terms of the loan. Options: \"daily_oblig\", \"weekly_oblig\", \"biweekly_oblig\", \"monthly_oblig\"\r\n \"terms\": \"biweekly_oblig\"\r\n}"
schema:
description: >-
WARNING: Missing schema in media type object. Missing schema has
been filled with this AnyType schema.
responses:
'200':
description: ''
/v4/Insights/2/{inquiryId}:
parameters:
- name: inquiryId
in: path
required: true
schema:
type: string
get:
tags:
- Insights
summary: Get Insights
operationId: Insights_getInsightById
description: Get Insights
requestBody:
content:
text/plain:
examples:
Get Insights:
value: ''
schema:
description: >-
WARNING: Missing schema in media type object. Missing schema has
been filled with this AnyType schema.
responses:
'200':
description: ''
/v4/CONNECT/Session:
post:
tags:
- CONNECT
summary: CONNECT Session
operationId: Connect_createSession
description: CONNECT Session
requestBody:
content:
text/plain:
examples:
CONNECT Session:
value: "{\r\n // CONNECT credentials are different from API credentials.\r\n // You can find your credentials by logging in to https://{test|portal}.RIBBIT.ai and clicking CONNECT\r\n \"token\": {\r\n \"clientId\": \"{{widgetClientId}}\",\r\n \"clientSecret\": \"{{widgetClientSecret}}\"\r\n },\r\n\r\n // Consumer PII\r\n \"customer\": {\r\n \"customerId\": \"RIBBIT_TEST\",\r\n \"firstName\": \"John\",\r\n \"lastName\": \"Smith\",\r\n \"emailAddress\": \"test@noemail.com\",\r\n \"phoneNumber\": \"1112223333\",\r\n \"address\": {\r\n \"addressLine1\": \"123 Main St\",\r\n \"city\": \"Oxford\",\r\n \"state\": \"OH\",\r\n \"zip\": \"12345\"\r\n },\r\n \"annualIncome\": 100000,\r\n \"employerName\": null,\r\n \"payCheckFrequency\": null,\r\n \"avgPaycheckAmount\": 4166\r\n },\r\n\r\n // The terms of the loan or payment. These fields are used in the generation of insights attributes\r\n \"terms\": {\r\n \"fullAmount\": 500,\r\n \"amount\": 100,\r\n \"loanTerms\": \"biweekly_oblig\"\r\n },\r\n\r\n // Session-specific settings\r\n \"settings\": {\r\n\r\n // To have events returned to a custom webhook URL, provide it here.\r\n // The webhook URL can also be set for all sessions in your application settings.\r\n // By default, we will only send the complete and launch events. To send additional events, they must be enabled in your application settings. \r\n // Log in and select CONNECT > Settings for more details, or see https://test.RIBBIT.ai/Widgets/Events\r\n \"webhookURL\" : null,\r\n\r\n // Bank ID for forcing a user to a specific bank\r\n // See https://test.ribbit.ai/Widgets/BankLookup for details\r\n \"bankId\" : null,\r\n\r\n // The number of days of transaction history that BankLOGINInsights should consider. \r\n // Default (and minimum): 93 days\r\n \"transactionHistoryDays\": 93\r\n },\r\n\r\n // To send the CONNECT link to your customer\r\n // 0: Do not send, 1: Send SMS to phone number in the customer object, 2: Send email to address in customer object\r\n \"notificationType\": 0\r\n}"
schema:
description: >-
WARNING: Missing schema in media type object. Missing schema has
been filled with this AnyType schema.
responses:
'200':
description: ''
/v4/CONNECT/Banks:
get:
tags:
- CONNECT
summary: Bank Lookup
operationId: Connect_bankLookup
description: Bank Lookup
parameters:
- name: search
in: query
schema:
type: string
example: '{{routingNumber}}'
responses:
'200':
description: ''
/v4/accounts/{accountToken}/export:
parameters:
- name: accountToken
in: path
required: true
schema:
type: string
get:
tags:
- CONNECT
summary: Get Full Account Info from CONNECT Session
operationId: Connect_getFullAccountInfo
description: Get Full Account Info from CONNECT Session
responses:
'200':
description: ''
/v4/affordai:
post:
tags:
- Reports
summary: AffordAi
operationId: Reports_submitAffordAi
description: AffordAi
requestBody:
content:
application/json:
examples:
AffordAi:
value: "{\r\n // Provide an inquiryId from BankLOGIN+\r\n // AffordAI will not run with a BankQUALIFY or BankVERIFY+ InquiryId\r\n \"blpInquiryId\": \"{{inquiryId}}\",\r\n\r\n\r\n // Optional Parameters\r\n\r\n // Your Reference ID for tracking purposes\r\n \"referenceId\": null,\r\n\r\n \"customization\" : {\r\n // Show Consumer PII on the generated report\r\n \"showPII\": true\r\n }\r\n}"
schema:
description: >-
WARNING: Missing schema in media type object. Missing schema has
been filled with this AnyType schema.
responses:
'200':
description: ''
components:
securitySchemes: {}
schemas:
TokenCreateRequest:
type: object
properties:
clientId:
type: string
example: '{{clientId}}'
clientSecret:
type: string
example: '{{clientSecret}}'