Pax8API/Public/Quoting/New-Pax8Quote.ps1

<#
.SYNOPSIS
Create quote
.DESCRIPTION
Creates a new quote for the specified clientId.
OpenAPI: POST /v2/quotes
Scope: Quoting. Audience: https://api.pax8.com.
.PARAMETER ClientId
body parameter 'clientId'.
.PARAMETER QuoteRequestId
body parameter 'quoteRequestId'.
.PARAMETER Body
Raw request body. This can be a hashtable, PSCustomObject, or pre-built JSON string.
.EXAMPLE
New-Pax8Quote
.LINK
https://devx.pax8.com/openapi/quoting-endpoints.json
#>

function New-Pax8Quote {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        [guid]$ClientId,

        [guid]$QuoteRequestId,

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