v1

latestOpenAPI 3.1.02026-07-263644911022.4 KB
Dashboard

Get portfolio dashboard

Returns portfolio-level risk, delinquency, and freshness metrics for the requested business date.

get/api/v1/dashboard/portfolio

Query parameters

portfolioIdstring uuid required

Portfolio identifier.

Example:550e8400-e29b-41d4-a716-446655440000

Portfolio identifier.

asOfstring date

Business date (YYYY-MM-DD); defaults to today (UTC).

Example:2026-06-14

Business date (YYYY-MM-DD); defaults to today (UTC).

productIdsstring[] nullable

Filter by loan product identifiers (repeat to pass multiple).

Filter by loan product identifiers (repeat to pass multiple).

[
  "550e8400-e29b-41d4-a716-446655440001"
]
productVersionIdsstring[] nullable

Filter by loan product version identifiers (repeat to pass multiple).

Filter by loan product version identifiers (repeat to pass multiple).

[
  "550e8400-e29b-41d4-a716-446655440002"
]
bucketCode'current' | '1_30' | '31_60' | '61_90' | '91_plus' | 'par30' | 'par60' | 'par90'

Delinquency bucket code.

Example:par30

Delinquency bucket code.

Response

OK

asOfDatestring date-time required

Business date the metrics were computed for (RFC3339, UTC midnight).

portfolioIdstring required

Portfolio identifier (UUID) the metrics belong to.

Example response

{
  "asOfDate": "2026-06-14T12:00:00Z",
  "delinquencyDistribution": [
    {
      "bucketCode": "1_30",
      "exposureAmount": "75000.00",
      "loanCount": 42
    }
  ],
  "drillDown": [
    {
      "assignedOfficerId": "550e8400-e29b-41d4-a716-446655440012",
      "borrowerId": "550e8400-e29b-41d4-a716-446655440011",
      "bucketCode": "31_60",
      "daysOverdue": 45,
      "earliestUnpaidDueDate": "2026-06-14T12:00:00Z",
      "exposureAmount": "12500.00",
      "loanId": "550e8400-e29b-41d4-a716-446655440010",
      "productId": "550e8400-e29b-41d4-a716-446655440013",
      "productVersionId": "550e8400-e29b-41d4-a716-446655440014"
    }
  ],
  "freshness": {
    "generatedAt": "2026-06-14T12:00:00Z",
    "policyPersistedAt": "2026-06-14T12:00:00Z",
    "snapshotAsOfDate": "2026-06-14T12:00:00Z",
    "snapshotId": "550e8400-e29b-41d4-a716-446655440020"
  },
  "portfolioId": "550e8400-e29b-41d4-a716-446655440000",
  "summary": {
    "activeLoanCount": 1240,
    "currentExposure": "1100000.00",
    "delinquentExposure": "134567.89",
    "delinquentLoanCount": 86,
    "disbursementVolume": "250000.00",
    "outstandingExposure": "1234567.89",
    "par30": "0.05",
    "par60": "0.03",
    "par90": "0.02",
    "repaymentVolume": "180000.00"
  },
  "trend": [
    {
      "asOfDate": "2026-06-14T12:00:00Z",
      "delinquentExposure": "134567.89",
      "delinquentLoanCount": 86,
      "disbursementVolume": "250000.00",
      "month": "2026-06",
      "outstandingExposure": "1234567.89",
      "par30": "0.05",
      "par60": "0.03",
      "par90": "0.02",
      "repaymentVolume": "180000.00"
    }
  ]
}