Pax8API/Public/Webhooks/Remove-Pax8WebhookTopic.ps1

<#
.SYNOPSIS
Remove webhook topic
.DESCRIPTION
Remove a specific topic from a webhook
OpenAPI: DELETE /webhooks/{id}/topics/{topicId}
Scope: Webhooks. Audience: https://api.pax8.com.
.PARAMETER Id
path parameter 'id'.
.PARAMETER TopicId
path parameter 'topicId'.
.EXAMPLE
Remove-Pax8WebhookTopic -Id '00000000-0000-0000-0000-000000000000' -TopicId '00000000-0000-0000-0000-000000000000'
.LINK
https://devx.pax8.com/openapi/webhooks-api.json
#>

function Remove-Pax8WebhookTopic {
    [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = 'High')]
    param (
        [Parameter(Mandatory = $true)]
        [guid]$Id,

        [Parameter(Mandatory = $true)]
        [guid]$TopicId,

        [switch]$Raw
    )

    process {
        $boundParameters = @{}
        foreach ($entry in $PSBoundParameters.GetEnumerator()) {
            $boundParameters[$entry.Key] = $entry.Value
        }

        $target = 'DELETE /webhooks/{id}/topics/{topicId}'
        if ($PSCmdlet.ShouldProcess($target, 'Remove-Pax8WebhookTopic')) {
            Invoke-Pax8ApiOperation -CommandName $MyInvocation.MyCommand.Name -Parameters $boundParameters
        }
    }
}