Pax8API/Public/Quoting/Update-Pax8QuotePreferences.ps1

<#
.SYNOPSIS
Update quote preferences
.DESCRIPTION
Create or update preferences for quotes.
OpenAPI: PUT /v2/quote-preferences
Scope: Quoting. Audience: https://api.pax8.com.
.PARAMETER DaysToExpire
body parameter 'daysToExpire'.
.PARAMETER IntroMessage
body parameter 'introMessage'.
.PARAMETER SalesMarginPercentage
body parameter 'salesMarginPercentage'.
.PARAMETER TermsAndDisclaimers
body parameter 'termsAndDisclaimers'.
.PARAMETER Body
Raw request body. This can be a hashtable, PSCustomObject, or pre-built JSON string.
.EXAMPLE
Update-Pax8QuotePreferences
.LINK
https://devx.pax8.com/openapi/quoting-endpoints.json
#>

function Update-Pax8QuotePreferences {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        [int]$DaysToExpire,

        [Parameter(Mandatory = $true)]
        [string]$IntroMessage,

        [double]$SalesMarginPercentage,

        [Parameter(Mandatory = $true)]
        [string]$TermsAndDisclaimers,

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