Pax8API/Public/Webhooks/Get-Pax8WebhooksQuery.ps1

<#
.SYNOPSIS
Query webhooks
.DESCRIPTION
Lists instances of WebhookView with the ability to query against fields in WebhookView.
OpenAPI: GET /webhooks
Scope: Webhooks. Audience: https://api.pax8.com.
.PARAMETER Query
String value to query webhooks.
.PARAMETER Page
query parameter 'page'.
.PARAMETER Size
query parameter 'size'.
.PARAMETER Active
query parameter 'active'.
.PARAMETER Topic
query parameter 'topic'.
.PARAMETER Sort
Sort field and order, format: field:asc/desc
.PARAMETER Status
Filter value for the last delivery status of the webhook
.PARAMETER AccountId
query parameter 'accountId'.
.PARAMETER Direction
Optional sort direction. When provided, the module sends sort as field,direction.
.PARAMETER Raw
Returns the unmodified API response instead of unwrapping paginated content.
.EXAMPLE
Get-Pax8WebhooksQuery
.LINK
https://devx.pax8.com/openapi/webhooks-api.json
#>

function Get-Pax8WebhooksQuery {
    [CmdletBinding()]
    param (
        [string]$Query,

        [int]$Page,

        [int]$Size,

        [bool]$Active,

        [string]$Topic,

        [string]$Sort,

        [string]$Status,

        [guid]$AccountId,

        [ValidateSet('asc', 'desc')]
        [string]$Direction,

        [switch]$All,

        [switch]$Raw
    )

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

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