Pax8API/Public/Partner/Get-Pax8InvoiceDraftItem.ps1

<#
.SYNOPSIS
List Draft Invoice Items
.DESCRIPTION
Fetch a paginated list of draft invoice items before they are finalized into invoices. Default page is 0 and default size is 10. The maximum page size is 200. DISCLAIMER: For future-dated items, the data represents a snapshot of charges that will be applied to a future invoice as of the request date. This is not an actual invoice. Clients should be aware that the final invoice generated on the 5th of the month may differ. This endpoint does not include charges for usage-based products billed in arrears. Tax calculations are based on current account taxability status and current month tax rates, both of which are subject to change for future invoices.
OpenAPI: GET /invoices/draftItems
Scope: Partner. Audience: https://api.pax8.com.
.PARAMETER Page
The page number to request in the draft invoice items list
.PARAMETER Size
Returns _this_ number of draft invoice items per page
.PARAMETER MonthOffset
Number of months from current to return draft items for. 0 = current month, 1 = next month. Only values 0 and 1 are currently supported. If omitted, defaults to 1 (next month). Suggested values: 0, 1.
.PARAMETER CompanyId
Filter draft items to a specific company.
.PARAMETER Raw
Returns the unmodified API response instead of unwrapping paginated content.
.EXAMPLE
Get-Pax8InvoiceDraftItem
.LINK
https://devx.pax8.com/openapi/partner-endpoints.json
#>

function Get-Pax8InvoiceDraftItem {
    [CmdletBinding()]
    param (
        [double]$Page,

        [ValidateRange(1, 200)]
        [double]$Size,

        [ValidateSet('0', '1')]
        [int]$MonthOffset,

        [guid]$CompanyId,

        [switch]$All,

        [switch]$Raw
    )

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

        Invoke-Pax8ApiOperation -CommandName $MyInvocation.MyCommand.Name -Parameters $boundParameters
    }
}