REST /api/v1/attribution-validation 7 endpoints
GET /api/v1/attribution-validation/api/v1/attribution-validation

List recent attribution validation results

Public

Response Example

{
  "data": [
    {
      "id": "av-001",
      "coordinator_id": "coord-119",
      "mentor_id": "mentor-482",
      "result": "valid",
      "checked_at": "2026-03-26T09:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 120
  }
}
GET /api/v1/attribution-validation/api/v1/attribution-validation/:id

Get a specific attribution validation result

Public

Response Example

{
  "id": "av-001",
  "coordinator_id": "coord-119",
  "mentor_id": "mentor-482",
  "result": "valid",
  "reason": "Mentor is directly supervised by coordinator",
  "checked_at": "2026-03-26T09:00:00Z"
}
POST /api/v1/attribution-validation/api/v1/attribution-validation

Validate coordinator-mentor attribution

Public

Request Example

{
  "coordinator_id": "coord-119",
  "mentor_id": "mentor-482"
}

Response Example

{
  "id": "av-002",
  "coordinator_id": "coord-119",
  "mentor_id": "mentor-482",
  "result": "valid",
  "reason": "Mentor belongs to coordinator's group",
  "checked_at": "2026-03-26T10:00:00Z"
}
PUT /api/v1/attribution-validation/api/v1/attribution-validation/:id

Override or annotate a validation result (admin use)

Public

Request Example

{
  "result": "override_valid",
  "override_reason": "Manual exception granted by admin",
  "overridden_by": "admin-007"
}

Response Example

{
  "id": "av-001",
  "result": "override_valid",
  "override_reason": "Manual exception granted by admin",
  "overridden_by": "admin-007",
  "updated_at": "2026-03-26T10:20:00Z"
}
DELETE /api/v1/attribution-validation/api/v1/attribution-validation/:id

Delete a validation result record

Public

Response Example

{
  "success": true,
  "deleted_id": "av-001"
}
POST /api/v1/attribution-validation/api/v1/attribution-validation/check-duplicate

Check if a duplicate activity exists for a mentor on a given date

Public

Request Example

{
  "mentor_id": "mentor-482",
  "activity_date": "2026-03-25",
  "activity_type": "peer_session"
}

Response Example

{
  "is_duplicate": false,
  "mentor_id": "mentor-482",
  "activity_date": "2026-03-25",
  "activity_type": "peer_session",
  "checked_at": "2026-03-26T10:00:00Z"
}
GET /api/v1/attribution-validation/api/v1/attribution-validation/mentor-under-coordinator

Check if a mentor is under a coordinator's supervision

Public

Response Example

{
  "coordinator_id": "coord-119",
  "mentor_id": "mentor-482",
  "is_under_coordinator": true,
  "relationship_type": "direct",
  "checked_at": "2026-03-26T10:00:00Z"
}

Additional Metadata

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