Public/Get-DattoDtcAsset.ps1

function Get-DattoDtcAsset {
<#
.SYNOPSIS
Returns Direct-to-Cloud assets across accessible clients.
.DESCRIPTION
Implements GET /v1/dtc/assets. An optional clientId query filter is supported exactly as documented. The module handles both direct and envelope response shapes.
.PARAMETER ClientId
The client ID to filter by.
.PARAMETER Page
The one-based API page number.
.PARAMETER PerPage
The number of records requested per page.
.PARAMETER All
Retrieves every available page when pagination metadata is returned.
.PARAMETER RawResponse
Returns the API response body or envelope.
.PARAMETER Connection
A connection object, name, or ID.
.EXAMPLE
Get-DattoDtcAsset -All
.EXAMPLE
Get-DattoDtcAsset -ClientId 12345
#>

    [CmdletBinding()]
    param(
        [Parameter()][ValidateRange(1, [int]::MaxValue)][Nullable[int]]$ClientId,
        [Parameter()][ValidateRange(1, [int]::MaxValue)][int]$Page = 1,
        [Parameter()][ValidateRange(1, [int]::MaxValue)][int]$PerPage = 25,
        [Parameter()][switch]$All,
        [Parameter()][switch]$RawResponse,
        [Parameter()][AllowNull()][object]$Connection
    )
    $query = @{ _page = $Page; _perPage = $PerPage }
    if ($PSBoundParameters.ContainsKey('ClientId')) { $query['clientId'] = $ClientId }
    Invoke-DattoApiRequest -Path '/v1/dtc/assets' -Query $query -All:$All -RawResponse:$RawResponse -Connection $Connection
}