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
<PackageReference Include="Gw2Gizmos.Gw2Api.Client" Version="0.1.0" />
<PackageVersion Include="Gw2Gizmos.Gw2Api.Client" Version="0.1.0" />
<PackageReference Include="Gw2Gizmos.Gw2Api.Client" />
paket add Gw2Gizmos.Gw2Api.Client --version 0.1.0
#r "nuget: Gw2Gizmos.Gw2Api.Client, 0.1.0"
#:package Gw2Gizmos.Gw2Api.Client@0.1.0
#addin nuget:?package=Gw2Gizmos.Gw2Api.Client&version=0.1.0
#tool nuget:?package=Gw2Gizmos.Gw2Api.Client&version=0.1.0
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 | Versions 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. |
-
net10.0
- Gw2Gizmos.Gw2Api.Contract (>= 0.1.0)
- Microsoft.Extensions.Http (>= 9.0.8)
- Microsoft.Extensions.Http.Polly (>= 9.0.8)
- Polly.Extensions.Http (>= 3.0.0)
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 |