Reminder:
V1 and V2 APIs are officially depreciated and referred as Legacy APIs from now on. We won't maintain or update them in the future, and they will be turned off permanently a few months after the user system is released.
Introduction
Wynncraft V3 API aims to merge all features of Legacy V1 and V2 APIs while having some new exclusive features (Ability Tree maps, Advanced Item Search, Better Leaderboards and more), while the API is not complete, this documentation should help you to get started with using V3.
If you are migrating from a legacy API, we tried to keep the data structure as similar as possible on V3 to make migration easier, however some structure have been completely reworked (e.g. Player Stats) because the old structure was non-practical.
Changelog for V3 and announcements for upcoming changes to V3 will be on the developer discord.
Current API location
V3 is currently located on https://web-api.wynncraft.com/api .
This URL is temporary until the API is fully ready to be moved on api.wynncraft.com .
Caching
V3 uses a redis database for maximum performances, each GET request is cached with a different TTL, request having a cache possess a Cache-Control header and their documentation have their TTL.
Throttling and Rate-Limit
V3 throttling rules allows users to perform 300 requests per minute, when the user system will be released, users will have the ability to request higher request amount before being rate-limited.
Planned features
We have made an announcement about planned feature for the API and the web network in general, read it here
FAQ
Will V1 and V2 APIs still be available after V3 release ?
No. Legacy APIs will be turned off a few months after the release of the user system.
Why is V1 and V2 APIs turned off ?
We are doing it because legacy APIs are public while V3 objective is to be private, and also having 2 or 3 different APIs to maintain is a significant amount of work, especially with the way they were made.
Why V3 player stats splits in 3 different routes instead of 1?
This is done to optimize response content, there are use cases where all stats would be needed but in reality when you request player stats, you usually don't need every characters, and if you do it's to calculate stats on all of them, which is why we included a bunch of those in the player main stats in globalData, if you think some global datas are missing you can always request for them to be added.
If you still wish to have full player stats you can add a query parameter to your request: ?fullResult=True which will return a response with every character included.
Is there a way to bypass pagination on item results ?
Yes, you can use ?fullResult=True in the URL to return everything in one response.
Is there a way to hide some of my stats to the public ?
Not at the moment, we are planning to add some privacy options when the user system will be finished that will allow that to be done.
Can you add X and X to the API ?
The API is still in development, not all feature you may want are added to it yet, but we do read your suggestions on features so feel free to give us some.