Case Workflows
TrustGate provides flexible workflows for managing cases through their lifecycle, from assignment to escalation to resolution.
Case Assignment
Assign to User
curl -X POST https://api.bytrustgate.com/v1/cases/{case_id}/assign \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"assignee_id": "user_123",
"note": "Please review this sanctions alert"
}'
Assign to Team
curl -X POST https://api.bytrustgate.com/v1/cases/{case_id}/assign \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"team_id": "team_compliance",
"note": "Requires senior analyst review"
}'
Auto-Assignment Rules
Configure automatic case routing:
curl -X PUT https://api.bytrustgate.com/v1/settings/case-routing \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rules": [
{
"condition": {
"type": "sanctions",
"priority": "critical"
},
"assign_to": "team_senior_compliance",
"sla_hours": 4
},
{
"condition": {
"type": "verification",
"priority": "medium"
},
"assign_to": "team_operations",
"sla_hours": 72
},
{
"condition": {
"type": "pep"
},
"assign_to": "team_enhanced_dd",
"sla_hours": 24
}
]
}'
Status Transitions
Update Case Status
curl -X PATCH https://api.bytrustgate.com/v1/cases/{case_id} \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "in_progress",
"note": "Beginning investigation"
}'
Valid Status Transitions
┌─────────┐
│ OPEN │
└────┬────┘
│
├──────────────────────────┐
│ │
v v
┌─────────────┐ ┌──────────────┐
│ IN_PROGRESS │──────────│ ESCALATED │
└──────┬──────┘ └──────┬───────┘
│ │
├────────────────────────┤
│ │
v v
┌──────────────┐ ┌──────────┐
│ PENDING_INFO │────────>│ RESOLVED │
└──────────────┘ └────┬─────┘
│
v
┌──────────┐
│ CLOSED │
└──────────┘
| From | To | Allowed |
|---|---|---|
open | in_progress | ✅ |
open | escalated | ✅ |
in_progress | pending_info | ✅ |
in_progress | resolved | ✅ |
in_progress | escalated | ✅ |
escalated | resolved | ✅ |
pending_info | in_progress | ✅ |
resolved | closed | ✅ |
closed | open | ✅ (reopen) |
Escalation
Escalate Case
curl -X POST https://api.bytrustgate.com/v1/cases/{case_id}/escalate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"escalate_to": "user_senior_analyst",
"reason": "Requires senior review - complex ownership structure",
"urgency": "high"
}'
Escalation Levels
| Level | Escalate To | Use Case |
|---|---|---|
| L1 | Senior Analyst | Complex cases, unclear matches |
| L2 | Compliance Manager | Policy decisions, high-risk approvals |
| L3 | MLRO/CCO | Regulatory filings, SAR decisions |
Auto-Escalation
Cases escalate automatically when:
curl -X PUT https://api.bytrustgate.com/v1/settings/auto-escalation \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rules": [
{
"trigger": "sla_breach",
"escalate_to": "team_managers",
"notification": true
},
{
"trigger": "priority_critical",
"max_time_unassigned_minutes": 30,
"escalate_to": "user_on_call"
},
{
"trigger": "multiple_hits",
"hit_count_threshold": 5,
"escalate_to": "team_senior_compliance"
}
]
}'
Adding Notes and Evidence
Add Case Note
curl -X POST https://api.bytrustgate.com/v1/cases/{case_id}/notes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Verified identity documents against government database. All checks passed.",
"visibility": "internal"
}'
Attach Evidence
curl -X POST https://api.bytrustgate.com/v1/cases/{case_id}/evidence \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@screenshot.png" \
-F "description=Screenshot of government database verification" \
-F "evidence_type=verification_result"
Evidence Types
| Type | Description |
|---|---|
document | Supporting documents |
screenshot | System screenshots |
verification_result | Third-party verification |
correspondence | Customer communication |
research | External research |
Request Information
Mark as Pending Information
curl -X POST https://api.bytrustgate.com/v1/cases/{case_id}/request-info \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"info_needed": "Additional proof of address dated within last 3 months",
"deadline": "2025-01-27T23:59:59Z",
"notify_customer": true
}'
Case Activities
Get Case Timeline
curl -X GET "https://api.bytrustgate.com/v1/cases/{case_id}/activities" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
{
"activities": [
{
"id": "activity_001",
"type": "status_change",
"from_status": "open",
"to_status": "in_progress",
"user": "analyst@company.com",
"timestamp": "2025-01-20T10:00:00Z"
},
{
"id": "activity_002",
"type": "note_added",
"note_id": "note_123",
"user": "analyst@company.com",
"timestamp": "2025-01-20T10:15:00Z"
},
{
"id": "activity_003",
"type": "escalation",
"escalated_to": "senior@company.com",
"reason": "Requires senior review",
"user": "analyst@company.com",
"timestamp": "2025-01-20T11:00:00Z"
}
]
}
SLA Management
View SLA Status
curl -X GET "https://api.bytrustgate.com/v1/cases/{case_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"id": "case_789012",
"priority": "high",
"sla": {
"target_hours": 24,
"elapsed_hours": 18,
"remaining_hours": 6,
"status": "on_track",
"due_at": "2025-01-21T14:30:00Z"
}
}
SLA Statuses
| Status | Description |
|---|---|
on_track | Within SLA timeframe |
at_risk | Less than 25% time remaining |
breached | SLA deadline passed |
paused | SLA clock paused (pending info) |
Bulk Operations
Bulk Assign
curl -X POST https://api.bytrustgate.com/v1/cases/bulk/assign \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"case_ids": ["case_1", "case_2", "case_3"],
"assignee_id": "user_123"
}'
Bulk Status Update
curl -X POST https://api.bytrustgate.com/v1/cases/bulk/status \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"case_ids": ["case_1", "case_2"],
"status": "in_progress"
}'
Next Steps
- Resolving Cases - Resolution procedures
- AI Assistance - AI-powered investigation help
- About Case Management - Overview