@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api RAWG Video Games Database API
@base https://api.rawg.io/api
@version v1.0
@auth ApiKey (inferred from docs)
@endpoints 30
@hint download_for_search
@toc creator-roles(1), creators(2), developers(2), games(14), genres(2), platforms(3), publishers(2), stores(2), tags(2)

@group creator-roles
@endpoint GET /creator-roles
@desc Get a list of creator positions (jobs).
@optional {page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endgroup

@group creators
@endpoint GET /creators
@desc Get a list of game creators.
@optional {page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /creators/{id}
@desc Get details of the creator.
@required {id: any}
@returns(200)

@endgroup

@group developers
@endpoint GET /developers
@desc Get a list of game developers.
@optional {page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /developers/{id}
@desc Get details of the developer.
@returns(200)

@endgroup

@group games
@endpoint GET /games
@desc Get a list of games.
@optional {page: any # A page number within the paginated result set., page_size: any # Number of results to return per page., search: any # Search query., search_precise: any # Disable fuzziness for the search query., search_exact: any # Mark the search query as exact., parent_platforms: any # Filter by parent platforms, for example: `1,2,3`., platforms: any # Filter by platforms, for example: `4,5`., stores: any # Filter by stores, for example: `5,6`., developers: any # Filter by developers, for example: `1612,18893` or `valve-software,feral-interactive`., publishers: any # Filter by publishers, for example: `354,20987` or `electronic-arts,microsoft-studios`., genres: any # Filter by genres, for example: `4,51` or `action,indie`., tags: any # Filter by tags, for example: `31,7` or `singleplayer,multiplayer`., creators: any # Filter by creators, for example: `78,28` or `cris-velasco,mike-morasky`., dates: any # Filter by a release date, for example: `2010-01-01,2018-12-31.1960-01-01,1969-12-31`., updated: any # Filter by an update date, for example: `2020-12-01,2020-12-31`., platforms_count: any # Filter by platforms count, for example: `1`., metacritic: any # Filter by a metacritic rating, for example: `80,100`., exclude_collection: any # Exclude games from a particular collection, for example: `123`., exclude_additions: any # Exclude additions., exclude_parents: any # Exclude games which have additions., exclude_game_series: any # Exclude games which included in a game series., exclude_stores: any # Exclude stores, for example: `5,6`., ordering: any # Available fields: `name`, `released`, `added`, `created`, `updated`, `rating`, `metacritic`. You can reverse the sort order adding a hyphen, for example: `-released`.}
@returns(200)

@endpoint GET /games/{game_pk}/additions
@desc Get a list of DLC's for the game, GOTY and other editions, companion apps, etc.
@optional {page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /games/{game_pk}/development-team
@desc Get a list of individual creators that were part of the development team.
@optional {ordering: any # Which field to use when ordering the results., page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /games/{game_pk}/game-series
@desc Get a list of games that are part of the same series.
@optional {page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /games/{game_pk}/parent-games
@desc Get a list of parent games for DLC's and editions.
@optional {page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /games/{game_pk}/screenshots
@desc Get screenshots for the game.
@optional {ordering: any # Which field to use when ordering the results., page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /games/{game_pk}/stores
@desc Get links to the stores that sell the game.
@optional {ordering: any # Which field to use when ordering the results., page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /games/{id}
@desc Get details of the game.
@required {id: any # An ID or a slug identifying this Game.}
@returns(200)

@endpoint GET /games/{id}/achievements
@desc Get a list of game achievements.
@required {id: any # An ID or a slug identifying this Game.}
@returns(200)

@endpoint GET /games/{id}/movies
@desc Get a list of game trailers.
@required {id: any # An ID or a slug identifying this Game.}
@returns(200)

@endpoint GET /games/{id}/reddit
@desc Get a list of most recent posts from the game's subreddit.
@required {id: any # An ID or a slug identifying this Game.}
@returns(200)

@endpoint GET /games/{id}/suggested
@desc Get a list of visually similar games, available only for business and enterprise API users.
@required {id: any # An ID or a slug identifying this Game.}
@returns(200)

@endpoint GET /games/{id}/twitch
@desc Get streams on Twitch associated with the game, available only for business and enterprise API users.
@required {id: any # An ID or a slug identifying this Game.}
@returns(200)

@endpoint GET /games/{id}/youtube
@desc Get videos from YouTube associated with the game, available only for business and enterprise API users.
@required {id: any # An ID or a slug identifying this Game.}
@returns(200)

@endgroup

@group genres
@endpoint GET /genres
@desc Get a list of video game genres.
@optional {ordering: any # Which field to use when ordering the results., page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /genres/{id}
@desc Get details of the genre.
@returns(200)

@endgroup

@group platforms
@endpoint GET /platforms
@desc Get a list of video game platforms.
@optional {ordering: any # Which field to use when ordering the results., page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /platforms/lists/parents
@desc Get a list of parent platforms.
@optional {ordering: any # Which field to use when ordering the results., page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /platforms/{id}
@desc Get details of the platform.
@returns(200)

@endgroup

@group publishers
@endpoint GET /publishers
@desc Get a list of video game publishers.
@optional {page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /publishers/{id}
@desc Get details of the publisher.
@returns(200)

@endgroup

@group stores
@endpoint GET /stores
@desc Get a list of video game storefronts.
@optional {ordering: any # Which field to use when ordering the results., page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /stores/{id}
@desc Get details of the store.
@returns(200)

@endgroup

@group tags
@endpoint GET /tags
@desc Get a list of tags.
@optional {page: any # A page number within the paginated result set., page_size: any # Number of results to return per page.}
@returns(200)

@endpoint GET /tags/{id}
@desc Get details of the tag.
@returns(200)

@endgroup

@end
