Public/Policies/Remove-SIAPolicy.ps1

function Remove-SIAPolicy {
    <#
    .SYNOPSIS
        Deletes a unified access control policy.
    .DESCRIPTION
        Deletes a policy from CyberArk's unified Access Control Policies
        engine.
    .PARAMETER Id
        The policy's ID, as returned by Get-SIAPolicy.
    .EXAMPLE
        Remove-SIAPolicy -Id 'policy-01'

        Deletes the specified access control policy after confirmation.
    .INPUTS
        psSIA.Policy
    .OUTPUTS
        None.
    .LINK
        https://api-docs.cyberark.com/uap-schema-api/docs/access-control-policies-api
    #>

    [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')]
    param(
        [Parameter(Mandatory, ValueFromPipelineByPropertyName)]
        [Alias('policyId')]
        [string]$Id
    )

    process {
        if ($PSCmdlet.ShouldProcess($Id, 'Delete access control policy')) {
            Invoke-SIARequest -Method DELETE -Path "/policies/$Id" -Service Uap | Out-Null
        }
    }
}