/impersonate/sessions - List impersonation sessions

GET /impersonate/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.

Query parameters

  • page integer

    Page number

    Minimum value is 1. Default value is 1.

  • page_size integer

    Items per page

    Minimum value is 1, maximum value is 100. Default value is 20.

Responses

  • 200 application/json

    Sessions retrieved successfully

    Hide response attributes Show response attributes object
    • code integer
    • message string
    • data object
      Hide data attributes Show data attributes object
      • sessions array[object]
        Hide sessions attributes Show sessions attributes object
        • session_id string

          Unique session identifier

        • impersonator_user_id string

          User ID of the person doing the impersonation

        • impersonated_user_id string

          User ID of the person being impersonated

        • impersonator_username string

          Username of the impersonator

        • impersonated_username string

          Username of the impersonated user

        • impersonator_name string

          Full name of the impersonator

        • impersonated_name string

          Full name of the impersonated user

        • start_time string(date-time)

          Session start timestamp

        • end_time string(date-time) | null

          Session end timestamp (null if still active)

        • duration_minutes integer | null

          Session duration in minutes (null if still active)

        • action_count integer

          Number of actions performed in this session

        • status string

          Session status

          Values are active or completed.

      • pagination object
        Hide pagination attributes Show pagination attributes object
        • page integer

          Current page number

          Minimum value is 1.

        • page_size integer

          Number of items per page

          Minimum value is 1, maximum value is 100.

        • total_count integer

          Total number of items

          Minimum value is 0.

        • total_pages integer

          Total number of pages

          Minimum value is 0.

        • has_next boolean

          Whether there is a next page

        • has_prev boolean

          Whether there is a previous page

        • next_page integer | null

          Next page number if available

        • prev_page integer | null

          Previous page number if available

        • sort_by string | null

          Field used for sorting

        • sort_direction string | null

          Sort direction

          Values are asc or desc.

  • 401 application/json

    Unauthorized - invalid or missing token

    Hide response attributes Show response attributes object
    • code integer
    • message string
    • data object | null
  • 500 application/json

    Internal server error

    Hide response attributes Show response attributes object
    • code integer
    • message string
    • data object | null
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": {}
}