200 400 401 403 404
{
"asOf": "2026-07-25T18: 30 :00Z",
"periodStart": "2025-02-01",
"periodEnd": "2026-07-25",
"currency": "USD",
"demo": false ,
"status": "COMPLETE",
"provenance": {
"label": "Reporting snapshot",
"loadKey": "INVESTOR_V1: 2026 -07-25",
"sourceWatermark": "portfolio-v1: 2026 -07-25",
"generationMode": "SNAPSHOT_LOAD",
"nonAuthoritative": true
},
"key": "collections-promises",
"title": "Collections And Promises",
"category": "Credit & Collections",
"description": "Case demand, contact activity, promise conversion, promise dollars, and kept rate.",
"question": "Is collections work producing credible commitments and realized cash?",
"cadence": "Daily close",
"accent": "AMBER",
"metrics": [
{
"key": "openCases",
"label": "Open collection cases",
"value": 230 ,
"format": "number",
"tone": "neutral",
"context": "Active servicing cases requiring work."
},
{
"key": "keptRate",
"label": "Promise kept rate",
"value": 82.7068 ,
"format": "percent",
"delta": 0.6755 ,
"deltaLabel": "vs prior month",
"tone": "positive",
"context": "Promises kept divided by promises created."
},
{
"key": "promiseAmount",
"label": "Promise dollars",
"value": 55594 ,
"format": "currency",
"tone": "neutral",
"context": "Committed amount in the latest month."
},
{
"key": "keptAmount",
"label": "Realized promise dollars",
"value": 48510 ,
"format": "currency",
"tone": "positive",
"context": "Cash realized from kept promises."
}
],
"insights": [
{
"tone": "positive",
"title": "Promise quality is improving",
"body": "Kept-rate improvement indicates contacts are producing more credible commitments."
},
{
"tone": "neutral",
"title": "Commitments and cash stay distinct",
"body": "Promise dollars are never counted as collected until the corresponding cash is realized."
}
],
"trend": {
"title": "Promise conversion",
"description": "Promises created and kept over twelve months.",
"format": "number",
"series": [
{
"key": "created",
"label": "Created",
"accent": "AMBER",
"points": [
{
"period": "2026-06-01",
"label": "Jun 26",
"value": 128
},
{
"period": "2026-07-01",
"label": "Jul 26",
"value": 133
}
]
},
{
"key": "kept",
"label": "Kept",
"accent": "EMERALD",
"points": [
{
"period": "2026-06-01",
"label": "Jun 26",
"value": 105
},
{
"period": "2026-07-01",
"label": "Jul 26",
"value": 110
}
]
}
]
},
"breakdown": {
"title": "Latest contact-channel mix",
"description": "Countable servicing contacts by channel.",
"format": "number",
"items": [
{
"label": "Phone",
"value": 453 ,
"share": 46.0366 ,
"tone": "BLUE"
},
{
"label": "Email",
"value": 335 ,
"share": 34.0447 ,
"tone": "VIOLET"
},
{
"label": "SMS",
"value": 197 ,
"share": 20.0203 ,
"tone": "EMERALD"
}
]
},
"table": {
"title": "Monthly collections execution",
"columns": [
{
"key": "period",
"label": "Period",
"format": "text"
},
{
"key": "promises",
"label": "Promises",
"format": "number"
},
{
"key": "keptRate",
"label": "Kept rate",
"format": "percent"
},
{
"key": "promiseAmount",
"label": "Promise dollars",
"format": "currency"
}
],
"rows": [
{
"period": "Jun 26",
"promises": 128 ,
"keptRate": 82.0313 ,
"promiseAmount": 52480
},
{
"period": "Jul 26",
"promises": 133 ,
"keptRate": 82.7068 ,
"promiseAmount": 55594
}
]
},
"methodology": "Closed monthly servicing aggregates. Kept rate is count-based; dollar kept rate is value-based. Contact counts include only countable servicing attempts."
}{
"developerMessage": "Request was understood but rejected; inspect errors for field-level causes.",
"httpStatusCode": "400",
"defaultUserMessage": "The request could not be applied.",
"userMessageGlobalisationCode": "validation.msg.validation.errors.exist",
"errors": []
}{
"developerMessage": "Request was understood but rejected; inspect errors for field-level causes.",
"httpStatusCode": "401",
"defaultUserMessage": "The request could not be applied.",
"userMessageGlobalisationCode": "error.msg.not.authenticated",
"errors": []
}{
"developerMessage": "Request was understood but rejected; inspect errors for field-level causes.",
"httpStatusCode": "403",
"defaultUserMessage": "The request could not be applied.",
"userMessageGlobalisationCode": "error.msg.not.authorized",
"errors": []
}{
"developerMessage": "Request was understood but rejected; inspect errors for field-level causes.",
"httpStatusCode": "404",
"defaultUserMessage": "The request could not be applied.",
"userMessageGlobalisationCode": "error.msg.resource.not.found",
"errors": []
}