Public/Get-GW2GuildStash.ps1

<#
.SYNOPSIS
Retrieves the guild stash from the Guild Wars 2 API.
 
.DESCRIPTION
Calls the Guild Wars 2 API v2 /guild/:id/stash endpoint.
Returns the contents of the guild's vault.
 
.PARAMETER GuildId
Required. The unique guild ID (GUID) to retrieve the stash for.
 
.PARAMETER APIKey
Required. The API key to use for authentication.
Requires the 'guilds' scope.
 
.EXAMPLE
Get-GW2GuildStash -GuildId "116E0C0E-0035-44A9-BB22-4AE3E23127E5" -APIKey "YOUR_API_KEY"
Returns the guild stash contents.
 
.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-GW2GuildStash {
    param (
        [Parameter(Mandatory = $true)]
        [string]$GuildId,

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

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