Activity Attribution Validator
API Contract
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"
}