Public/Account/Get-RMMRequestRate.ps1
|
<#
Copyright (c) 2025-2026 Robert Faddes SPDX-License-Identifier: MPL-2.0 #> function Get-RMMRequestRate { <# .SYNOPSIS Retrieves the current API request rate information for the Datto RMM account. .DESCRIPTION Get-RMMRequestRate connects to the Datto RMM API and retrieves information about the current request rate limits for the account. This includes details such as the maximum allowed requests per minute, the number of requests currently used, and the time until the request count resets. This information is useful for monitoring API usage and ensuring that your applications stay within the allowed limits to avoid throttling. .EXAMPLE Get-RMMRequestRate Retrieves the current API request rate information for the connected Datto RMM account. .NOTES This function requires an active connection to the Datto RMM API. Use Connect-DattoRMM to authenticate before calling this function. The request rate information is returned as a custom object with properties such as MaxRequestsPerMinute, RequestsUsed, and TimeUntilReset. For more details on the API request rate limits, refer to the Datto RMM API documentation. .LINK https://github.com/TheShadowTek/DattoRMM.Core/blob/main/docs/commands/Account/Get-RMMRequestRate.md .LINK Connect-DattoRMM .LINK Get-RMMThrottleStatus .LINK about_DattoRMM.CoreThrottling #> [CmdletBinding()] param () if (-not $Script:RMMAuth) { throw "Not connected. Use Connect-DattoRMM first." } Write-Debug "Getting request rate information from Datto RMM API." $Headers = @{Authorization = "Bearer $($script:RMMAuth.AccessToken)"} $RequestParams = @{ Uri = "$API/system/request_rate" Method = 'Get' Headers = $Headers TimeoutSec = $Script:ApiMethodRetry.TimeoutSeconds } if ($Script:RMMAuth.ContainsKey('Proxy')) { $RequestParams.Proxy = $Script:RMMAuth.Proxy } if ($Script:RMMAuth.ContainsKey('ProxyCredential')) { $RequestParams.ProxyCredential = $Script:RMMAuth.ProxyCredential } Invoke-RestMethod @RequestParams } # SIG # Begin signature block # MIIF+wYJKoZIhvcNAQcCoIIF7DCCBegCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCU8eLiHp74rpm5 # bCO24T0BEMrgxFIRzBxH4neF8F4aQ6CCA04wggNKMIICMqADAgECAhB464iXHfI6 # gksEkDDTyrNsMA0GCSqGSIb3DQEBCwUAMD0xFjAUBgNVBAoMDVJvYmVydCBGYWRk # ZXMxIzAhBgNVBAMMGkRhdHRvUk1NLkNvcmUgQ29kZSBTaWduaW5nMB4XDTI2MDMz # MTAwMTMzMFoXDTI4MDMzMTAwMjMzMFowPTEWMBQGA1UECgwNUm9iZXJ0IEZhZGRl # czEjMCEGA1UEAwwaRGF0dG9STU0uQ29yZSBDb2RlIFNpZ25pbmcwggEiMA0GCSqG # SIb3DQEBAQUAA4IBDwAwggEKAoIBAQChn1EpMYQgl1RgWzQj2+wp2mvdfb3UsaBS # nxEVGoQ0gj96tJ2MHAF7zsITdUjwaflKS1vE6wAlOg5EI1V79tJCMxzM0bFpOdR1 # L5F2HE/ovIAKNkHxFUF5qWU8vVeAsOViFQ4yhHpzLen0WLF6vhmc9eH23dLQy5fy # tELZQEc2WbQFa4HMAitP/P9kHAu6CUx5s4woLIOyyR06jkr3l9vk0sxcbCxx7+dF # RrsSLyPYPH+bUAB8+a0hs+6qCeteBuUfLvGzpMhpzKAsY82WZ3Rd9X38i32dYj+y # dYx+nx+UEMDLjDJrZgnVa8as4RojqVLcEns5yb/XTjLxDc58VatdAgMBAAGjRjBE # MA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU # H+B0vf97dYXqdUX1YMcWhFsY6fcwDQYJKoZIhvcNAQELBQADggEBAJmD4EEGNmcD # 1JtFoRGxuLJaTHxDwBsjqcRQRE1VPZNGaiwIm8oSQdHVjQg0oIyK7SEb02cs6n6Y # NZbwf7B7WZJ4aKYbcoLug1k1x9SoqwBmfElECeJTKXf6dkRRNmrAodpGCixR4wMH # KXqwqP5F+5j7bdnQPiIVXuMesxc4tktz362ysph1bqKjDQSCBpwi0glEIH7bv5Ms # Ey9Gl3fe+vYC5W06d2LYVebEfm9+7766hsOgpdDVgdtnN+e6uwIJjG/6PTG6TMDP # y+pr5K6LyUVYJYcWWUTZRBqqwBHiLGekPbxrjEVfxUY32Pq4QfLzUH5hhUCAk4HN # XpF9pOzFLMUxggIDMIIB/wIBATBRMD0xFjAUBgNVBAoMDVJvYmVydCBGYWRkZXMx # IzAhBgNVBAMMGkRhdHRvUk1NLkNvcmUgQ29kZSBTaWduaW5nAhB464iXHfI6gksE # kDDTyrNsMA0GCWCGSAFlAwQCAQUAoIGEMBgGCisGAQQBgjcCAQwxCjAIoAKAAKEC # gAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwG # CisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIMkyuGKsqmiUNTgem23jJkCZ5KaZ # eUdPJXTNTJB+T+M1MA0GCSqGSIb3DQEBAQUABIIBABbr9V0cDjcWOs1j3apUKmoY # GO61XqrFeGJy0IyhC7HaE5SkCOvW18L3bpit6KxPB58wWE/bPhPtT7jURkkmrlNL # mF2ZLKPhHcDDG9CVHwre6lXaCUHEPOaNwRqq37/83ZP21qkkuTK+OP4YMBN/i+Fb # s981MXV6FHwKdcQBO9Tg51kGmGhLDyFgidAsFLCZaxCGfr6zQkuPGXp8jM09251Q # qFUJ4iJaNwNbXKqHBENHPSyuDV/WjrrcJb49aZdz90WQe3zc1VpthJj71Mq0i0ze # Hy+gOL5PBq4eG4oJMp2bjSVWcjspQjG/kWhFirl17Amo3CMz6TJUUT5yujUmsNI= # SIG # End signature block |