Pax8API/Public/Quoting/Remove-Pax8Attachment.ps1

<#
.SYNOPSIS
Delete attachment
.DESCRIPTION
Delete an attachment from a specified quote.
OpenAPI: DELETE /v2/quotes/{quoteId}/attachments/{attachmentId}
Scope: Quoting. Audience: https://api.pax8.com.
.PARAMETER QuoteId
path parameter 'quoteId'.
.PARAMETER AttachmentId
path parameter 'attachmentId'.
.EXAMPLE
Remove-Pax8Attachment -QuoteId '00000000-0000-0000-0000-000000000000' -AttachmentId '00000000-0000-0000-0000-000000000000'
.LINK
https://devx.pax8.com/openapi/quoting-endpoints.json
#>

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

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

        [switch]$Raw
    )

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

        $target = 'DELETE /v2/quotes/{quoteId}/attachments/{attachmentId}'
        if ($PSCmdlet.ShouldProcess($target, 'Remove-Pax8Attachment')) {
            Invoke-Pax8ApiOperation -CommandName $MyInvocation.MyCommand.Name -Parameters $boundParameters
        }
    }
}