/impersonate/sessions - List impersonation sessions
Retrieves all impersonation sessions for the current user. Sessions are grouped by session_id and show start/end times, duration, and action count. This endpoint should be used first to get session overview, then use /impersonate/audit/{session_id} to get detailed audit logs for specific sessions.
GET
/impersonate/sessions
curl \
--request GET 'https://api.your-domain.com/api/impersonate/sessions' \
--header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
"code": 200,
"message": "sessions retrieved successfully",
"data": {
"sessions": [
{
"session_id": "sess_abc123def456",
"impersonator_user_id": "usr_owner_123",
"impersonated_user_id": "usr_target_456",
"impersonator_username": "owner@company.com",
"impersonated_username": "customer@example.com",
"impersonator_name": "John Doe",
"impersonated_name": "Jane Smith",
"start_time": "2025-09-02T14:30:00Z",
"end_time": "2025-09-02T15:45:00Z",
"duration_minutes": 75,
"action_count": 24,
"status": "completed"
}
],
"pagination": {
"page": 1,
"page_size": 20,
"total_count": 156,
"total_pages": 8,
"has_next": true,
"has_prev": false,
"next_page": 2,
"prev_page": 42,
"sort_by": "name",
"sort_direction": "asc"
}
}
}
Response examples (401)
{
"code": 401,
"message": "invalid token",
"data": {}
}
Response examples (500)
{
"code": 500,
"message": "internal server error",
"data": {}
}