Public/Get-DDEvent.ps1

function Get-DDEvent {
<#
    .SYNOPSIS
        Get an event's details.

    .DESCRIPTION

    .PARAMETER EventID
        A Datadog event ID.
#>


  [CmdletBinding()]

    Param (
        [Parameter(
            Position=0,
            ValueFromPipeline=$True,
            ValueFromPipelineByPropertyName=$True,
            ValueFromRemainingArguments=$True,
            Mandatory=$True,
            HelpMessage="A Datadog event ID."
        )]
        # [int]$null is 0, so we can't use [ValidateNullOrEmpty]
        [ValidateScript( {if ($_ -eq 0) {throw 'Cannot bind argument to parameter <<MonitorID>> because it is null or 0.'} else {return $True} } 
        )]
        [Alias('Id')]
        [long]$EventID
    )

    Process {
        $Endpoint = "/events/$EventID"
        $defaultDisplaySet = 'event'
        
        $result = New-DDQuery -EndPoint $Endpoint -Method 'Get' -RequiresApplicationKey -ErrorAction Stop
        
        $defaultDisplayPropertySet = New-Object System.Management.Automation.PSPropertySet('DefaultDisplayPropertySet',[string[]]$defaultDisplaySet)
        $PSStandardMembers = [System.Management.Automation.PSMemberInfo[]]@($defaultDisplayPropertySet)
        $result | Add-Member MemberSet PSStandardMembers $PSStandardMembers
        return $result
    }

}