Pax8API/Public/Webhooks/Set-Pax8WebhookTopicConfiguration.ps1

<#
.SYNOPSIS
Update topic configuration
.DESCRIPTION
Update the configuration of a specific topic on a webhook
OpenAPI: POST /webhooks/{id}/topics/{topicId}/configuration
Scope: Webhooks. Audience: https://api.pax8.com.
.PARAMETER Id
path parameter 'id'.
.PARAMETER TopicId
path parameter 'topicId'.
.PARAMETER Filters
Advanced filtering configuration
.PARAMETER Body
Raw request body. This can be a hashtable, PSCustomObject, or pre-built JSON string.
.EXAMPLE
Set-Pax8WebhookTopicConfiguration -Id '00000000-0000-0000-0000-000000000000' -TopicId '00000000-0000-0000-0000-000000000000'
.LINK
https://devx.pax8.com/openapi/webhooks-api.json
#>

function Set-Pax8WebhookTopicConfiguration {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        [guid]$Id,

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

        [Parameter(Mandatory = $true)]
        [object[]]$Filters,

        [Parameter(ValueFromPipeline = $true)]
        [object]$Body,

        [switch]$Raw
    )

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

        Invoke-Pax8ApiOperation -CommandName $MyInvocation.MyCommand.Name -Parameters $boundParameters
    }
}