Use the API to build your own Reports
Overview
The Blend Reporting API resource gives you programmatic access to end-of-day reporting data on activity within Blend. The API allows you to integrate with this data store in your preferred warehousing destination, but also can serve data to existing BI or Analytics tools already leveraged by your organization.
The endpoints contained in the Reporting API are centered around different focus areas within Blend (e.g. Loans, Borrowers, Documents, etc), and are meant to serve as an efficient way to view activity around these areas.
Reports available in Reporting API endpoints are also available to download as CSVs directly in the Reporting Dashboard in the Workspace for Loan Teams for authorized users. For more information see Reporting Dashboard Overview in the Blend Help Center.
Available in Beta and Production Environments
Please note that the Reporting API functions in both Blend's production and beta environments.
Recommended Use Cases
Unlike other resources in Blend’s Public API, which pull raw data directly from production databases, data in the Reporting API comes from our analytics data warehouse. All data is scrubbed of sensitive and borrower identifying information - so no borrower names or emails can be found in the Reporting API - and the raw data is cleaned and transformed into individual reports for easy consumption.
Because the data in the Reporting API is downstream from our production databases and there is an additional layer of analytics on top, which may omit missing or low quality data - we do not recommend using the Reporting API for compliance or reconciliation use cases. This includes downloading Reporting API data for the use case of storing a copy of all Blend data locally, since the Reporting API is not meant to serve as a 1:1 copy of all Blend data.
Additionally, the Reporting API does not allow for real time reporting, unlike other resources in the Blend API. Data is batch ingested a few times throughout the day, but a given day’s data will not be fully ready until business hours the following day.
If you want real time event notifications (e.g. a webhook fired to your custom integration when an an applicant submits their application):
- Consider getting set up with Blend Event Notifications
If you need certain data on a specific application (e.g. all borrowers listed on an application):
- Consider using the Home Lending - Applications resource in the Public API, or browse other resources for specific fields of interest.
In summary
Reporting API can be used for:
- Tracking overall number of applications over time (e.g. number of submitted applications week over week)
- Analyzing aggregate applicant behavior (e.g. asset connectivity usage, applicant funnel drop-off)
- Understanding usage trends for Blend features (e.g. LO Toolkit and Follow ups usage by Lender User)
Reporting API should not be used for:
- Compliance or reconciliation purposes (Use other API endpoints)
- Real time event notifications (Use Blend Events)
- Obtaining sensitive borrower data, such as names and emails (Use other API endpoints)
Getting Started
To get started, please see the overall API Quick Start Guide on how to obtain credentials, including your auth token and Blend target instance ID.
Endpoints
Reporting Routes
To preface, all interactions for reporting must start with the path /reporting. Then, depending on the desired endpoint, you'll want to specify the reporting information you want.
Example full URL:
https://api.blendlabs.com/reporting/nps
The table below offers a brief description of endpoints available in the most recent stable version of the Reporting API.
See the Reporting API Documentation for a full list of fields and field definitions in each of these reports. Additionally, go.blend.com/datadictionary has all definitions in tabular format, as well a transition guide for how to pull data previously located in endpoints that were deprecated in v4.0.0.
Endpoint | Description |
---|---|
Borrower Workflows - GET /activities | Provides data on applicant activity. Can be used to derive a funnel for where applicants drop off in the application process. |
Borrower Users - GET /borrowers | Provides a full list of borrowers and the current workflow they are on, invited and activated times, and timestamps for most recent credit and asset pulls |
Connectivity Metrics - GET /data-verification-usage | Provides historical metrics for data verification features such as asset connectivity and The Work Number |
Document Metadata - GET /documents | Provides a list of the type of documents uploaded on an application (e.g. 1003, Bank Deposit Slip, 1099, HMDA Report, etc), and the User ID and user type for who uploaded the document (e.g. Borrower User ID, or ‘system’ for automatically uploaded documents) |
Follow-ups Data - GET /follow-ups | Provides a full list of individual follow-ups created on each application. |
PAB Activities - GET /lender-pab-activities | Provides data on select LO-Toolkit actions, including credit pull data and AUS runs. |
Lender Users and usage metrics - GET /lenders | Provides a full list of lender users who have been invited or activated an account, as well as various usage metrics, such as number of borrower submits, and follow-ups issues |
Basic Loan Data - GET /loans | A historical pipeline view of all applications in Blend including: milestone metrics, application information (like application source), assignees, and flags for applicant credit consent and eConsent. |
NPS and Comments - GET /nps | Provides individual borrower satisfaction survey scores (NPS) and comments |
Request Parameters
Each endpoint contains optional parameters meant to provide you with flexibility in pulling the appropriate subset of data for your reporting use case. All endpoints will have the following parameter types available:
- Timestamp
- startDate and endDate parameters - each report will have a single or multiple timestamp parameters available to filter the data between. The name of the timestamp parameters will vary, but will be appended with “startDate” and “endDate” to indicate the beginning and end of the time filters, respectively.
- Timestamp parameters may be required or optional, depending on the endpoint. If no optional timestamp parameter is specified, the request will not be filtered and will attempt to return all results.
- All timestamps are returned in UTC - be sure to send the request parameter in UTC as well to ensure consistency with the results. Accepted formats are
YYYY-MM-DDTHH:mm:SSZ
orYYYY-MM-DDTHH:mmZ
- Order By
- Any of the available timestamps in each report are also available to order the results by. If you send multiple timestamp parameters, an orderBy parameter is required.
- Limit
- The number of rows to be returned in the call. The maximum is 10,000.
- Cursor
- The cursor to retrieve the next/previous page of results.
Additional Parameters:
- Loan Type
- Select reports also contain a Loan Type parameter to filter the data to specific products. The options available are listed under each individual endpoint loanType parameter (including "MORTGAGE", "HELOC", "HELOAN", "CANADA_MORTGAGE", "ACCOUNT_OPENING", "AUTO", "MORTGAGE_MODIFICATION", "PERSONAL_LOC", "PERSONAL_LOAN", "SPECIALTY_VEHICLE", "ALL")
- Deleted / Archived
- Optional boolean parameters available in the GET /loans endpoint to filter on loans that have been deleted or archived
- App Source Name / App Lead Source
- Optional string parameters for the GET /loans endpoint. appSourceName would be the source of an application from an integration (e.g. "Velocify", "NetOxygen", "Empower") whereas appLeadSource specifies the method by which the application was created ("LENDER", "BORROWER", "PUBLIC_API")
Example request
Request for obtaining NPS scores:
curl -X GET \
https://api.blendlabs.com/reporting/nps \
-H 'authorization: BEARER {{YOUR AUTH TOKEN}}' \
-H 'blend-target-instance: {{YOUR BLEND DEPLOYMENT}}~{{YOUR SPECIAL ID}}' \
-H 'blend-api-version: 4.3.0' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
Response from the above request:
{
"nps": [
{
"loanId": "62492b43-7d38-4ffd-8c09-b9e00c7ed42a",
"score": "9",
"comment": "Great!",
"datetime": "2018-10-23T20:18:53.764Z"
},
{
"loanId": "5d968480-dd8a-4d61-9d0f-44b595df510d",
"score": "10",
"comment": null,
"datetime": "2018-10-25T00:31:42.937Z"
},
{
"loanId": "a7ff799d-393a-4ebb-b26e-594d4180b6fc",
"score": "8",
"comment": "Julian was great!!",
"datetime": "2018-10-26T19:06:51.311Z"
},
{
"loanId": "399cdc10-5b8c-4efb-a1ab-b3b338c7092a",
"score": "8",
"comment": "Pretty convenient.",
"datetime": "2018-10-23T18:18:42.148Z"
}
],
"prevCursor": "0",
"nextCursor": "0"
}
Errors
Response and error codes can be found in the Blend Technical Standards and Formats guide.
Please reach out to [email protected] if you need additional assistance.
FAQs
- Where can I send requests for report and field additions?
- All feedback and requests can be routed to [email protected]
- Am I able to request data from multiple instances in one call (e.g. from multiple DBAs, or a primary and a DBA instance)?
- No, only one tenant can be specified in the target instance header
Updated almost 2 years ago