Pax8API/Public/VendorUsage/Get-Pax8UsageLines.ps1

<#
.SYNOPSIS
Get Usage Lines
.DESCRIPTION
A `subscriptionId` OR an `externalSubscriptionId` is required
OpenAPI: GET /lines
Scope: VendorUsage. Audience: api://usage.
.PARAMETER SubscriptionId
query parameter 'subscriptionId'.
.PARAMETER ExternalSubscriptionId
query parameter 'externalSubscriptionId'.
.PARAMETER BillingPeriod
Billing period with format yyyy-MM
.PARAMETER SummaryKey
query parameter 'summaryKey'.
.PARAMETER Raw
Returns the unmodified API response instead of unwrapping paginated content.
.EXAMPLE
Get-Pax8UsageLines -BillingPeriod 'value' -SummaryKey 'value'
.LINK
https://devx.pax8.com/openapi/vendor-usage-endpoints.json
#>

function Get-Pax8UsageLines {
    [CmdletBinding()]
    param (
        [guid]$SubscriptionId,

        [string]$ExternalSubscriptionId,

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

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

        [switch]$Raw
    )

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

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