GetCreditProfileReport
POST
https://test.api.neotek.sa/credit-profile-assessment/v1/credit-profile/getCreditProfileReportSandbox URL · in Production call https://api.neotek.sa
Returns the assessment as structured data, so you can read the score and the individual factor results straight into your own decisioning.
Body:
psuId(required) — the Payment Service User id: the identifier you assign to the customer in your own system. Use the same id you sent when creating the accounts link, since that is how Neotek resolves which consented accounts to returnaccountLinkId(required) – the consent id returned when creating the accounts linkaccountId(required) – the account to assess, anAccountIdfrom ListProfileAccountscustomerType(optional) –RETAILorCORPORATE. Defaults toRETAILpurpose(optional) –PERSONAL_FINANCE,CAR_LOAN,HOME_MORTGAGE,EDUCATION,MEDICAL,BUSINESS,DEBT_CONSOLIDATION,TRAVEL,WEDDING,HOME_IMPROVEMENTorOTHERrequestedAmount(optional) – the loan amount, in SARloanTermMonths(optional) – the term in months. Defaults to60, or240whenpurposeisHOME_MORTGAGEannualInterestRate(optional) – a percentage. Defaults to3.0age(optional) –18to100. Sending it enables theAGEscoring factorriskFactors(optional) – override the default scoring model, as an array. Every field within an entry is optional:factorType– the factor to override; the valid values depend oncustomerTypeweight–0to200enabled– defaults totrueranges– the score bands, as an array ofminValue,maxValue(exclusive),points(0to100) andlabel
Factor types — which values factorType accepts depends on customerType:
RETAIL–AGE,INCOME,LOAN_PAYMENT,SURPLUS_RATIO,SALARY_CATEGORY,CASH_FLOW,DEBT_BURDEN_RATIOCORPORATE–BUSINESS_AGE,REVENUE_STABILITY,REVENUE_TREND,OPERATING_EXPENSE_RATIO,SUPPLIER_PAYMENT_CONSISTENCY,CASH_BUFFER,CORPORATE_CASH_FLOW,PAYMENT_BEHAVIOR
Headers:
| Parameter | Required | Description |
|---|---|---|
authorization | Required | Bearer <ACCESS_TOKEN>, with scope credit_profile_assessment |
content-type | Required | application/json |
cURL
curl -X POST 'https://test.api.neotek.sa/credit-profile-assessment/v1/credit-profile/getCreditProfileReport' \ -H 'Authorization: Bearer <ACCESS_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "psuId": "PTP100", "accountLinkId": "2631", "accountId": "ACC-999", "customerType": "RETAIL", "purpose": "PERSONAL_FINANCE", "requestedAmount": 50000, "loanTermMonths": 36, "annualInterestRate": 3, "age": 35}'Response (trimmed to the key fields, one entry per list)
JSON
{ "reportId": "550e8400-e29b-41d4-a716-446655440000", "psuId": "PTP100", "accountId": "ACC-999", "customerType": "RETAIL", "totalScore": 643, "maxPossibleScore": 1000, "ratingClass": "AAA", "ratingClassName": "Satisfactory", "approvalRecommendation": "Moderate", "factorScores": [ { "factorName": "INCOME_STABILITY", "displayName": "Income Stability", "score": 75, "maxScore": 100, "weight": 0.2, "weightedScore": 150, "grade": "B", "reasoning": "Strong income consistency with low volatility" } ], "financialMetrics": { "averageMonthlyIncome": 15000, "averageMonthlyExpenses": 8500, "averageMonthlyLoanPayment": 2500, "monthlySurplus": 4000, "debtToIncomeRatio": 0.167, "averageBalance": 25000, "monthsOfData": 6, "monthlyBreakdowns": [ { "month": "2026-01", "income": 15500, "expenses": 8200, "loanPayment": 2500, "surplus": 4800 } ], "strengths": [ "Consistent income pattern" ], "weaknesses": [ "High debt-to-income ratio" ] }, "recommendation": { "decision": "CONDITIONAL_APPROVE", "maxRecommendedAmount": 40000, "suggestedInterestRate": 4.5, "conditions": [ "Verify employment", "Limit initial credit" ], "summary": "Applicant shows moderate creditworthiness. Recommend approval with conditions." }, "purposeAssessment": { "purpose": "PERSONAL_FINANCE", "requestedAmount": 50000, "isAffordable": false, "estimatedMonthlyPayment": 1140.17, "debtToIncomeAfterLoan": "25.5%", "affordabilityAssessment": "May strain finances; consider lower amount", "riskLevel": "High" }}Errors
| Code | Status | Cause and Action |
|---|---|---|
400 | Bad Request | Invalid or missing request fields. Check the error Code and Path. Common: NTSP.ERROR.400.349 = PSUId is mandatory. |
401 | Unauthorized | Token missing, expired, or invalid. Refresh the bearer token and retry. |
403 | Forbidden | No valid subscription or insufficient scope. Verify client credentials and that the correct scope is included for the service being called. |
405 | Method Not Allowed | Wrong HTTP verb for this endpoint. Check the endpoint specification. |
406 | Not Acceptable | Accept header mismatch. Use application/json. |
429 | Too Many Requests | Rate limit exceeded. Wait the number of seconds in the Retry-After response header before retrying. |
500 | Internal Server Error | Unexpected server error. Retry with exponential backoff. Include x-request-id when raising a support ticket. |