Hi, welcome to our REST API!

If this is your first time here, we recommend checking out the introductory documentation:

This is the index, where we list and provide a small description for most endpoints.

When using the index, please remember to replace any word that starts with example_* in the URL paths with a valid identifier, such as a username, a numeric ID or a cname.

In general, you can access most API endpoints by simply prefixing the URL's path with /api. For example, if you're looking at the game page /games/example-game/, the API equivalent is /api/games/example-game/. Be aware that not all pages on the website have a corresponding API endpoint and vice-versa.

Documentation is still sparse. Your best choices are sending us a message on our discord server (use the "Support > developers" channel), using our contact form or just trying to figure it out yourself. Whichever approach you choose, feel free to use the sandbox server for all your testing needs (and also to avoid unnecessary load on the production servers rawr ~x3 plz dont pounce on my servers uwu).

May your development cycles be short and your integrations easy and painless!

GET /api/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "/auth/": {
        "url": "https://vgjournal.net/api/auth/",
        "description": "Acquires an authentication token and a refresh token using username and password"
    },
    "/auth/invalidate/": {
        "url": "https://vgjournal.net/api/auth/invalidate/",
        "description": "Invalidates a refresh token"
    },
    "/auth/refresh/": {
        "url": "https://vgjournal.net/api/auth/refresh/",
        "description": "Acquires an authentication token using a refresh token"
    },
    "/companies/": {
        "url": "https://vgjournal.net/api/companies/",
        "description": "Lists companies in the database"
    },
    "/games/": {
        "url": "https://vgjournal.net/api/games/",
        "description": "Lists games in the database"
    },
    "/game/contents/": {
        "url": "https://vgjournal.net/api/game/contents/",
        "description": "Lists the contents of a game mode"
    },
    "/game/difficulties/": {
        "url": "https://vgjournal.net/api/game/difficulties/",
        "description": "Lists the difficulties for a game mode"
    },
    "/game/images/": {
        "url": "https://vgjournal.net/api/game/images/",
        "description": "Lists images associated with the game, such as screenshots, cover, concept art, etc"
    },
    "/game/modes/": {
        "url": "https://vgjournal.net/api/game/modes/",
        "description": "Lists the game modes of a game"
    },
    "/games/example-game/id-converter/": {
        "url": "https://vgjournal.net/api/games/example-game/id-converter/",
        "description": "Gets the game ID in various gaming-related websites and services"
    },
    "/hardware/": {
        "url": "https://vgjournal.net/api/hardware/",
        "description": "Lists all pieces of Hardware registered to the database"
    },
    "/platforms/": {
        "url": "https://vgjournal.net/api/platforms/",
        "description": "Lists platforms supported by the website and their data"
    },
    "/search/": {
        "url": "https://vgjournal.net/api/search/",
        "description": "Searches the database"
    },
    "/special-paths/": {
        "url": "https://vgjournal.net/api/special-paths/",
        "description": "Lists known special paths"
    },
    "/stores/": {
        "url": "https://vgjournal.net/api/stores/",
        "description": "Lists known stores"
    },
    "/tags/": {
        "url": "https://vgjournal.net/api/tags/",
        "description": "Lists tags added to the database"
    },
    "/users/example_username/": {
        "url": "https://vgjournal.net/api/users/example_username/",
        "description": "Gets information of the specified user or lists all users."
    },
    "/users/example_username/friends/": {
        "url": "https://vgjournal.net/api/users/example_username/friends/",
        "description": "Lists the friends of the specified user if their privacy options allows it"
    },
    "/users/example_username/gamekeys/": {
        "url": "https://vgjournal.net/api/users/example_username/gamekeys/",
        "description": "Lists the game keys of the specified user if their privacy options allows it"
    },
    "/users/example_username/gamelist/": {
        "url": "https://vgjournal.net/api/users/example_username/gamelist/",
        "description": "Lists gamelist items of the specified user or the currently-authenticated one"
    },
    "/users/example_username/journal/": {
        "url": "https://vgjournal.net/api/users/example_username/journal/",
        "description": "Lists the journal entries of the specified user if their privacy options allows it"
    },
    "/users/example_username/opinions/": {
        "url": "https://vgjournal.net/api/users/example_username/opinions/",
        "description": "Lists the game opinions written by the specified user if their privacy options allows it"
    },
    "/users/example_username/playthroughs/": {
        "url": "https://vgjournal.net/api/users/example_username/playthroughs/",
        "description": "Lists the playthroughs of the specified user if their privacy options allows it"
    },
    "/users/example_username/playthroughs/0/questtracker/": {
        "url": "https://vgjournal.net/api/users/example_username/playthroughs/0/questtracker/",
        "description": "Lists all the Quest Tracker items for the specified user and playthough"
    },
    "/users/example_username/reviews/": {
        "url": "https://vgjournal.net/api/users/example_username/reviews/",
        "description": "Lists the reviews written by the specified user if their privacy options allows it"
    },
    "/users/example_username/rigs/": {
        "url": "https://vgjournal.net/api/users/example_username/rigs/",
        "description": "Lists the rigs of the specified user if their privacy options allows it"
    },
    "/users/example_username/score/": {
        "url": "https://vgjournal.net/api/users/example_username/score/",
        "description": "Lists the score points acquired by the specified user if their privacy options allows it"
    },
    "/users/example_username/sessions/": {
        "url": "https://vgjournal.net/api/users/example_username/sessions/",
        "description": "Lists the game sessions of the specified user if their privacy options allows it"
    },
    "/users/example_username/wishlist/": {
        "url": "https://vgjournal.net/api/users/example_username/wishlist/",
        "description": "Lists wishlist items of the specified user if their privacy options allows it"
    },
    "/vendors/": {
        "url": "https://vgjournal.net/api/vendors/",
        "description": "Lists all game vendors registered in the system"
    },
    "/vendors/example_vendor/": {
        "url": "https://vgjournal.net/api/vendors/example_vendor/",
        "description": "Retrieves the details of the specified vendor"
    },
    "/vendors/example_vendor/games/": {
        "url": "https://vgjournal.net/api/vendors/example_vendor/games/",
        "description": "Lists all known games of the specified vendor"
    },
    "/vendors/example_vendor/games/example_id/": {
        "url": "https://vgjournal.net/api/vendors/example_vendor/games/example_id/",
        "description": "Retrieves the game that has the specified ID in the specified vendor"
    },
    "/whoami/": {
        "url": "https://vgjournal.net/api/whoami/",
        "description": "Gets the profile information of the currently-authenticated user"
    }
}