Pax8API/Public/Partner/Remove-Pax8ContactById.ps1

<#
.SYNOPSIS
Delete Contact
.DESCRIPTION
Deletes a contact
OpenAPI: DELETE /companies/{companyId}/contacts/{contactId}
Scope: Partner. Audience: https://api.pax8.com.
.PARAMETER CompanyId
path parameter 'companyId'.
.PARAMETER ContactId
path parameter 'contactId'.
.EXAMPLE
Remove-Pax8ContactById -CompanyId '00000000-0000-0000-0000-000000000000' -ContactId '00000000-0000-0000-0000-000000000000'
.LINK
https://devx.pax8.com/openapi/partner-endpoints.json
#>

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

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

        [switch]$Raw
    )

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

        $target = 'DELETE /companies/{companyId}/contacts/{contactId}'
        if ($PSCmdlet.ShouldProcess($target, 'Remove-Pax8ContactById')) {
            Invoke-Pax8ApiOperation -CommandName $MyInvocation.MyCommand.Name -Parameters $boundParameters
        }
    }
}