normalizeRawReport
Mutation
Input: Intake a raw credit report data from supported vendors (CRS, Spinwheel) Output: Normalized credit report and creditReportId required for underwriting.
Mutation Signature
mutation { normalizeRawReport(input: NormalizeRawReportInput!): NormalizeRawReportResponse!}Example Request
mutation NormalizeRawReport($input: NormalizeRawReportInput!) { normalizeRawReport(input: $input) { # Add fields you want to retrieve }}Example Variables:
{ "input": { "reqOrgContactId": "contact-12345", "reportType": "CRS_EQUIFAX", "reportJson": { "note": "This would be the raw vendor JSON response" }, "reportRequestedAt": "2025-01-15", "pdfBase64": "<base64-encoded-pdf-string>", "leadId": "lead-67890" }}Open in Apollo Studio Explorer →
Click the link above to open this mutation in Apollo Studio Explorer with the query pre-filled. You’ll need to authenticate with your sandbox credentials.
Example Response
{ "data": { "normalizeRawReport": { "data": { "creditReportId": "cr-normalized-789", "reqOrgContactId": "contact-12345", "applicantResidenceState": "TX", "debts": [ { "id": "debt-001", "creditorName": "Discover", "accountNumber": "****9012", "currentBalance": 8750, "originalBalance": 10000, "accountType": "CREDIT_CARD", "portfolioType": "REVOLVING", "ecoaCode": "I", "isCollection": false } ] }, "errors": null } }}Arguments
| Argument | Type | Description |
|---|---|---|
input | NormalizeRawReportInput! | Input containing the raw credit report data and metadata for normalization |
Input Types
NormalizeRawReportInput
Required Fields:
| Field | Type | Description |
|---|---|---|
reqOrgContactId | String! | Requesting organization contact ID |
reportType | SUPPORTED_REPORT_PRODUCTS! | Supported credit report products. ** Note when using SPINWHEEL ** - We normalize credit reports from the user object in spinwheel - reportJson must be a response from https://docs.spinwheel.io/refe… |
reportJson | JSON! | Direct JSON object containing the raw credit report response from the vendor. |
Optional Fields:
| Field | Type | Description |
|---|---|---|
reqOrgSecondaryContactId | String | Requesting organization co-contact ID |
reportRequestedAt | String | Optional override for the report requested date. Format: YYYY-MM-DD Only required for CRS reports (CRS_TRANSUNION, CRS_EQUIFAX) where the raw data does not include this field. Used to support downs… |
pdfBase64 | String | Optional base64 encoded PDF string of the credit report. |
leadId | String | Optional lead ID to associate with the credit report. |
Response Type
Returns: NormalizeRawReportResponse!
NormalizeRawReportResponse
| Field | Type | Description |
|---|---|---|
data | NormalizeRawReportResponseResult | Normalized Credit Report |
errors | [NormalizeRawReportResponseError] | List of error messages |
NormalizeRawReportResponseResult
normalizeRawReport Success Response
| Field | Type | Description |
|---|---|---|
creditReportId | String | Credit report ID |
secondaryCreditReportId | String | Secondary Credit report ID |
reqOrgContactId | String! | Requesting organization contact ID |
applicantResidenceState | String | State where customer resides |
debts | [CreditReportDebt] | List of debts |
CreditReportDebt
Credit Report Debt
| Field | Type | Description |
|---|---|---|
id | ID! | Debt ID |
creditorId | String | creditor ID |
externalDebtId | String | This is replaced by accountNumber @deprecated Use accountNumber instead |
accountNumber | String | Original credit report account number |
applicantState | String | Applicants state of residence. |
ecoaCode | String | ECOA code |
creditorName | String | Creditor name from credit report |
parentCreditorName | String | Parent creditor name |
parentCreditorId | String | Parent creditor ID |
originalCreditorName | String | Original creditor name from credit report |
creditorType | String | Creditor type |
accountType | String | Account type |
portfolioType | String | Portfolio type |
debtType | String | Debt type |
currentBalance | Float | Current debt balance |
openDate | String | Date the debt was opened |
lastPaymentDate | String | Date of last payment |
hasLastPayment | Boolean | True if the most recent payment has been made as of the date this credit report was pulled |
narrativeCodes | [String] | Narrative codes that might include bankruptcy codes |
bankruptcyDateFiled | String | Bankruptcy date filed |
applicantId | String | Applicant Id |
coApplicantId | String | CoApplicant Id |
originalBalance | Float | Original debt balance |
isCollection | Boolean | Flag to show if the debt is in collection |
delinquency | String | account rating /delinquency value |
monthlyPayment | Float | Monthly payment |
forthDebtTypeId | String | Forth Debt Type ID |
remarks | [String] | Remarks |
NormalizeRawReportResponseError
normalizeRawReport Error Response
| Field | Type | Description |
|---|---|---|
message | String | Error message |
Additional Enums
SUPPORTED_REPORT_PRODUCTS
Supported report types for normalizing raw credit report data
| Value | Description |
|---|---|
CRS_TRANSUNION | Product: basic/tu-prequal-vantage4 | Data Provider: CRS |
CRS_EQUIFAX | Product: efx-prequal-vantage4 | Data Provider: CRS |
SPINWHEEL | Product: EquifaxVantageScore3.0 | Data Provider: Spinwheel |
ARRAY_EQUIFAX | Product: efx1bReportScore | Data Provider: Array |
CRS_STANDARD_PREQUAL_VANTAGE4 | Product: standard/prequal-vantage4 | Data Provider: CRS |
FORTH_API_MISMO_2_3_1 | Product: MISMO 2.3.1 | Data Provider: Forth API |
Error Types
The response may include the following error types:
NormalizeRawReportResponseError
normalizeRawReport Error Response
| Field | Type | Description |
|---|---|---|
message | String | Error message |
Common Errors
| Error Code | Description | Resolution |
|---|---|---|
VALIDATION_ERROR | Input validation failed | Check required fields and formats |
UNAUTHORIZED | Invalid or expired token | Re-authenticate and retry |
NOT_FOUND | Resource not found | Verify the ID or reference |