VUZDevelopers

Get client health insights

GET
/analytics/insights/client-health

Retrieves comprehensive client health analysis with risk scoring and recommendations.

Client Categories:

  • Payment Risk: Clients with high DSO, low on-time rate, overdue balances
  • Churn Risk: Clients showing declining activity or long inactivity
  • Dormant: Previously active clients with no recent transactions
  • Star Clients: Best performers - fast payment, consistent activity

Data Returned:

  • Summary of client health distribution
  • Top at-risk clients per category
  • Star clients for appreciation
  • Actionable insights for each category
X-Api-Key<token>

Business API key, e.g. vuz_ab12cdef... Created via Settings → Integrations → API Keys. Unlike partner keys, a public API key's STRING does not encode its environment — isolation instead comes from a completely separate sandbox database: a key minted on the Sandbox server (above) only ever reads/writes sandbox data and can never see or affect production, regardless of what the key looks like.

In: header

Query Parameters

dormantThresholdDays?number

Days of inactivity to consider dormant

Default60
healthyDsoThreshold?number

Maximum DSO to consider healthy

Default45

Response Body

application/json

application/json

curl -X GET "https://example.com/analytics/insights/client-health"
{  "summary": {},  "paymentRiskClients": [    {      "clientId": "string",      "clientName": "string",      "riskType": "payment",      "riskScore": 0,      "riskLevel": "critical",      "outstandingBalance": 0,      "daysSinceActivity": 0,      "avgDaysToPayment": 0,      "onTimePaymentRate": 0,      "totalRevenue": 0    }  ],  "churnRiskClients": [    {      "clientId": "string",      "clientName": "string",      "riskType": "payment",      "riskScore": 0,      "riskLevel": "critical",      "outstandingBalance": 0,      "daysSinceActivity": 0,      "avgDaysToPayment": 0,      "onTimePaymentRate": 0,      "totalRevenue": 0    }  ],  "dormantClients": [    {      "clientId": "string",      "clientName": "string",      "riskType": "payment",      "riskScore": 0,      "riskLevel": "critical",      "outstandingBalance": 0,      "daysSinceActivity": 0,      "avgDaysToPayment": 0,      "onTimePaymentRate": 0,      "totalRevenue": 0    }  ],  "starClients": [    {      "clientId": "string",      "clientName": "string",      "starRating": 0,      "avgDaysToPayment": 0,      "onTimePaymentRate": 0,      "revenueLast12Months": 0,      "totalOrders": 0,      "activeMonthsLast12": 0    }  ],  "insights": [    {      "id": "string",      "type": "cash_flow",      "category": "cash_shortage",      "title": "string",      "titleEn": "string",      "description": "string",      "descriptionEn": "string",      "priority": "critical",      "score": 0,      "relatedEntityType": "client",      "relatedEntityId": "string",      "relatedEntityName": "string",      "actionLabel": "string",      "actionLabelEn": "string",      "actionUrl": "string",      "metrics": [        {          "key": "string",          "labelHe": "string",          "labelEn": "string",          "value": {},          "trend": "up",          "unit": "string"        }      ],      "icon": "string",      "generatedAt": "string",      "expiresAt": "string",      "dismissedAt": "string",      "isAiGenerated": false    }  ],  "currency": "string",  "calculatedAt": "string"}