Public/Get-OnePAMSession.ps1

function Get-OnePAMSession {
    <#
    .SYNOPSIS
        Lists OnePAM gateway sessions.
    .DESCRIPTION
        Retrieves sessions with optional filtering by type, status, and result limit.
    .PARAMETER Type
        Filter by session type (ssh, database, rdp, etc.).
    .PARAMETER Status
        Filter by session status (active, terminated, etc.).
    .PARAMETER Limit
        Maximum number of sessions to return (default: 50).
    .EXAMPLE
        Get-OnePAMSession
    .EXAMPLE
        Get-OnePAMSession -Type ssh -Status active
    .EXAMPLE
        Get-OnePAMSession -Limit 100
    #>

    [CmdletBinding()]
    param(
        [string]$Type,
        [string]$Status,
        [int]$Limit = 50
    )

    $query = @()
    if ($Type)   { $query += "type=$([System.Uri]::EscapeDataString($Type))" }
    if ($Status) { $query += "status=$([System.Uri]::EscapeDataString($Status))" }
    $query += "limit=$Limit"

    $path = "/api/v1/sessions?$($query -join '&')"

    $resp = Invoke-OpApi -Method GET -Path $path
    if ($resp.sessions) { return $resp.sessions }
    return @()
}