Public/Get-GW2GuildRanks.ps1

<#
.SYNOPSIS
Retrieves guild ranks from the Guild Wars 2 API.
 
.DESCRIPTION
Calls the Guild Wars 2 API v2 /guild/:id/ranks endpoint.
Returns a list of guild ranks and their permissions.
 
.PARAMETER GuildId
Required. The unique guild ID (GUID) to retrieve ranks for.
 
.PARAMETER APIKey
Required. The API key to use for authentication.
Requires the 'guilds' scope.
 
.EXAMPLE
Get-GW2GuildRanks -GuildId "116E0C0E-0035-44A9-BB22-4AE3E23127E5" -APIKey "YOUR_API_KEY"
Returns the list of guild ranks.
 
.NOTES
- Requires network access to api.guildwars2.com.
- Requires an authenticated API key with 'guilds' scope.
- These endpoints access guild-specific data and require an API key from the guild owner to view.
#>

function Get-GW2GuildRanks {
    param (
        [Parameter(Mandatory = $true)]
        [string]$GuildId,

        [Parameter(Mandatory = $true)]
        [string]$APIKey
    )
    
    $url = "https://api.guildwars2.com/v2/guild/$GuildId/ranks"
    
    $headers = @{
        "Authorization" = "Bearer $APIKey"
    }

    $response = Invoke-RestMethod -Uri $url -Method Get -Headers $headers
    
    return $response
}