OpenAPI/Swagger Schema of the Riot Games API
Automatically generated daily from the Riot Games API Reference
The RG API Reference has many quirks and often has small errors or missing DTO specs. This project contains many hacks to deal with them which are worth knowing if you plan to use the generated schemas.
Missing DTOs for the latest version are stored in this JSON file.
See src/data/README.md
.
If a DTO is missing from one endpoint, it may be possible to find it in another
endpoint. Which endpoints can "borrow" from which other endpoints are listed in
src/data/endpointSharedDtos.jsonc
. The file is updated as needed.
x-platforms-available
is listed per path specifying which platforms are
available. This only differs for the tournament-v5
and tournament-stub-v5
endpoints. Overrides are in src/data/endpointPlatformsAvailableOverrides.jsonc
.
These endpoints share all the same DTOs. However, they each have a copy of each DTO, so there is duplicate data. This also means if you are generating classes from these endpoints, there will be duplicate issues.
TODO Because these endpoints are closely connected, both of their DTOs
are included under tournament-v4
. This way there aren't duplicate copies of
tournament DTOs. This behavior is specified by src/data/mockEndpoints.json
.
Quirks that may no longer be relevant.
This spec combines LeagueItemDTO
and LeaguePositionDTO
under the later name.
This was a questionable choice because it results in fields with null
values
that users might expect to be filled in (when parsing a LeagueItemDTO
).
This behavior is removed for league-v4
.
Static data had some DTO fields that could
be multiple different types as specified in their description. These were
overridden using the dict in src/data/dtoDescriptionTypeOverrides.jsonc
Because the static data endpoints are removed, this is no longer an issue.