Cases API¶
Case management, interactions, supercases, campaigns, and pre-delinquency rules.
Base permission: IsViewerOrAbove (read), IsCollectorOrAbove (write)
Cases¶
| Method | Path | Description | Permission |
|---|---|---|---|
GET |
/cases |
List all cases | IsViewerOrAbove |
GET |
/cases/{id} |
Get case | IsViewerOrAbove |
POST |
/cases |
Create case | IsCollectorOrAbove |
PUT |
/cases/{id} |
Update case | IsCollectorOrAbove |
DELETE |
/cases/{id} |
Archive case | IsCollectorOrAbove |
POST |
/cases/{id}/escalate |
Escalate case | IsCollectorOrAbove |
POST |
/cases/{id}/close |
Close case | IsCollectorOrAbove |
POST |
/cases/{id}/reopen |
Reopen case | IsCollectorOrAbove |
POST |
/cases/{id}/snooze |
Snooze case | IsCollectorOrAbove |
POST |
/cases/{id}/unsnooze |
Unsnooze case | IsCollectorOrAbove |
Nested by Borrower/Loan¶
| Method | Path | Description |
|---|---|---|
GET |
/borrowers/{id}/cases |
List borrower's cases |
POST |
/borrowers/{id}/cases |
Create case for borrower |
GET |
/loans/{id}/cases |
List loan's cases |
POST |
/loans/{id}/cases |
Create case for loan |
Create Case¶
{
"borrower_id": "550e8400-e29b-41d4-a716-446655440000",
"loan_id": "661f9511-f3ac-52e5-b827-557766551111",
"case_type": "complaint",
"priority": "high",
"subject": "Billing dispute - January payment",
"description": "Borrower reports payment was made but not reflected on statement"
}
Case Types¶
| Type | Description |
|---|---|
general |
General inquiry or task |
complaint |
Customer complaint |
dispute |
Payment or billing dispute |
Case Lifecycle¶
open → in_progress → escalated → closed
→ snoozed → (wake up) → in_progress
↘ closed
closed → (reopen) → open
Escalate Case¶
Snooze Case¶
Temporarily pause a case with automatic wake-up.
SLA Tracking¶
Cases track SLA compliance:
{
"id": "...",
"priority": "high",
"sla_due_at": "2026-01-16T14:30:00Z",
"sla_breached": false,
"time_to_first_response": null,
"time_to_resolution": null
}
Interactions¶
Record individual interactions with borrowers.
| Method | Path | Description | Permission |
|---|---|---|---|
GET |
/interactions |
List all interactions | IsViewerOrAbove |
GET |
/interactions/{id} |
Get interaction | IsViewerOrAbove |
POST |
/interactions |
Create interaction | IsCollectorOrAbove |
PUT |
/interactions/{id} |
Update interaction | IsCollectorOrAbove |
GET |
/borrowers/{id}/interactions |
List borrower's interactions | IsViewerOrAbove |
Create Interaction¶
{
"borrower_id": "...",
"case_id": "...",
"direction": "outbound",
"channel": "phone",
"interaction_type": "call",
"theme": "collections",
"transcript": "Called borrower regarding past-due payment. Borrower agreed to pay by Friday.",
"duration_seconds": 180
}
Do-Not-Interact Rules¶
Per-borrower rules that block specific interaction channels.
| Method | Path | Description | Permission |
|---|---|---|---|
GET |
/do-not-interact |
List rules | IsViewerOrAbove |
GET |
/do-not-interact/{id} |
Get rule | IsViewerOrAbove |
POST |
/do-not-interact |
Create rule | IsCollectorOrAbove |
PUT |
/do-not-interact/{id} |
Update rule | IsCollectorOrAbove |
DELETE |
/do-not-interact/{id} |
Delete rule | IsCollectorOrAbove |
Supercases¶
Group multiple cases for bulk management.
| Method | Path | Description | Permission |
|---|---|---|---|
GET |
/supercases |
List supercases | IsViewerOrAbove |
GET |
/supercases/{id} |
Get supercase | IsViewerOrAbove |
POST |
/supercases |
Create supercase | IsAdminOrAbove |
PUT |
/supercases/{id} |
Update supercase | IsAdminOrAbove |
POST |
/supercases/{id}/add-cases |
Add cases to supercase | IsAdminOrAbove |
POST |
/supercases/{id}/bulk-action |
Apply action to all cases | IsAdminOrAbove |
Populations¶
Define populations of borrowers for supercase targeting.
| Method | Path | Description | Permission |
|---|---|---|---|
POST |
/supercases/{id}/populations |
Create population | IsAdminOrAbove |
GET |
/supercases/{id}/populations |
List populations | IsViewerOrAbove |
POST |
/supercases/{id}/populations/{pop_id}/preview |
Preview matching borrowers | IsAdminOrAbove |
POST |
/supercases/{id}/populations/{pop_id}/commit |
Commit (create cases) | IsAdminOrAbove |
Campaigns¶
Mass outreach campaigns with communication tracking.
| Method | Path | Description | Permission |
|---|---|---|---|
GET |
/campaigns |
List campaigns | IsViewerOrAbove |
GET |
/campaigns/{id} |
Get campaign | IsViewerOrAbove |
POST |
/campaigns |
Create campaign | IsAdminOrAbove |
PUT |
/campaigns/{id} |
Update campaign | IsAdminOrAbove |
POST |
/campaigns/{id}/launch |
Launch campaign | IsAdminOrAbove |
POST |
/campaigns/{id}/pause |
Pause campaign | IsAdminOrAbove |
Create Campaign¶
{
"name": "Q1 Retention Outreach",
"template_id": "...",
"channel": "email",
"filter_criteria": {
"delinquency_bucket": "dpd_1_29",
"program_id": "..."
},
"scheduled_date": "2026-02-01"
}
Pre-Delinquency Rules¶
Early warning rules that trigger actions before delinquency occurs.
| Method | Path | Description | Permission |
|---|---|---|---|
GET |
/pre-delinquency-rules |
List rules | IsViewerOrAbove |
GET |
/pre-delinquency-rules/{id} |
Get rule | IsViewerOrAbove |
POST |
/pre-delinquency-rules |
Create rule | IsAdminOrAbove |
PUT |
/pre-delinquency-rules/{id} |
Update rule | IsAdminOrAbove |
DELETE |
/pre-delinquency-rules/{id} |
Delete rule | IsAdminOrAbove |
See Also¶
- Case Management --- Case lifecycle, SLA tracking, campaigns
- Collections API --- Collection queues and actions
- Communications API --- Communication templates for campaigns
- Borrowers API --- Borrower profiles linked to cases