Getting the Report Data

When the report is ready, you can get the report in json format by hitting the following endpoint.
When the screening group is completed, we will provide the data used to populate our report in JSON format.
If the screening group is still in progress and the report has not been created yet, the response will have a status code of 404 Not Found. If the report has expired, the response will have a status code of 410 Gone.
Note that the schemas for an individual income report and an income report with multiple applicants differ. The main difference is that the combined income report has an array of individual screenings.
get
https://theclosingdocs.com/api/v1/screening_groups/{id}/report/data
Get Report JSON Data

Response Schema

IndividualReport Schema

Field
Type
Description
screening_id
string
The Screening that this IndividualReport corresponds with
recurring
IncomeData
The income data for all the recurring income from the report's bank connections, not including theincome_streams attribute. The timespan of these metrics are summary_timespan_length.
non_recurring
IncomeData
The income data for all the non-recurring income from the report's bank connections, not including the income_streams attribute. The timespan of these metrics are summary_timespan_length.
summary_timespan_length
number
The timespan length in days that the recurring and non-recurring IncomeData metrics cover, starting from the date the report was created. This is the minimum timespan length between bank_connnections.
identity
Identity
The applicant's identity information
bank_connections
BankConnection[]
The banks that the applicant has added onto the income verification request
income_explanation
string
An explanation given by the applicant that is used to bring context to their income summary.
reason_completed
string
The reason the screening was completed. If this is a report with a single applicant, the value will either be finished or no_bank. If this is part of a report with multiple applicants, the value can be finished, no_bank, share_bank, or no_income.
income_multiplier
number | null
The net income to rent multiplier of the applicant. This is calculated by comparing the applicant's recurring 3 month average monthly net income with the monthly rent. When this value is not available (when the summary_timespan_length<80 days), we use the recurring 2 month average monthly net income.
When the 2 month average monthly value is not available (summary_timespan_length is <50 days), then this value is null, and we do not calculate the income to rent multiplier since we do not have enough data to confidently provide a multiplier. This value is also null when a monthly_rent is not provided when creating the screening request.
income_multiplier_threshold
number | null
The income multiplier threshold that was used when creating a screening request. The default value is 2.5x.
income_multiplier_result
string | null
The income_multplier compared to the income_multiplier_threshold. Values can be above, below, or equal. This value is null when the income multiplier is null.
property_monthly_rent
number
The monthly rent of the property in cents
created_at
string
The date the report was created at. Formatted “08/25/2019”.
The IndividualReport schema comprises of an income summary for all the bank connections that the applicant has attached to their income verification request.
The most important thing to note is that the summary_timespan_length is the minimum timespan of all the bank connections attached to the request. This is also the timespan that is used to calculate the recurring and non-recurring IncomeData metrics. The reason we do this is because not all financial institutions provide the same amount data history. Most institutions provide 12 months, but some provide only 6 months or even 3 months of data history. Therefore, in order to provide the most accurate information, we can only confidently compute the total and monthly average income based on the banks' shortest timespans.

IncomeData Schema

Field
Type
Description
total
number
The total amount of income in cents received by the applicant(s) over a timespan, starting from the date the report was created.
two_month_avg_monthly
number | null
The average amount of income per month in cents the applicant(s) have received in the past 2 months. This value will be null if the timespan is less than 50 days.
three_month_avg_monthly
number | null
The average amount of income per month in cents the applicant(s) have received in the past 3 months. This value will be null if the timespan is less than 80 days.
six_month_avg_monthly
number | null
The average amount of income per month in cents the applicant(s) have received in the past 6 months.This value will be null if the timespan is less than 170 days.
nine_month_avg_monthly
number | null
The average amount of income per month in cents the applicant(s) have received in the past 9 months.This value will be null if the timespan is less than 260 days.
twelve_month_avg_monthly
number | null
The average amount of income per month in cents the applicant(s) have received in the past 12 months. This value will be null if the timespan is less than 350 days.
income_streams
IncomeStream [] | undefined
A list of the applicant's deposit streams. This attribute is only present for a bank_connection's recurring and non-recurring income data.

Identity Schema

Field
Type
Description
full_name
string
The applicant's full name
email
string
The applicant's email

BankConnection Schema

Field
Type
Description
income
IncomeSummary
The income summary for the connected bank
accounts
Account[]
The accounts for the connected bank
institution_name
string
The name of the institution

IncomeSummary Schema

Field
Type
Description
recurring
IncomeData
The income data for all the recurring income from the bank connection. The timespan of these metrics are transaction_timespan_length.
non_recurring
IncomeData
The income data for all the non-recurring income from the bank connection. The timespan of these metrics are transaction_timespan_length.
start_date
string
The beginning date of the time period the income summary covers. Formatted “08/25/2019”.
end_date
string
The end date of the time period the income summary covers. Formatted “08/25/2020”.
transaction_timespan_length
number
The timespan length in days of the transaction history pulled, starting from the date the report was created. This can also be thought of as the number of days between start_date and end_date.

IncomeStream Schema

Field
Type
Description
name
string
The name of the income stream. This is determined by the transaction's description from the bank.
total
number
The total amount of income from the income stream in cents
monthly_income
number
The monthly income of the income stream in cents
start_date
string
The start date of the income stream. Formatted “08/25/2019”.
end_date
string
The end date of the income stream. Formatted “08/25/2020”.
transactions
Transaction[]
A list of the transactions that make up the income stream

Transaction Schema

Field
Type
Description
name
string
The name of the deposit
amount
number
The amount of the deposit in cents
date
string
The date of the deposit. Formatted “08/25/2019”.

Account Schema

Field
Type
Description
name
string
The name of the applicant’s account, assigned by the user or the financial institution
type
string
The type of account. For example, Checking, or Savings
current_balance
number
The current balance of the account in cents
available_balance
number | null
The available balance of the account, in cents. When the institution does not support available_balance, the value will be null. To learn what the difference between current and available balance, click here.
average_balance
number | null
The average balance of the account for the past 6 months, in cents. When the institution does not support average_balance, the value will be null.
holder_names
string[] | null
The verified account holder names given by the institution. This can either be the holder's first name, last name or full name based on the institution. If the account is a joint account with multiple holders, we will return all of the owners in an array. When the institution does not support holder_names, the value will be null.
holder_name (DEPRECATED)
string | null
The verified account holder's name given by the institution. This can either be the holder's first name, last name or full name based on the institution. When the institution does not support holder_name, the value will be null.

Sample IndividualReport response

{
"screening_id": "9314c3u2-8904-4eea-b947-17df724f9382",
"identity": {
"full_name": "John Smith",
"email": "[email protected]"
},
"reason_completed": "finished",
"income_multiplier_threshold": 2.5,
"income_multiplier": 2.6,
"income_multiplier_result": "above",
"created_at": "04/11/2020",
"recurring": {
"total": 600000,
"two_month_avg_monthly": 50000,
"three_month_avg_monthly": 50000,
"six_month_avg_monthly": 50000,
"nine_month_avg_monthly": 50000,
"twelve_month_avg_monthly": 50000
},
"non_recurring": {
"total": 0,
"two_month_avg_monthly": 0,
"three_month_avg_monthly": 0,
"six_month_avg_monthly": 0,
"nine_month_avg_monthly": 0,
"twelve_month_avg_monthly": 0
},
"summary_timespan_length": 361,
"bank_connections": [
{
"accounts": [
{
"name": "Checking",
"type": "Checking",
"available_balance": 10000,
"current_balance": 11000
},
{
"name": "Saving",
"type": "Savings",
"available_balance": 20000,
"current_balance": 21000
}
],
"income": {
"recurring": {
"total": 600000,
"two_month_avg_monthly": 50000,
"three_month_avg_monthly": 50000,
"six_month_avg_monthly": 50000,
"nine_month_avg_monthly": 50000,
"twelve_month_avg_monthly": 50000,
"income_streams": [
{
"name": "United Airlines",
"transactions": [
{
"amount": 50000,
"name": "United Airlines",
"date": "03/14/2020"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "02/13/2020"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "01/14/2020"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "12/15/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "11/15/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "10/16/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "09/16/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "08/17/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "07/18/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "06/18/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "05/19/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "04/19/2019"
}
],
"monthly_income": 50000,
"start_date": "04/19/2019",
"end_date": "03/14/2020"
}]
},
"non_recurring": {
"total": 0,
"two_month_avg_monthly": 0,
"three_month_avg_monthly": 0,
"six_month_avg_monthly": 0,
"nine_month_avg_monthly": 0,
"twelve_month_avg_monthly": 0,
"income_streams": []
},
"start_date": "04/16/2019",
"end_date": "04/11/2020",
"transaction_timespan_length": 361
},
"institution_name": "Wells Fargo"
}
],
"income_explanation": null
}

Combined Report JSON Data

The JSON schema for combined reports, or reports with multiple applicants, differs slightly by having the reports field comprise of the individual applicant reports.
In a combined report, if the IndividualReport has a reason_completed other than finished, the only fields that will be present in the IndividualReport response will be screening_id, identity, reason_completed and created_at.

CombinedReport Schema

Field
Type
Description
recurring
IncomeData
The income data for all the recurring income in cents received by the applicants over summary_timespan_length, not including theincome_streams attribute
non_recurring
IncomeData
The income data for all the non-recurring income in cents received by the applicants over summary_timespan_length, not including the income_streams attribute
summary_timespan_length
number
The timespan length in days that the total_net_income and total_non_recurring_deposits metrics cover, starting from the date the report was created. This is the minimum timespan between reports.
reports
IndividualReport[]
The individual applicant reports that comprise of the CombinedReport
created_at
string
The date the report was created at. Formatted “08/25/2019”.

Sample CombinedReport response

{
"reports": [
{
"screening_id": "2714c767-8904-4eea-b947-17df724f93ed",
"identity": {
"full_name": "Bob Smith",
"email": "[email protected]"
},
"reason_completed": "share_bank",
"created_at": "04/11/2020"
},
{
"screening_id": "9314c3u2-8904-4eea-b947-17df724f9382",
"identity": {
"full_name": "John Smith",
"email": "[email protected]"
},
"reason_completed": "finished",
"created_at": "04/11/2020",
"recurring": {
"total": 600000,
"two_month_avg_monthly": 50000,
"three_month_avg_monthly": 50000,
"six_month_avg_monthly": 50000,
"nine_month_avg_monthly": 50000,
"twelve_month_avg_monthly": 50000
},
"non_recurring": {
"total": 0,
"two_month_avg_monthly": 0,
"three_month_avg_monthly": 0,
"six_month_avg_monthly": 0,
"nine_month_avg_monthly": 0,
"twelve_month_avg_monthly": 0
},
"summary_timespan_length": 361,
"bank_connections": [
{
"accounts": [
{
"name": "Checking",
"type": "Checking",
"available_balance": 10000,
"current_balance": 11000
},
{
"name": "Saving",
"type": "Savings",
"available_balance": 20000,
"current_balance": 21000
}
],
"income": {
"recurring": {
"total": 600000,
"two_month_avg_monthly": 50000,
"three_month_avg_monthly": 50000,
"six_month_avg_monthly": 50000,
"nine_month_avg_monthly": 50000,
"twelve_month_avg_monthly": 50000,
"income_streams": [
{
"name": "United Airlines",
"transactions": [
{
"amount": 50000,
"name": "United Airlines",
"date": "03/14/2020"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "02/13/2020"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "01/14/2020"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "12/15/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "11/15/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "10/16/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "09/16/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "08/17/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "07/18/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "06/18/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "05/19/2019"
},
{
"amount": 50000,
"name": "United Airlines",
"date": "04/19/2019"
}
],
"monthly_income": 50000,
"start_date": "04/19/2019",
"end_date": "03/14/2020"
}]
},
"non_recurring": {
"total": 0,
"two_month_avg_monthly": 0,
"three_month_avg_monthly": 0,
"six_month_avg_monthly": 0,
"nine_month_avg_monthly": 0,
"twelve_month_avg_monthly": 0,
"income_streams": []
},
"start_date": "04/16/2019",
"end_date": "04/11/2020",
"transaction_timespan_length": 361
},
"institution_name": "Wells Fargo"
}
],
"income_explanation": null
}
],
"recurring": {
"total": 600000,
"two_month_avg_monthly": 50000,
"three_month_avg_monthly": 50000,
"six_month_avg_monthly": 50000,
"nine_month_avg_monthly": 50000,
"twelve_month_avg_monthly": 50000
},
"non_recurring": {
"total": 0,
"two_month_avg_monthly": 0,
"three_month_avg_monthly": 0,
"six_month_avg_monthly": 0,
"nine_month_avg_monthly": 0,
"twelve_month_avg_monthly": 0
},
"summary_timespan_length": 361,
"income_multiplier_threshold": 2.5,
"income_multiplier": 2.6,
"income_multiplier_result": "above",
"created_at": "04/11/2020"
}