Proxy Duplicate Detector
API Contract
REST
/api/v1/duplicate-checks
5 endpoints
GET
/api/v1/duplicate-checks/api/v1/duplicate-checks
List duplicate check results with optional filters
Public
Response Example
{
"data": [
{
"id": "dup-001",
"mentor_id": "mentor-17",
"activity_type": "tutoring_session",
"activity_date": "2026-03-20",
"is_duplicate": true,
"existing_activity_id": "pa-001",
"overridden": false,
"checked_at": "2026-03-25T08:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
GET
/api/v1/duplicate-checks/api/v1/duplicate-checks/:id
Get a duplicate check result by ID
Public
Response Example
{
"id": "dup-001",
"mentor_id": "mentor-17",
"activity_type": "tutoring_session",
"activity_date": "2026-03-20",
"is_duplicate": true,
"existing_activity_id": "pa-001",
"override_allowed": true,
"overridden": false,
"checked_at": "2026-03-25T08:00:00Z"
}
POST
/api/v1/duplicate-checks/api/v1/duplicate-checks
Check for duplicate activities across a set of mentors before registration
Public
Request Example
{
"mentor_ids": [
"mentor-17",
"mentor-18",
"mentor-19"
],
"activity_type": "tutoring_session",
"activity_date": "2026-03-25"
}
Response Example
{
"duplicates_found": 1,
"warnings": [
{
"mentor_id": "mentor-17",
"activity_type": "tutoring_session",
"activity_date": "2026-03-25",
"existing_activity_id": "pa-001",
"message": "A tutoring_session already exists for mentor-17 on 2026-03-25"
}
],
"clean_mentor_ids": [
"mentor-18",
"mentor-19"
]
}
PUT
/api/v1/duplicate-checks/api/v1/duplicate-checks/:id
Override a duplicate warning to allow the registration to proceed
Public
Request Example
{
"override": true,
"override_reason": "Separate session same type — confirmed by coordinator"
}
Response Example
{
"id": "dup-001",
"mentor_id": "mentor-17",
"overridden": true,
"override_reason": "Separate session same type — confirmed by coordinator",
"overridden_at": "2026-03-25T09:15:00Z"
}
DELETE
/api/v1/duplicate-checks/api/v1/duplicate-checks/:id
Remove a duplicate check record
Public
Response Example
{
"message": "Duplicate check record dup-001 deleted successfully"
}