Skip to content

Cases Rail

Case management, workflow automation, and SLA tracking.

The Cases Rail provides endpoints for managing operational cases, workflow automation, assignment rules, and SLA monitoring.

/api/v1/cases
POST /api/v1/cases

Create a new case.

Request Body:

{
"type": "INVESTIGATION",
"category": "AML_REVIEW",
"subject": "Suspicious activity review",
"description": "Review triggered by AML alert",
"priority": "HIGH",
"relatedEntities": [
{ "type": "ALERT", "id": "alert_123" },
{ "type": "CUSTOMER", "id": "cust_456" }
],
"dueDate": "2025-01-20T17:00:00Z"
}

Response:

{
"data": {
"caseId": "case_abc123",
"caseNumber": "CASE-2025-0001",
"status": "OPEN",
"assignedTo": "agent_xyz",
"queue": "AML_INVESTIGATIONS",
"sla": {
"responseDeadline": "2025-01-15T14:00:00Z",
"resolutionDeadline": "2025-01-20T17:00:00Z"
},
"createdAt": "2025-01-15T10:00:00Z"
}
}
GET /api/v1/cases/:caseId

Retrieve case details.

GET /api/v1/cases

Query Parameters:

ParameterTypeDescription
statusstringFilter by status
typestringFilter by type
queuestringFilter by queue
assignedTostringFilter by assignee
prioritystringFilter by priority
PATCH /api/v1/cases/:caseId

Update case details.

POST /api/v1/cases/:caseId/assign

Assign case to agent.

Request Body:

{
"assignTo": "agent_abc",
"reason": "Specialist assignment",
"notifyAssignee": true
}
POST /api/v1/cases/:caseId/tasks

Add a task to the case.

Request Body:

{
"title": "Request customer documentation",
"description": "Contact customer for source of funds documentation",
"dueDate": "2025-01-17T17:00:00Z",
"assignedTo": "agent_xyz"
}
POST /api/v1/cases/:caseId/tasks/:taskId/complete

Mark task as complete.

Request Body:

{
"notes": "Documentation received and uploaded",
"attachments": ["doc_123"]
}
POST /api/v1/cases/:caseId/close

Close the case.

Request Body:

{
"resolution": "COMPLETED",
"outcome": "NO_SUSPICIOUS_ACTIVITY",
"summary": "Investigation concluded - no further action required",
"findings": [
"Customer activity consistent with profile",
"Source of funds verified"
]
}
GET /api/v1/cases/:caseId/timeline

Get case activity timeline.

GET /api/v1/cases/:caseId/sla

Get SLA status for case.

Response:

{
"data": {
"responseDeadline": "2025-01-15T14:00:00Z",
"responseStatus": "MET",
"respondedAt": "2025-01-15T12:00:00Z",
"resolutionDeadline": "2025-01-20T17:00:00Z",
"resolutionStatus": "ON_TRACK",
"timeRemaining": "5d 5h"
}
}
TypeDescription
INVESTIGATIONInvestigation case
SERVICE_REQUESTService request
COMPLAINTCustomer complaint
CHANGE_REQUESTChange request
INCIDENTIncident case
StatusDescription
OPENNewly created
IN_PROGRESSBeing worked
PENDINGWaiting for input
ON_HOLDOn hold
RESOLVEDResolved
CLOSEDClosed
PriorityResponse SLAResolution SLA
CRITICAL1 hour4 hours
HIGH4 hours24 hours
MEDIUM8 hours3 days
LOW24 hours7 days
EventDescription
case.createdCase created
case.assignedCase assigned
case.updatedCase updated
case.closedCase closed
case.sla.warningSLA warning
case.sla.breachSLA breached