Activity Registration Cubit
API Contract
REST
/api/v1/registration-sessions
5 endpoints
GET
/api/v1/registration-sessions/api/v1/registration-sessions
List active or recent registration sessions (cubit state snapshots for multi-device sync)
Public
Response Example
{
"data": [
{
"id": "session_e9f0a1",
"user_id": "mentor_4b8c21",
"selected_activity_type_id": "type_running",
"date": "2026-03-26",
"duration_minutes": 45,
"status": "active",
"defaults_loaded": true,
"created_at": "2026-03-26T07:50:00Z",
"updated_at": "2026-03-26T07:52:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3
}
}
GET
/api/v1/registration-sessions/api/v1/registration-sessions/:id
Get a specific registration session
Public
Response Example
{
"id": "session_e9f0a1",
"user_id": "mentor_4b8c21",
"selected_activity_type_id": "type_running",
"date": "2026-03-26",
"duration_minutes": 45,
"status": "active",
"defaults_loaded": true,
"created_at": "2026-03-26T07:50:00Z",
"updated_at": "2026-03-26T07:52:00Z"
}
POST
/api/v1/registration-sessions/api/v1/registration-sessions
Initialise a new registration session and load defaults (maps to loadDefaults)
Public
Request Example
{
"user_id": "mentor_4b8c21"
}
Response Example
{
"id": "session_e9f0a1",
"user_id": "mentor_4b8c21",
"selected_activity_type_id": "type_running",
"date": "2026-03-26",
"duration_minutes": 45,
"status": "active",
"defaults_loaded": true,
"created_at": "2026-03-26T07:50:00Z",
"updated_at": "2026-03-26T07:50:00Z"
}
PUT
/api/v1/registration-sessions/api/v1/registration-sessions/:id
Update session state (maps to selectActivityType, setDate, setDuration)
Public
Request Example
{
"selected_activity_type_id": "type_cycling",
"date": "2026-03-26",
"duration_minutes": 60
}
Response Example
{
"id": "session_e9f0a1",
"user_id": "mentor_4b8c21",
"selected_activity_type_id": "type_cycling",
"date": "2026-03-26",
"duration_minutes": 60,
"status": "active",
"defaults_loaded": true,
"created_at": "2026-03-26T07:50:00Z",
"updated_at": "2026-03-26T08:05:00Z"
}
DELETE
/api/v1/registration-sessions/api/v1/registration-sessions/:id
Cancel and remove a registration session
Public
Response Example
{
"deleted": true,
"id": "session_e9f0a1"
}