Public/Access/Get-SIAAccessRequest.ps1

function Get-SIAAccessRequest {
    <#
    .SYNOPSIS
        Lists or retrieves access requests.
    .DESCRIPTION
        Retrieves every access request visible to the caller, or a single
        request's details when -Id is specified.
    .PARAMETER Id
        Retrieves a single access request by its ID.
    .EXAMPLE
        Get-SIAAccessRequest

        Lists every access request visible to the caller.
    .EXAMPLE
        Get-SIAAccessRequest -Id 'req-01'

        Retrieves the details of a specific access request.
    .INPUTS
        None.
    .OUTPUTS
        psSIA.AccessRequest
    .LINK
        https://api-docs.cyberark.com/access-request-api/docs/access-request-api
    #>

    [CmdletBinding(DefaultParameterSetName = 'List')]
    [OutputType('psSIA.AccessRequest')]
    param(
        [Parameter(Mandatory, ParameterSetName = 'ById', ValueFromPipelineByPropertyName)]
        [Alias('requestId')]
        [string]$Id
    )

    process {
        $path = if ($Id) { "/workflows/requests/$Id" } else { '/workflows/requests' }
        Invoke-SIARequest -Method GET -Path $path -Service Uar |
            ConvertFrom-SIAResponse -TypeName 'psSIA.AccessRequest'
    }
}