/impersonate/sessions/{session_id}/audit - Get audit logs for specific session
Retrieves detailed audit logs for a specific impersonation session. Users can only view audit logs for their own sessions (when they were impersonated). The session must belong to the requesting user.
GET
/impersonate/sessions/{session_id}/audit
curl \
--request GET 'https://api.your-domain.com/api/impersonate/sessions/sess_abc123def456/audit' \
--header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
"code": 200,
"message": "session audit retrieved successfully",
"data": {
"session_id": "sess_abc123def456",
"entries": [
{
"id": "audit_xyz789abc",
"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",
"action_type": "api_call",
"api_endpoint": "/api/users",
"http_method": "GET",
"request_data": "{\"limit\": 10}",
"response_status": 200,
"timestamp": "2025-09-02T14:32:15Z"
}
],
"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 (400)
{
"code": 400,
"message": "session_id parameter is required"
}
Response examples (401)
{
"code": 401,
"message": "invalid token",
"data": {}
}
Response examples (404)
{
"code": 404,
"message": "session not found or access denied"
}
Response examples (500)
{
"code": 500,
"message": "internal server error",
"data": {}
}