TABLE OF CONTENTS
Overview
Grain: One row per product on an application (typically one per application) | Primary key: id
The product requested on each application. Joins to loan_applications via application_id. An application normally has a single product, but it can have more than one, so do not assume one row per application.
Delivery folders: stp_loan_products-1-day and stp_loan_products-30-day
This article covers one table. For delivery details, ingestion guidance, the full table relationship diagram, and the export FAQ, see Data Exports: Clutch Lending STP.
Things to Know About This Table
- Use
product_offering_idto identify which product the application is for.purposeis the loan purpose stated by the applicant and is null on most rows, so do not use it to identify the product. apris delivered as a ratio with four decimals (0.0550= 5.50%). It can be0.0000or blank when no rate has been set.product_offering_idandeligibility_approval_typeare blank when the application has no pre-screening result.
Data Dictionary
| Field Name | Description | Example | Required? |
|---|---|---|---|
id | UUID: unique product record identifier. Primary key. | b2c3d4e5-f6a7-8901-bcde-f12345678901 | Yes |
application_id | UUID: the application this product belongs to. Join key to loan_applications.id. | a1b2c3d4-e5f6-7890-abcd-ef1234567890 | Yes |
partner_id | UUID: your credit union identifier. All exported records are scoped to this value. | 550e8400-e29b-41d4-a716-446655440000 | Yes |
product_offering_id | String: stable identifier of the product offering the application is for (for example p-i-standard, p-i-refi). Unlike purpose, this identifies the product itself. | p-i-standard | No |
amount | Decimal: requested or approved loan amount, in USD. | 5000.00 | No |
term | Integer: loan term, in months. | 24 | No |
apr | String: annual percentage rate as a ratio with four decimals. Can be 0.0000 or blank. | 0.0550 | No |
purpose | String: loan purpose as selected by the applicant (for example Consolidation, Home Improvement, Auto Repair). Blank on many rows. | Consolidation | No |
eligibility_approval_type | Enum: pre-screening outcome, in lowercase: pre_approved / pre_qualified / skipped / qualified / not_qualified / no_valid_offer. | pre_qualified | No |
created_on | Timestamp: when the record was created. | 2026-06-10T18:08:32Z | Yes |
updated_on | Timestamp: when the record was last modified. Use it to keep the latest version of each record when ingesting. | 2026-06-12T09:15:00Z | Yes |
How This Table Joins to the Others
- Joins to
loan_applications:application_idmatchesloan_applications.id. Typically one row per application, but an application can have more than one.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article
