Pax8API/Public/Quoting/Invoke-Pax8LineItems.ps1

<#
.SYNOPSIS
Delete line items
.DESCRIPTION
Delete multiple line items from a quote in bulk.
OpenAPI: POST /v2/quotes/{quoteId}/line-items/bulk-delete
Scope: Quoting. Audience: https://api.pax8.com.
.PARAMETER QuoteId
path parameter 'quoteId'.
.PARAMETER LineItemIds
body parameter 'lineItemIds'.
.PARAMETER Body
Raw request body. This can be a hashtable, PSCustomObject, or pre-built JSON string.
.EXAMPLE
Invoke-Pax8LineItems -QuoteId '00000000-0000-0000-0000-000000000000'
.LINK
https://devx.pax8.com/openapi/quoting-endpoints.json
#>

function Invoke-Pax8LineItems {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        [guid]$QuoteId,

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

        [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
    }
}