Gw2Gizmos.Gw2Api.Client 0.1.0

dotnet add package Gw2Gizmos.Gw2Api.Client --version 0.1.0
                    
NuGet\Install-Package Gw2Gizmos.Gw2Api.Client -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Gw2Gizmos.Gw2Api.Client" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Gw2Gizmos.Gw2Api.Client" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Gw2Gizmos.Gw2Api.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Gw2Gizmos.Gw2Api.Client --version 0.1.0
                    
#r "nuget: Gw2Gizmos.Gw2Api.Client, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Gw2Gizmos.Gw2Api.Client@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Gw2Gizmos.Gw2Api.Client&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Gw2Gizmos.Gw2Api.Client&version=0.1.0
                    
Install as a Cake Tool

Gw2Gizmos.Gw2Api.Client

A typed .NET client for the Guild Wars 2 API v2: strongly-typed endpoints, bulk/pagination helpers, built-in resilience (retry + rate-limit/429 handling), and a managed HttpClient via IHttpClientFactory. The request/response types come from the Gw2Gizmos.Gw2Api.Contract package, pulled in automatically.

Install

dotnet add package Gw2Gizmos.Gw2Api.Client

Quick start (no DI)

using Gw2Gizmos.Gw2Api.Client;

// apiKey is optional — omit it for public endpoints.
var client = Gw2ApiClient.Create(apiKey);

Account? account = await client.V2.Account.GetBlob();
var characters = await client.V2.Characters.GetByIds(["My Character"]);

With dependency injection

services.AddGw2ApiClient(); // registers IGw2ApiClientFactory with retry/429 resilience
// inject IGw2ApiClientFactory, then: clients.Create(apiKey)

HttpClient & resilience

Construction is routed through IHttpClientFactory, so handlers are pooled and rotated (no socket exhaustion, fresh DNS). Calls retry transient failures and HTTP 429 (honoring Retry-After) with a per-attempt timeout. For a custom handler/proxy: AddGw2ApiClient(builder => /* configure */).

  • Gw2ApiClient.Create(apiKey) — simplest; reuses a process-wide default factory (build once). Ideal for scripts/CLIs.
  • AddGw2ApiClient() + IGw2ApiClientFactory — for apps using dependency injection.

Supported endpoints

  • /v2/account
  • /v2/account/achievements
  • /v2/account/bank
  • /v2/account/buildstorage
  • /v2/account/dailycrafting
  • /v2/account/dungeons
  • /v2/account/dyes
  • /v2/account/emotes
  • /v2/account/finishers
  • /v2/account/gliders
  • /v2/account/home
  • /v2/account/home/cats
  • /v2/account/home/nodes
  • /v2/account/inventory
  • /v2/account/jadebots
  • /v2/account/legendaryarmory
  • /v2/account/luck
  • /v2/account/mail - API not active
  • /v2/account/mailcarriers
  • /v2/account/mapchests
  • /v2/account/masteries
  • /v2/account/mastery/points
  • /v2/account/materials
  • /v2/account/minis
  • /v2/account/mounts
  • /v2/account/mounts/skins
  • /v2/account/mounts/types
  • /v2/account/novelties
  • /v2/account/outfits
  • /v2/account/progression
  • /v2/account/pvp/heroes
  • /v2/account/raids
  • /v2/account/recipes
  • /v2/account/skiffs
  • /v2/account/skins
  • /v2/account/titles
  • /v2/account/wallet
  • /v2/account/wizardsvault/daily
  • /v2/account/wizardsvault/listings
  • /v2/account/wizardsvault/special
  • /v2/account/wizardsvault/weekly
  • /v2/account/worldbosses
  • /v2/achievements
  • /v2/achievements/categories
  • /v2/achievements/daily - API not active
  • /v2/achievements/daily/tomorrow - API not active
  • /v2/achievements/groups
  • /v2/adventures - API not active
  • /v2/adventures/:id/leaderboards - API not active
  • /v2/adventures/:id/leaderboards/:board/:region - API not active
  • /v2/backstory/answers
  • /v2/backstory/questions
  • /v2/build
  • /v2/characters
  • /v2/characters/:id/backstory
  • /v2/characters/:id/buildtabs
  • /v2/characters/:id/buildtabs/active
  • /v2/characters/:id/core
  • /v2/characters/:id/crafting
  • /v2/characters/:id/dungeons - API not active
  • /v2/characters/:id/equipment
  • /v2/characters/:id/equipmenttabs
  • /v2/characters/:id/equipmenttabs/active
  • /v2/characters/:id/heropoints
  • /v2/characters/:id/inventory
  • /v2/characters/:id/quests
  • /v2/characters/:id/recipes
  • /v2/characters/:id/sab
  • /v2/characters/:id/skills - use /v2/characters/:id/buildtabs instead
  • /v2/characters/:id/specializations - use /v2/characters/:id/buildtabs instead
  • /v2/characters/:id/training
  • /v2/colors
  • /v2/commerce/delivery
  • /v2/commerce/exchange
  • /v2/commerce/listings
  • /v2/commerce/prices
  • /v2/commerce/transactions
  • /v2/continents
  • /v2/createsubtoken
  • /v2/currencies
  • /v2/dailycrafting
  • /v2/dungeons
  • /v2/emblem
  • /v2/emotes
  • /v2/events - API not active
  • /v2/events-state - API not active
  • /v2/files
  • /v2/finishers
  • /v2/gemstore/catalog - API not active
  • /v2/gliders
  • /v2/guild/:id
  • /v2/guild/:id/log
  • /v2/guild/:id/members
  • /v2/guild/:id/ranks
  • /v2/guild/:id/stash
  • /v2/guild/:id/storage
  • /v2/guild/:id/teams - untested
  • /v2/guild/:id/treasury
  • /v2/guild/:id/upgrades
  • /v2/guild/permissions
  • /v2/guild/search
  • /v2/guild/upgrades
  • /v2/home
  • /v2/home/cats
  • /v2/home/nodes
  • /v2/items
  • /v2/itemstats
  • /v2/jadebots
  • /v2/legendaryarmory
  • /v2/legends
  • /v2/mailcarriers
  • /v2/mapchests
  • /v2/maps
  • /v2/masteries
  • /v2/materials
  • /v2/minis
  • /v2/mounts
  • /v2/mounts/skins
  • /v2/mounts/types
  • /v2/novelties
  • /v2/outfits
  • /v2/pets
  • /v2/professions
  • /v2/pvp
  • /v2/pvp/amulets
  • /v2/pvp/games
  • /v2/pvp/heroes
  • /v2/pvp/ranks
  • /v2/pvp/rewardtracks - API not active
  • /v2/pvp/runes - API not active
  • /v2/pvp/seasons
  • /v2/pvp/seasons/:id/leaderboards
  • /v2/pvp/seasons/:id/leaderboards/:board/:region
  • /v2/pvp/sigils - API not active
  • /v2/pvp/standings
  • /v2/pvp/stats
  • /v2/quaggans
  • /v2/quests
  • /v2/races
  • /v2/raids
  • /v2/recipes
  • /v2/recipes/search
  • /v2/skiffs
  • /v2/skills
  • /v2/skins
  • /v2/specializations
  • /v2/stories
  • /v2/stories/seasons
  • /v2/titles
  • /v2/tokeninfo
  • /v2/traits
  • /v2/vendors - API not active
  • /v2/wizardsvault
  • /v2/wizardsvault/listings
  • /v2/wizardsvault/objectives
  • /v2/worldbosses
  • /v2/worlds
  • /v2/wvw/abilities
  • /v2/wvw/matches
  • /v2/wvw/matches/overview
  • /v2/wvw/matches/scores
  • /v2/wvw/matches/stats
  • /v2/wvw/matches/stats/:id/guilds/:guild_id
  • /v2/wvw/matches/stats/:id/teams/:team/top/kdr
  • /v2/wvw/matches/stats/:id/teams/:team/top/kills
  • /v2/wvw/objectives
  • /v2/wvw/ranks
  • /v2/wvw/rewardtracks - API not active
  • /v2/wvw/upgrades
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 102 6/12/2026