Payscore
Search
K

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://api.payscore.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, no_bank, no_online_banking, missing_bank, or bank_cannot_connect. If this is part of a report with multiple applicants, the value can also be 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.
income_criteria_results
IncomeCriteriaResult[]
The calculated results per each income criteria that your organization has configured. If this is set, income_multiplier_result will be "unavailable" and income_multiplier will be 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",
"income_criteria_results": null,
"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

{
"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",
"income_criteria_results": null,
"created_at": "04/11/2020"
}

Income Criteria

The schema for reports using income criteria (either individual or combined), differs slightly by having the income_criteria_results field comprise of the calculated criteria results instead of the top-level income_multiplier_result and income_multiplier_threshold, which are null when income criteria is used.

IncomeCriteriaResult Schema

Field
Type
Description
result
string
met, not_met, or unavailable based on the calculation of the report data against the criteria used.
multiplier_result
number | null
The value of the report's data as a multiplier of the rent amount for the criteria. null with the account_name_mismatch_detection criteria.
multiplier_threshold
number | null
The threshold of value to rent ratio that was configured for organization. null with the account_name_mismatch_detection criteria.
criteria
string
Has the value of the criteria used in the calculation of the report data. See below section. If a fallback criteria was configured and used when the prior criteria data in the report was unavailable, then it will be shown here. If all criteria were unavailable for the report, the first criteria will be shown.

IncomeCriteria categories

Criteria code
Description
two_month_avg_monthly_net_income_cents
The applicant's average recurring income each month over the last two months. It only includes income that the applicant receives regularly.
three_month_avg_monthly_net_income_cents
The applicant's average recurring income each month over the last three months. Again, it only counts income that the applicant receives on a regular basis.
two_month_avg_monthly_non_recurring_net_income_cents
The applicant's average non-recurring income each month for the past two months.
three_month_avg_monthly_non_recurring_net_income_cents
The applicant's average non-recurring income each month over the last three months.
combined_two_month_avg_monthly_net_income_cents
The applicant's average income each month over the past two months, combining both recurring and non-recurring income.
combined_three_month_avg_monthly_net_income_cents
The applicant's average income each month over the past three months, combining both recurring and non-recurring income.
current_balance_sum_cents
The sum of all of the applicant's current balance in their accounts
available_balance_sum_cents
The sum of all of the applicant's available balance in their accounts
average_balance_sum_cents
The sum of all of the applicant's average balance in their accounts
account_name_mismatch_detection
If the name(s) on the applicant's account(s) match the name they provided to us. If any of them don't match, the rule fails. If any names are missing or aren't returned by the bank, we don't count that as a mismatch.

Sample Income Criteria results section

"income_criteria_results": [
{
"result": "met",
"multiplier_result": 3.3,
"multiplier_threshold": 2.5,
"criteria": "three_month_avg_monthly_net_income_cents"
},
{
"result": "met",
"multiplier_result": 3.8,
"multiplier_threshold": 2.5,
"criteria": "combined_three_month_avg_monthly_net_income_cents"
},
{
"result": "not_met",
"multiplier_result": 8.4,
"multiplier_threshold": 10,
"criteria": "available_balance_sum_cents"
},
{
"result": "met",
"multiplier_result": null,
"multiplier_threshold": null,
"criteria": "account_name_mismatch_detection"
}
]
}