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"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}