Post-Session Report Repository
API Contract
REST
/api/v1/reports
7 endpoints
GET
/api/v1/reports/api/v1/reports
List post-session reports
Public
Response Example
{
"data": [
{
"report_id": "rpt_8f3a2c1d",
"activity_id": "act_7b4e9f2a",
"peer_mentor_id": "usr_mentor_042",
"status": "submitted",
"submitted_at": "2026-03-20T14:32:00Z",
"created_at": "2026-03-20T14:10:00Z",
"field_count": 8,
"has_way_forward": true
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 47
}
}
GET
/api/v1/reports/api/v1/reports/:id
Get a post-session report by ID
Public
Response Example
{
"report_id": "rpt_8f3a2c1d",
"activity_id": "act_7b4e9f2a",
"peer_mentor_id": "usr_mentor_042",
"org_id": "org_nansen_01",
"status": "submitted",
"fields": {
"session_date": "2026-03-20",
"attendance_count": 6,
"session_topic": "Job application support",
"participant_engagement": "high",
"challenges_noted": "Language barrier for two participants",
"mentor_notes": "Group discussed CV writing. Follow-up needed for two participants seeking referrals."
},
"submitted_at": "2026-03-20T14:32:00Z",
"created_at": "2026-03-20T14:10:00Z",
"updated_at": "2026-03-20T14:30:00Z"
}
POST
/api/v1/reports/api/v1/reports
Create a new post-session report
Public
Request Example
{
"activity_id": "act_7b4e9f2a",
"peer_mentor_id": "usr_mentor_042",
"org_id": "org_nansen_01",
"fields": {
"session_date": "2026-03-20",
"attendance_count": 6,
"session_topic": "Job application support",
"participant_engagement": "high",
"challenges_noted": "Language barrier for two participants",
"mentor_notes": "Group discussed CV writing."
}
}
Response Example
{
"report_id": "rpt_8f3a2c1d",
"activity_id": "act_7b4e9f2a",
"peer_mentor_id": "usr_mentor_042",
"status": "draft",
"created_at": "2026-03-20T14:10:00Z"
}
PUT
/api/v1/reports/api/v1/reports/:id
Update a post-session report
Public
Request Example
{
"fields": {
"attendance_count": 7,
"mentor_notes": "Group discussed CV writing. One participant completed application during session.",
"participant_engagement": "very_high"
},
"status": "submitted"
}
Response Example
{
"report_id": "rpt_8f3a2c1d",
"status": "submitted",
"submitted_at": "2026-03-20T14:32:00Z",
"updated_at": "2026-03-20T14:32:00Z"
}
DELETE
/api/v1/reports/api/v1/reports/:id
Delete a post-session report
Public
Response Example
{
"deleted": true,
"report_id": "rpt_8f3a2c1d"
}
GET
/api/v1/reports/api/v1/reports/by-activity/:activityId
List reports for a specific activity
Public
Response Example
{
"data": [
{
"report_id": "rpt_8f3a2c1d",
"peer_mentor_id": "usr_mentor_042",
"status": "submitted",
"submitted_at": "2026-03-20T14:32:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3
}
}
GET
/api/v1/reports/api/v1/reports/by-mentor/:mentorId
List reports submitted by a peer mentor
Public
Response Example
{
"data": [
{
"report_id": "rpt_8f3a2c1d",
"activity_id": "act_7b4e9f2a",
"status": "submitted",
"submitted_at": "2026-03-20T14:32:00Z"
},
{
"report_id": "rpt_2c9d4e7f",
"activity_id": "act_1a3b5c8d",
"status": "draft",
"submitted_at": null
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 12
}
}