REST /api/v1/role-sessions 5 endpoints
GET /api/v1/role-sessions/api/v1/role-sessions

List active role sessions

Public

Response Example

{
  "data": [
    {
      "session_id": "sess_c1d2e3f4",
      "user_id": "usr_8f3a1b2c",
      "current_role": "coordinator",
      "previous_role": "mentor",
      "switched_at": "2026-03-26T08:30:00Z",
      "is_active": true
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 12
  }
}
GET /api/v1/role-sessions/api/v1/role-sessions/:sessionId

Get current role state for a session

Public

Response Example

{
  "session_id": "sess_c1d2e3f4",
  "user_id": "usr_8f3a1b2c",
  "current_role": "coordinator",
  "previous_role": "mentor",
  "switched_at": "2026-03-26T08:30:00Z",
  "is_active": true
}
POST /api/v1/role-sessions/api/v1/role-sessions

Initialize a role session for a user

Public

Request Example

{
  "user_id": "usr_8f3a1b2c",
  "initial_role": "mentor"
}

Response Example

{
  "session_id": "sess_c1d2e3f4",
  "user_id": "usr_8f3a1b2c",
  "current_role": "mentor",
  "previous_role": null,
  "switched_at": "2026-03-26T10:20:00Z",
  "is_active": true
}
PUT /api/v1/role-sessions/api/v1/role-sessions/:sessionId

Switch active role within an existing session

Public

Request Example

{
  "new_role": "coordinator",
  "reset_state": false
}

Response Example

{
  "session_id": "sess_c1d2e3f4",
  "user_id": "usr_8f3a1b2c",
  "current_role": "coordinator",
  "previous_role": "mentor",
  "switched_at": "2026-03-26T10:25:00Z",
  "is_active": true
}
DELETE /api/v1/role-sessions/api/v1/role-sessions/:sessionId

Reset and terminate a role session

Public

Response Example

{
  "deleted": true,
  "session_id": "sess_c1d2e3f4"
}

Additional Metadata

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