Request
curl https://sandbox.api.lendeasy.ai /v1/servicing/reports/promise-allocation \
-H "Authorization: Bearer $TOKEN" \
-H "LendEasy-Tenant: $TENANT" await fetch(`https://sandbox.api.lendeasy.ai /v1/servicing/reports/promise-allocation` , {
method: "GET" ,
headers: { Authorization: `Bearer ${token}` , "LendEasy-Tenant" : tenant },
});requests.get(
f"https://sandbox.api.lendeasy.ai /v1/servicing/reports/promise-allocation" ,
headers={"Authorization" : f"Bearer {token}" , "LendEasy-Tenant" : tenant},
)200 400 401 403 404
{
"asOf": "2026-07-25T18: 40 :00Z",
"windowDays": 30 ,
"firstMinutesThreshold": 10 ,
"callbacks": {
"promised": 24 ,
"onTime": 18 ,
"late": 2 ,
"missedUnresolved": 1 ,
"cancelledNoLongerNeeded": 2 ,
"cancelledOther": 1 ,
"dialledWithinWindowShare": 0.857 ,
"dialledFirstMinutesShare": 0.667 ,
"dialledFirstMinutes": 14 ,
"medianTimeToDialSeconds": 312 ,
"p90TimeToDialSeconds": 1080 ,
"scheduledUpcoming": 5 ,
"inWindowNow": 1 ,
"atRiskNow": 0 ,
"cancellationReasons": [
{
"reasonCode": "PAYMENT_RECEIVED",
"count": 2
}
]
},
"offers": {
"total": 61 ,
"open": 2 ,
"accepted": 48 ,
"declined": 6 ,
"expired": 4 ,
"revoked": 1 ,
"acceptRate": 0.814 ,
"declineRate": 0.102 ,
"expiryRate": 0.068 ,
"medianTimeToAcceptSeconds": 41 ,
"p90TimeToAcceptSeconds": 138 ,
"medianTimeToReserveSeconds": 22 ,
"p90TimeToReserveSeconds": 95 ,
"declineReasons": [
{
"reason": "BUSY",
"count": 3
}
],
"byQueue": [
{
"queueCode": "COLLECTIONS",
"offers": 61 ,
"accepted": 48 ,
"declined": 6 ,
"expired": 4
}
]
},
"unassigned": {
"availableWithoutOffer": 3 ,
"oldestAgeSeconds": 1860 ,
"reasons": [
{
"reason": "UNTRACKED",
"count": 3 ,
"oldestAgeSeconds": 1860
}
]
},
"staffingGaps": [
{
"queueCode": "HARDSHIP",
"openTasks": 4 ,
"memberCount": 0 ,
"availableMembers": 0 ,
"membersWithCapacity": 0 ,
"gap": "NO_QUEUE_MEMBERS"
}
]
}{
"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": []
}