Duplicate Activity Detector
API Contract
REST
/api/v1/duplicate-flags
5 endpoints
GET
/api/v1/duplicate-flags/api/v1/duplicate-flags
List all duplicate flags, optionally filtered by unit
Public
Response Example
{
"data": [
{
"flag_id": "dup-001",
"activity_id": "act-4401",
"duplicate_of_id": "act-4388",
"fingerprint": "a7f3c2d1e9b0",
"unit_id": "unit-002",
"flagged_at": "2026-02-14T09:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1
}
}
GET
/api/v1/duplicate-flags/api/v1/duplicate-flags/{flagId}
Get a specific duplicate flag record
Public
Response Example
{
"flag_id": "dup-001",
"activity_id": "act-4401",
"duplicate_of_id": "act-4388",
"fingerprint": "a7f3c2d1e9b0",
"unit_id": "unit-002",
"flagged_at": "2026-02-14T09:00:00Z",
"resolved": false
}
POST
/api/v1/duplicate-flags/api/v1/duplicate-flags
Check for duplicates and flag if found
Public
Request Example
{
"activity_id": "act-4510",
"unit_id": "unit-002"
}
Response Example
{
"flag_id": "dup-022",
"activity_id": "act-4510",
"duplicate_of_id": "act-4388",
"fingerprint": "a7f3c2d1e9b0",
"is_duplicate": true,
"flagged_at": "2026-03-26T10:00:00Z"
}
PUT
/api/v1/duplicate-flags/api/v1/duplicate-flags/{flagId}
Update a duplicate flag (e.g. mark as resolved or override)
Public
Request Example
{
"resolved": true,
"resolution_note": "Confirmed distinct activity after manual review"
}
Response Example
{
"flag_id": "dup-001",
"resolved": true,
"resolution_note": "Confirmed distinct activity after manual review",
"updated_at": "2026-03-26T14:00:00Z"
}
DELETE
/api/v1/duplicate-flags/api/v1/duplicate-flags/{flagId}
Remove a duplicate flag
Public
Response Example
{
"deleted": true,
"flag_id": "dup-001"
}