LendEasy/DocsLMS + Servicing·v1
Start integrating
GuidesServicing PlaneCase notes

Case notes

Record revisioned operational notes on a case, discover them by case, customer, or loan, control sensitivity, and archive or permanently redact without losing identity or history.

A case note is the servicing plane’s operational commentary — what a worker observed, agreed, or intends to do next. It is revisioned rather than editable, link-aware rather than free-floating, and it is never the authoritative record of a regulated fact.

These notes are servicing-owned and live under /v1/servicing/notes. The Lending Core keeps its own customer and loan notes at /v1/notes — see Notes. The two do not share identifiers, permissions, or retention scope.

Create on a case

A note is always created against its owning case. The case and customer links are derived; only loan links are selectable:

curl -X POST "$BASE/v1/servicing/cases/1001/notes" \
  -H "Authorization: Bearer $TOKEN" \
  -H "LendEasy-Tenant: demo-lender" \
  -H "Content-Type: application/json" \
  -d '{
    "body": "Customer will provide the missing filing page through secure upload.",
    "loanRefs": ["456"],
    "sensitive": true,
    "pinned": true,
    "flagged": false
  }'
{
  "noteId": 7201,
  "revision": 1,
  "status": "ACTIVE",
  "links": [
    { "targetType": "CASE", "targetRef": "1001" },
    { "targetType": "CUSTOMER", "targetRef": "123" },
    { "targetType": "LOAN", "targetRef": "456" }
  ],
  "resourceId": 7201
}

body is the only required field. Three flags shape handling rather than content:

Flag Effect
sensitive Requires separate authorization to read the body; the customer-scope list masks it without that authorization.
pinned Surfaces the note at the top of the case workspace.
flagged Marks the note for supervisor or quality attention.

Revisions, not edits

PUT /v1/servicing/notes/{noteId} appends a new revision and preserves note identity and the immutable revision history:

{
  "body": "Customer supplied the final filing page through secure upload.",
  "sensitive": true,
  "pinned": false,
  "flagged": false,
  "changeReason": "Recorded verified receipt."
}
{
  "resourceId": 7201,
  "changes": { "revision": 2, "fieldKeys": ["body", "pinned"] }
}

The command envelope reports the new revision and exactly which fields changed. GET /v1/servicing/notes/{noteId} returns the current authorized revision with its creator’s display name and actor type — HUMAN or an AI worker — so authorship is never ambiguous in a mixed workforce.

Discovery by case, customer, and loan

Route Returns
GET /v1/servicing/cases/{caseId}/notes Notes on one matter.
GET /v1/servicing/customers/{customerRef}/notes Servicing notes across the customer’s visible cases, with sensitive bodies masked unless separately authorized.
GET /v1/servicing/loans/{loanRef}/notes Only notes explicitly linked to that loan.

All three accept the same exact filters — status, sensitive, pinned, flagged, createdFrom, createdTo — plus limit/offset paging. There is no keyword parameter: notes are found through structured filters and their links, not full-text search over operational commentary.

The loan view is deliberately narrower than the customer view. A note reaches a loan only through an explicit link, so a general customer note does not silently attach itself to every loan the customer holds.

Loan links are corrected without touching content or revision history:

PUT /v1/servicing/notes/7201/loan-links

{
  "loanRefs": ["456"],
  "reason": "The note applies only to the selected loan."
}

The replacement is atomic — the supplied list becomes the complete set of loan links. Sending [] removes them all while the derived case and customer links remain.

Archive and redact

Two terminal commands exist and they are not interchangeable:

  • POST /v1/servicing/notes/{noteId}/archive moves the note to ARCHIVED under retention rules. Identity, revisions, and links survive; the note simply stops being current operational content.
  • POST /v1/servicing/notes/{noteId}/redact appends a permanent redaction-marker revision. The content is removed from view for good, while audit and link history are retained so the record’s existence and its causal edges remain provable.

Both require a reason, and both are appends. Neither deletes the note.

A note cannot be the only record of a consent revocation, cease request, bankruptcy filing, promise, approval, or account action. Those facts belong in their structured records — a redaction later can remove note content, and a regulated fact must not disappear with it.

Permissions

Operation Permission
Read notes READ_SERVICING_NOTE
Create a note CREATE_SERVICING_NOTE
Revise a note or replace loan links UPDATE_SERVICING_NOTE
Archive ARCHIVE_SERVICING_NOTE
Redact REDACT_SERVICING_NOTE

Reading a sensitive body requires separate authorization in addition to READ_SERVICING_NOTE. On the customer-scope list, an unauthorized caller still sees the note’s metadata with a masked body rather than a silently shortened list.

Unified search across guides, recipes & the API referenceEsc