Proxy Registration BLoC
API Contract
REST
/api/v1/proxy-registration-sessions
6 endpoints
GET
/api/v1/proxy-registration-sessions/api/v1/proxy-registration-sessions
List active or recent proxy registration sessions (form states)
Public
Response Example
{
"data": [
{
"session_id": "sess-001",
"coordinator_id": "coord-119",
"state": "mentor_selected",
"selected_mentor_id": "mentor-482",
"form_data": {
"activity_type": "peer_session",
"activity_date": "2026-03-26"
},
"created_at": "2026-03-26T09:55:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3
}
}
GET
/api/v1/proxy-registration-sessions/api/v1/proxy-registration-sessions/:session_id
Get current state of a registration session
Public
Response Example
{
"session_id": "sess-001",
"coordinator_id": "coord-119",
"state": "mentor_selected",
"selected_mentor_id": "mentor-482",
"form_data": {
"activity_type": "peer_session",
"activity_date": "2026-03-26",
"duration_minutes": 60
},
"validation_errors": [],
"created_at": "2026-03-26T09:55:00Z",
"updated_at": "2026-03-26T09:57:00Z"
}
POST
/api/v1/proxy-registration-sessions/api/v1/proxy-registration-sessions
Start a new proxy registration session
Public
Request Example
{
"coordinator_id": "coord-119"
}
Response Example
{
"session_id": "sess-002",
"coordinator_id": "coord-119",
"state": "initial",
"form_data": {},
"created_at": "2026-03-26T10:00:00Z"
}
PUT
/api/v1/proxy-registration-sessions/api/v1/proxy-registration-sessions/:session_id
Dispatch an event to update session state (form update or mentor selection)
Public
Request Example
{
"event_type": "MentorSelectedEvent",
"mentor_id": "mentor-482"
}
Response Example
{
"session_id": "sess-002",
"coordinator_id": "coord-119",
"state": "mentor_selected",
"selected_mentor_id": "mentor-482",
"form_data": {},
"validation_errors": [],
"updated_at": "2026-03-26T10:01:00Z"
}
DELETE
/api/v1/proxy-registration-sessions/api/v1/proxy-registration-sessions/:session_id
Discard a registration session
Public
Response Example
{
"success": true,
"deleted_session_id": "sess-002"
}
POST
/api/v1/proxy-registration-sessions/api/v1/proxy-registration-sessions/:session_id/events
Dispatch a form update event to the BLoC
Public
Request Example
{
"event_type": "ProxyFormUpdatedEvent",
"form_data": {
"activity_type": "workshop",
"activity_date": "2026-03-28",
"duration_minutes": 90,
"notes": "Skills workshop"
}
}
Response Example
{
"session_id": "sess-001",
"state": "form_valid",
"form_data": {
"activity_type": "workshop",
"activity_date": "2026-03-28",
"duration_minutes": 90,
"notes": "Skills workshop"
},
"validation_errors": [],
"updated_at": "2026-03-26T10:05:00Z"
}