functions/Get-CMachineDetail.ps1

function Get-CMachineDetail {
    param (
        [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
        [Alias('Guid', 'pm_guid', 'Id')]
        [string]
        $pmGuid
    )

    process {
        $response = Invoke-CRequest -Endpoint "/dashboard/pm_details/" -Method 'POST' -Body @{ pm_guid = $pmGuid }
        if (-not $response -or $response.StatusCode -ne 200) {
            Write-Error "Request failed with status code: $($response.StatusCode)"
            return $null
        }

        return ConvertFrom-HtmlParkmachineDetailResponse -HtmlContent $response.Content
    }
}