TABLE OF CONTENTS
Overview
Grain: One row per STP loan application | Primary key: id
This is the hub table of the export: every other table joins to it via application_id. It carries the application lifecycle state, the main applicant's member number, housing, income and employment profile, and the straight-through-processing outcome.
Delivery folders: stp_loan_applications-1-day and stp_loan_applications-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
stateis the current lifecycle state, delivered in lowercase.member_nrand the housing, income and employment fields describe the main applicant of the application. They are blank when the main applicant cannot be linked to the application, and individually blank when the applicant did not provide that information.- Use
application_numberas the customer-friendly reference in reports and communications. stp_off_board_*fields are populated only if the application was routed off the straight-through-processing path to manual handling; both are null otherwise.application_fee_outcomereflects the current fee-collection state and is null until a fee record exists.
Data Dictionary
| Field Name | Description | Example | Required? |
|---|---|---|---|
id | UUID: unique application identifier. Primary key, used as the join key (application_id) across all related tables. | a1b2c3d4-e5f6-7890-abcd-ef1234567890 | Yes |
application_number | Integer: human-readable sequential application number. Use this as the customer-friendly reference number. | 1042 | Yes |
partner_id | UUID: your credit union identifier. All exported records are scoped to this value. | 550e8400-e29b-41d4-a716-446655440000 | Yes |
state | Enum: current lifecycle state, in lowercase. Values: pending_review / approved_with_conditions / doc_prep / needs_booking / booking_in_progress / pending_aan / counter_offer_pending / cancelled / declined / funded. Older records may also show created or instant_approved. | funded | Yes |
member_nr | String: member number of the main applicant at your credit union. Leading zeros are removed when the member number is numeric. | 1234567 | No |
housing_payment | Decimal: main applicant's housing payment (rent or mortgage), in USD. | 1500.00 | No |
housing_type | Enum: main applicant's housing type, in uppercase. Values: RENT / OWN / OWN_FREE_AND_CLEAR / LIVE_WITH_PARENTS / LIVE_WITH_OTHER / GOVERNMENT_QUARTERS / COLLEGE_HOUSING / OTHER. Older records may also show LEASE. | RENT | No |
months_occupying_house | Integer: number of months the main applicant has lived at their current residence. | 36 | No |
annual_income | Decimal: main applicant's annual income, in USD. | 85000.00 | No |
income_type | String: type of the main applicant's income. Currently always blank; the column is delivered so it can be populated in a future release. | (blank) | No |
employment_status | String: main applicant's employment status, as captured on the application. Not standardized: it can be a short code (for example EM, RE, SE, GOV) or a label in any letter case (for example EMPLOYED, employed, SELF_EMPLOYED, RETIRED). Normalize it on your side before reporting on it. | EMPLOYED | No |
job_occupation | String: main applicant's job or occupation category, in lowercase, as selected on the application. Blank for most applications. | healthcare (doctor, nurse) | No |
stp_off_board_stage | Enum: stage the application failed out of before being routed off the straight-through-processing path to manual handling: underwriting / closing. Null if it never left. | underwriting | No |
stp_off_board_reason | String: free-text reason the application was routed off the straight-through-processing path. Null if it never left. | Manual income verification required | No |
application_fee_outcome | Enum: outcome of the application fee: collected / waived_mla / failed / not_applicable, or the in-progress status pending / collecting before the fee is resolved. Null if no fee record exists yet. | collected | No |
created_on | Timestamp: when the application was submitted. | 2026-06-10T18:08:32Z | Yes |
updated_on | Timestamp: when the application record was last modified. Use it to keep the latest version of each record when ingesting. | 2026-06-15T14:32:00Z | Yes |
How This Table Joins to the Others
- Every other table in this export joins back to this one: their
application_idmatches this table'sid.
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
