diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts
index 9a19f17..c77616c 100644
--- a/docs/.vitepress/config.mts
+++ b/docs/.vitepress/config.mts
@@ -1,6 +1,8 @@
import { defineConfig } from "vitepress";
import llmstxt from "vitepress-plugin-llms";
import { copyOrDownloadAsMarkdownButtons } from "vitepress-plugin-llms";
+import { useSidebar } from 'vitepress-openapi'
+import spec from '../v2/retroachievements.json' with { type: "json" };
/**
* Try your best not to have any sidebar page titles wrap to a 2nd line.
@@ -47,243 +49,273 @@ export default defineConfig({
},
],
- nav: [{ text: "Quick Start", link: "/getting-started" }],
+ nav: [
+ { text: "Quick Start", link: "/getting-started" },
+ { text: "Version 1", link: "/v1" },
+ { text: "Version 2", link: "/v2" },
+ ],
- sidebar: [
- {
- text: "About",
- link: "/",
- },
- {
- text: "Getting Started",
- link: "/getting-started",
- },
- {
- text: "User",
- collapsible: true,
- items: [
- {
- text: "Profile",
- link: "/v1/get-user-profile",
- },
- {
- text: "Unlocks (most recent)",
- link: "/v1/get-user-recent-achievements",
- },
- {
- text: "Unlocks (by date range)",
- link: "/v1/get-achievements-earned-between",
- },
- {
- text: "Unlocks (on date)",
- link: "/v1/get-achievements-earned-on-day",
- },
- {
- text: "Game Progress",
- link: "/v1/get-game-info-and-user-progress",
- },
- {
- text: "All Completion Progress",
- link: "/v1/get-user-completion-progress",
- },
- {
- text: "Awards / Badges",
- link: "/v1/get-user-awards",
- },
- {
- text: "Set Development Claims",
- link: "/v1/get-user-claims",
- },
- {
- text: "Game Rank and Score",
- link: "/v1/get-user-game-rank-and-score",
- },
- {
- text: "Point Totals",
- link: "/v1/get-user-points",
- },
- {
- text: "Specific Games Progress",
- link: "/v1/get-user-progress",
- },
- {
- text: "Recently Played Games",
- link: "/v1/get-user-recently-played-games",
- },
- {
- text: "Summary",
- link: "/v1/get-user-summary",
- },
- {
- text: "Completed Games",
- link: "/v1/get-user-completed-games",
- },
- {
- text: "Want to Play Games List",
- link: "/v1/get-user-want-to-play-list",
- },
- {
- text: "Users I Follow",
- link: "/v1/get-users-i-follow",
- },
- {
- text: "Users Following Me",
- link: "/v1/get-users-following-me",
- },
- {
- text: "User Set Requests",
- link: "/v1/get-user-set-requests",
- },
- ],
- },
- {
- text: "Game",
- collapsible: true,
- items: [
- {
- text: "Summary",
- link: "/v1/get-game",
- },
- {
- text: "Extended Details",
- link: "/v1/get-game-extended",
- },
- {
- text: "Hashes",
- link: "/v1/get-game-hashes",
- },
- {
- text: "Achievement IDs",
- link: "/v1/get-achievement-count",
- },
- {
- text: "Unlocks Distribution",
- link: "/v1/get-achievement-distribution",
- },
- {
- text: "High Scores",
- link: "/v1/get-game-rank-and-score",
- },
- {
- text: "Progression",
- link: "/v1/get-game-progression",
- },
- ],
- },
- {
- text: "Leaderboards",
- collapsible: true,
- items: [
- {
- text: "Leaderboards (by gameID)",
- link: "/v1/get-game-leaderboards",
- },
- {
- text: "Entries",
- link: "/v1/get-leaderboard-entries",
- },
- {
- text: "User Leaderboards (by gameID)",
- link: "/v1/get-user-game-leaderboards",
- },
- ],
- },
- {
- text: "System",
- collapsible: true,
- items: [
- {
- text: "All Systems",
- link: "/v1/get-console-ids",
- },
- {
- text: "All Games and Hashes",
- link: "/v1/get-game-list",
- },
- ],
- },
- {
- text: "Achievement",
- collapsible: true,
- items: [
- {
- text: "All Unlocks",
- link: "/v1/get-achievement-unlocks",
- },
+ sidebar: {
+ '/': [
+ {
+ text: "Home",
+ items: [
+ {
+ text: "About",
+ link: "/",
+ },
+ {
+ text: "Getting Started",
+ link: "/getting-started",
+ },
+ ]
+ }
],
- },
- {
- text: "Comment",
- collapsible: true,
- items: [
- {
- text: "Comments",
- link: "/v1/get-comments",
- },
- ],
- },
- {
- text: "Feed",
- collapsible: true,
- items: [
- {
- text: "All Recent Game Awards",
- link: "/v1/get-recent-game-awards",
- },
- {
- text: "Active Claims",
- link: "/v1/get-active-claims",
- },
- {
- text: "Inactive Claims",
- link: "/v1/get-claims",
- },
- {
- text: "Top Ten Ranked Users",
- link: "/v1/get-top-ten-users",
- },
- ],
- },
- {
- text: "Event",
- items: [
- {
- text: "Achievement of the Week",
- link: "/v1/get-achievement-of-the-week",
- },
+ '/v1/': [
+ {
+ text: 'v1',
+ items: [{
+ text: "API v2",
+ link: "/v2"
+ },
+ {
+ text: "User",
+ collapsible: true,
+ items: [
+ {
+ text: "Profile",
+ link: "/v1/get-user-profile",
+ },
+ {
+ text: "Unlocks (most recent)",
+ link: "/v1/get-user-recent-achievements",
+ },
+ {
+ text: "Unlocks (by date range)",
+ link: "/v1/get-achievements-earned-between",
+ },
+ {
+ text: "Unlocks (on date)",
+ link: "/v1/get-achievements-earned-on-day",
+ },
+ {
+ text: "Game Progress",
+ link: "/v1/get-game-info-and-user-progress",
+ },
+ {
+ text: "All Completion Progress",
+ link: "/v1/get-user-completion-progress",
+ },
+ {
+ text: "Awards / Badges",
+ link: "/v1/get-user-awards",
+ },
+ {
+ text: "Set Development Claims",
+ link: "/v1/get-user-claims",
+ },
+ {
+ text: "Game Rank and Score",
+ link: "/v1/get-user-game-rank-and-score",
+ },
+ {
+ text: "Point Totals",
+ link: "/v1/get-user-points",
+ },
+ {
+ text: "Specific Games Progress",
+ link: "/v1/get-user-progress",
+ },
+ {
+ text: "Recently Played Games",
+ link: "/v1/get-user-recently-played-games",
+ },
+ {
+ text: "Summary",
+ link: "/v1/get-user-summary",
+ },
+ {
+ text: "Completed Games",
+ link: "/v1/get-user-completed-games",
+ },
+ {
+ text: "Want to Play Games List",
+ link: "/v1/get-user-want-to-play-list",
+ },
+ {
+ text: "Users I Follow",
+ link: "/v1/get-users-i-follow",
+ },
+ {
+ text: "Users Following Me",
+ link: "/v1/get-users-following-me",
+ },
+ {
+ text: "User Set Requests",
+ link: "/v1/get-user-set-requests",
+ },
+ ],
+ },
+ {
+ text: "Game",
+ collapsible: true,
+ items: [
+ {
+ text: "Summary",
+ link: "/v1/get-game",
+ },
+ {
+ text: "Extended Details",
+ link: "/v1/get-game-extended",
+ },
+ {
+ text: "Hashes",
+ link: "/v1/get-game-hashes",
+ },
+ {
+ text: "Achievement IDs",
+ link: "/v1/get-achievement-count",
+ },
+ {
+ text: "Unlocks Distribution",
+ link: "/v1/get-achievement-distribution",
+ },
+ {
+ text: "High Scores",
+ link: "/v1/get-game-rank-and-score",
+ },
+ {
+ text: "Progression",
+ link: "/v1/get-game-progression",
+ },
+ ],
+ },
+ {
+ text: "Leaderboards",
+ collapsible: true,
+ items: [
+ {
+ text: "Leaderboards (by gameID)",
+ link: "/v1/get-game-leaderboards",
+ },
+ {
+ text: "Entries",
+ link: "/v1/get-leaderboard-entries",
+ },
+ {
+ text: "User Leaderboards (by gameID)",
+ link: "/v1/get-user-game-leaderboards",
+ },
+ ],
+ },
+ {
+ text: "System",
+ collapsible: true,
+ items: [
+ {
+ text: "All Systems",
+ link: "/v1/get-console-ids",
+ },
+ {
+ text: "All Games and Hashes",
+ link: "/v1/get-game-list",
+ },
+ ],
+ },
+ {
+ text: "Achievement",
+ collapsible: true,
+ items: [
+ {
+ text: "All Unlocks",
+ link: "/v1/get-achievement-unlocks",
+ },
+ ],
+ },
+ {
+ text: "Comment",
+ collapsible: true,
+ items: [
+ {
+ text: "Comments",
+ link: "/v1/get-comments",
+ },
+ ],
+ },
+ {
+ text: "Feed",
+ collapsible: true,
+ items: [
+ {
+ text: "All Recent Game Awards",
+ link: "/v1/get-recent-game-awards",
+ },
+ {
+ text: "Active Claims",
+ link: "/v1/get-active-claims",
+ },
+ {
+ text: "Inactive Claims",
+ link: "/v1/get-claims",
+ },
+ {
+ text: "Top Ten Ranked Users",
+ link: "/v1/get-top-ten-users",
+ },
+ ],
+ },
+ {
+ text: "Event",
+ items: [
+ {
+ text: "Achievement of the Week",
+ link: "/v1/get-achievement-of-the-week",
+ },
+ ],
+ },
+ {
+ text: "Ticket",
+ collapsible: true,
+ items: [
+ {
+ text: "Get Ticket by ID",
+ link: "/v1/get-ticket-data/get-ticket-by-id",
+ },
+ {
+ text: "Get Most Ticketed Games",
+ link: "/v1/get-ticket-data/get-most-ticketed-games",
+ },
+ {
+ text: "Get Most Recent Tickets",
+ link: "/v1/get-ticket-data/get-most-recent-tickets",
+ },
+ {
+ text: "Get Game Ticket Stats",
+ link: "/v1/get-ticket-data/get-game-ticket-stats",
+ },
+ {
+ text: "Get Developer Ticket Stats",
+ link: "/v1/get-ticket-data/get-developer-ticket-stats",
+ },
+ {
+ text: "Get Achievement Ticket Stats",
+ link: "/v1/get-ticket-data/get-achievement-ticket-stats",
+ },
+ ],
+ }]
+ }
],
- },
- {
- text: "Ticket",
- collapsible: true,
- items: [
- {
- text: "Get Ticket by ID",
- link: "/v1/get-ticket-data/get-ticket-by-id",
- },
- {
- text: "Get Most Ticketed Games",
- link: "/v1/get-ticket-data/get-most-ticketed-games",
- },
- {
- text: "Get Most Recent Tickets",
- link: "/v1/get-ticket-data/get-most-recent-tickets",
- },
- {
- text: "Get Game Ticket Stats",
- link: "/v1/get-ticket-data/get-game-ticket-stats",
- },
- {
- text: "Get Developer Ticket Stats",
- link: "/v1/get-ticket-data/get-developer-ticket-stats",
- },
- {
- text: "Get Achievement Ticket Stats",
- link: "/v1/get-ticket-data/get-achievement-ticket-stats",
- },
- ],
- },
- ],
+ '/v2/': useSidebar({spec}).generateSidebarGroups({
+ linkPrefix: "/v2/",
+ sidebarItemTemplate: ({
+ title
+ }) => {
+
+ return title;
+ }
+ }),
+ },
+
editLink: {
pattern:
diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts
index c86b19c..71b8aed 100644
--- a/docs/.vitepress/theme/index.ts
+++ b/docs/.vitepress/theme/index.ts
@@ -3,10 +3,20 @@ import "./styles.css";
import DefaultTheme from "vitepress/theme";
import type { Theme } from "vitepress";
import ConditionalCopyButtons from "./ConditionalCopyButtons.vue";
+import { theme, useOpenapi } from "vitepress-openapi/client";
+import "vitepress-openapi/dist/style.css";
+
+import spec from "../../v2/retroachievements.json" with { type: "json" };
export default {
extends: DefaultTheme,
enhanceApp({ app }) {
+ useOpenapi({
+ spec,
+ });
+
+ theme.enhanceApp({ app });
+
app.component("CopyOrDownloadAsMarkdownButtons", ConditionalCopyButtons);
},
} satisfies Theme;
diff --git a/docs/v2/achievement.md b/docs/v2/achievement.md
new file mode 100644
index 0000000..a7a7274
--- /dev/null
+++ b/docs/v2/achievement.md
@@ -0,0 +1,6 @@
+
+
+
diff --git a/docs/v2/achievements.md b/docs/v2/achievements.md
new file mode 100644
index 0000000..7d840ef
--- /dev/null
+++ b/docs/v2/achievements.md
@@ -0,0 +1,6 @@
+
+
+
diff --git a/docs/v2/profile.md b/docs/v2/profile.md
new file mode 100644
index 0000000..351234f
--- /dev/null
+++ b/docs/v2/profile.md
@@ -0,0 +1,84 @@
+
+
+# User Profile
+
+A call to this endpoint will retrieve user profile information, such as their ID, motto, most recent game ID, avatar, and points.
+
+[[toc]]
+
+## On-site Representation
+
+This information can be found near the top of [any user page](https://retroachievements.org/user/MaxMilyin):
+
+
+
+## HTTP Request
+
+https://retroachievements.org/api/v2/profile/MaxMilyin
+
+### Parameters
+
+You must query the user by either their username or their ULID.
+Please note the username is not considered a stable value. As of 2025, users can change their usernames. Initially querying by username is a good way to fetch a ULID.
+
+| Name | Required? | Description |
+| :--- | :-------- | :--------------------------- |
+| `u` | Yes | The target username or ULID. |
+
+## Response
+
+::: code-group
+
+```json [HTTP Response]
+{
+ "User": "MaxMilyin",
+ "ULID": "00003EMFWR7XB8SDPEHB3K56ZQ",
+ "UserPic": "/UserPic/MaxMilyin.png",
+ "MemberSince": "2016-01-02 00:43:04",
+ "RichPresenceMsg": "Playing ~Hack~ 11th Annual Vanilla Level Design Contest, The",
+ "LastGameID": 19504,
+ "ContribCount": 0,
+ "ContribYield": 0,
+ "TotalPoints": 399597,
+ "TotalSoftcorePoints": 0,
+ "TotalTruePoints": 1599212,
+ "Permissions": 1,
+ "Untracked": 0,
+ "ID": 16446,
+ "UserWallActive": true,
+ "Motto": "Join me on Twitch! GameSquadSquad for live RA"
+}
+```
+
+```json [NodeJS]
+{
+ "user": "MaxMilyin",
+ "ulid": "00003EMFWR7XB8SDPEHB3K56ZQ",
+ "userPic": "/UserPic/MaxMilyin.png",
+ "memberSince": "2016-01-02 00:43:04",
+ "richPresenceMsg": "Playing ~Hack~ 11th Annual Vanilla Level Design Contest, The",
+ "lastGameId": 19504,
+ "contribCount": 0,
+ "contribYield": 0,
+ "totalPoints": 399597,
+ "totalSoftcorePoints": 0,
+ "totalTruePoints": 1599212,
+ "permissions": 1,
+ "untracked": false,
+ "id": 16446,
+ "userWallActive": true,
+ "motto": "Join me on Twitch! GameSquadSquad for live RA"
+}
+```
+
+:::
+
+## Source
+
+| Repo | URL |
+| :--------- | :------------------------------------------------------------------------------------------------------------------- |
+| RAWeb | https://github.com/RetroAchievements/RAWeb/blob/master/public/API/API_GetUserProfile.php |
+| api-js | https://github.com/RetroAchievements/api-js/blob/main/src/user/getUserProfile.ts |
+| api-kotlin | https://github.com/RetroAchievements/api-kotlin/blob/main/src/main/kotlin/org/retroachivements/api/RetroInterface.kt |
diff --git a/docs/v2/retroachievements.json b/docs/v2/retroachievements.json
new file mode 100644
index 0000000..b1ed1b2
--- /dev/null
+++ b/docs/v2/retroachievements.json
@@ -0,0 +1,21425 @@
+{
+ "openapi": "3.0.2",
+ "info": {
+ "title": "RetroAchievements",
+ "description": "JSON:API built using Laravel",
+ "version": "2.0"
+ },
+ "servers": [
+ {
+ "url": "https://api.retroachievements.org/v2"
+ }
+ ],
+ "paths": {
+ "/achievements": {
+ "get": {
+ "tags": ["Achievements"],
+ "summary": "Get all achievements",
+ "description": "",
+ "operationId": "achievements.index",
+ "parameters": [
+ {
+ "name": "page[size]",
+ "in": "query",
+ "description": "The page size for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "page[number]",
+ "in": "query",
+ "description": "The page number for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "id",
+ "-id",
+ "title",
+ "-title",
+ "points",
+ "-points",
+ "pointsWeighted",
+ "-pointsWeighted",
+ "type",
+ "-type",
+ "orderColumn",
+ "-orderColumn",
+ "unlocksTotal",
+ "-unlocksTotal",
+ "unlocksHardcore",
+ "-unlocksHardcore",
+ "unlockPercentage",
+ "-unlockPercentage",
+ "unlockHardcorePercentage",
+ "-unlockHardcorePercentage"
+ ],
+ "type": "string",
+ "x-enumDescriptions": {
+ "id": "By id, ascending",
+ "-id": "By id, descending",
+ "title": "By title, ascending",
+ "-title": "By title, descending",
+ "points": "By points, ascending",
+ "-points": "By points, descending",
+ "pointsWeighted": "By pointsWeighted, ascending",
+ "-pointsWeighted": "By pointsWeighted, descending",
+ "type": "By type, ascending",
+ "-type": "By type, descending",
+ "orderColumn": "By orderColumn, ascending",
+ "-orderColumn": "By orderColumn, descending",
+ "unlocksTotal": "By unlocksTotal, ascending",
+ "-unlocksTotal": "By unlocksTotal, descending",
+ "unlocksHardcore": "By unlocksHardcore, ascending",
+ "-unlocksHardcore": "By unlocksHardcore, descending",
+ "unlockPercentage": "By unlockPercentage, ascending",
+ "-unlockPercentage": "By unlockPercentage, descending",
+ "unlockHardcorePercentage": "By unlockHardcorePercentage, ascending",
+ "-unlockHardcorePercentage": "By unlockHardcorePercentage, descending"
+ }
+ }
+ }
+ },
+ {
+ "name": "filter[id][]",
+ "in": "query",
+ "description": "A list of ids to filter by.",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "examples": {
+ "empty": {
+ "value": []
+ },
+ "1": {
+ "value": ["1"]
+ },
+ "2": {
+ "value": ["2"]
+ },
+ "3": {
+ "value": ["3"]
+ }
+ }
+ },
+ {
+ "name": "filter[state]",
+ "in": "query",
+ "description": "Applies the state scope.",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "name": "filter[gameId]",
+ "in": "query",
+ "description": "Applies the gameId scope.",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "name": "filter[type][]",
+ "in": "query",
+ "description": "A list of types to filter by.",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "examples": {
+ "empty": {
+ "value": []
+ },
+ "progression": {
+ "value": "progression"
+ },
+ "missable": {
+ "value": "missable"
+ }
+ }
+ },
+ {
+ "name": "fields[achievements]",
+ "in": "query",
+ "description": "Only return these fields for the \"achievements\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "description",
+ "points",
+ "pointsWeighted",
+ "badgeUrl",
+ "badgeLockedUrl",
+ "type",
+ "state",
+ "orderColumn",
+ "unlocksTotal",
+ "unlocksHardcore",
+ "unlockPercentage",
+ "unlockHardcorePercentage",
+ "createdAt",
+ "modifiedAt",
+ "developer",
+ "achievementSet",
+ "comments",
+ "games",
+ "playerAchievements",
+ "tickets"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[users]",
+ "in": "query",
+ "description": "Only return these fields for the \"users\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "displayName",
+ "avatarUrl",
+ "motto",
+ "points",
+ "pointsHardcore",
+ "pointsWeighted",
+ "yieldUnlocks",
+ "yieldPoints",
+ "joinedAt",
+ "lastActivityAt",
+ "deletedAt",
+ "isUnranked",
+ "isUserWallActive",
+ "richPresence",
+ "richPresenceUpdatedAt",
+ "visibleRole",
+ "displayableRoles",
+ "achievementSetClaims",
+ "playerAchievements",
+ "playerAchievementSets",
+ "playerGames",
+ "tickets",
+ "wallComments",
+ "awards",
+ "followers",
+ "following"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[achievement-sets]",
+ "in": "query",
+ "description": "Only return these fields for the \"achievement-sets\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "pointsTotal",
+ "pointsWeighted",
+ "achievementsPublished",
+ "achievementsUnpublished",
+ "badgeUrl",
+ "achievementsFirstPublishedAt",
+ "types",
+ "createdAt",
+ "updatedAt",
+ "games",
+ "achievementSetVersions"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[games]",
+ "in": "query",
+ "description": "Only return these fields for the \"games\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "sortTitle",
+ "badgeUrl",
+ "imageBoxArtUrl",
+ "imageTitleUrl",
+ "imageIngameUrl",
+ "releasedAt",
+ "releasedAtGranularity",
+ "playersTotal",
+ "playersHardcore",
+ "achievementsPublished",
+ "achievementsUnpublished",
+ "pointsTotal",
+ "pointsWeighted",
+ "timesBeaten",
+ "timesBeatenHardcore",
+ "medianTimeToBeatMinutes",
+ "medianTimeToBeatHardcoreMinutes",
+ "system",
+ "achievementSets",
+ "achievementSetClaims",
+ "comments",
+ "hashes",
+ "tickets"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "Additionally fetch these related resources. Each related resources will be placed in the .included key of the root document, and the main resource each relates to will list the related IDs in its \"relationships\" section.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": ["developer", "achievementSet", "games"],
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index achievements",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.achievements.resource.fetch"
+ }
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Developer/Fetch",
+ "description": "May not be present unless \"developer\" is in the \"include\" header. See `.data[].relationships.developer.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/AchievementSet/Fetch",
+ "description": "May not be present unless \"achievementSet\" is in the \"include\" header. See `.data[].relationships.achievementSet.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-sets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Quia Impedit Libero Quam"
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 341
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "achievementsFirstPublishedAt": {
+ "title": "achievementsFirstPublishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "types": {
+ "title": "types",
+ "type": "array",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-01-09T02:06:22.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetVersions": {
+ "title": "achievementSetVersions",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetVersions\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Comments/Fetch",
+ "description": "May not be present unless \"comments\" is in the \"include\" header. See `.data[].relationships.comments.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "comments",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "3"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "Excited to play this!"
+ },
+ "authorAvatarUrl": {
+ "title": "authorAvatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorDisplayName": {
+ "title": "authorDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorId": {
+ "title": "authorId",
+ "type": "string",
+ "readOnly": true
+ },
+ "permalink": {
+ "title": "permalink",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "submittedAt": {
+ "title": "submittedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-05-05T22:41:05.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Games/Fetch",
+ "description": "May not be present unless \"games\" is in the \"include\" header. See `.data[].relationships.games.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "example": "Quia Impedit Libero Quam"
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "example": "quia impedit libero quam"
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageBoxArtUrl": {
+ "title": "imageBoxArtUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageTitleUrl": {
+ "title": "imageTitleUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000010.png"
+ },
+ "imageIngameUrl": {
+ "title": "imageIngameUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "releasedAt": {
+ "title": "releasedAt",
+ "type": "string"
+ },
+ "releasedAtGranularity": {
+ "title": "releasedAtGranularity",
+ "type": "string"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "example": 82
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "example": 82
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "example": 341
+ },
+ "timesBeaten": {
+ "title": "timesBeaten",
+ "type": "number",
+ "example": 0
+ },
+ "timesBeatenHardcore": {
+ "title": "timesBeatenHardcore",
+ "type": "number",
+ "example": 1
+ },
+ "medianTimeToBeatMinutes": {
+ "title": "medianTimeToBeatMinutes",
+ "type": "number"
+ },
+ "medianTimeToBeatHardcoreMinutes": {
+ "title": "medianTimeToBeatHardcoreMinutes",
+ "type": "number",
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "system": {
+ "title": "system",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"system\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "hashes": {
+ "title": "hashes",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"hashes\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/PlayerAchievements/Fetch",
+ "description": "May not be present unless \"playerAchievements\" is in the \"include\" header. See `.data[].relationships.playerAchievements.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievements",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "unlockedAt": {
+ "title": "unlockedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "unlockedHardcoreAt": {
+ "title": "unlockedHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Tickets/Fetch",
+ "description": "May not be present unless \"tickets\" is in the \"include\" header. See `.data[].relationships.tickets.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "tickets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "5"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "open"
+ },
+ "type": {
+ "title": "type",
+ "type": "string",
+ "readOnly": true,
+ "example": "did_not_trigger"
+ },
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "bruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh moment"
+ },
+ "hardcore": {
+ "title": "hardcore",
+ "type": "boolean",
+ "readOnly": true,
+ "example": 1
+ },
+ "reportedAt": {
+ "title": "reportedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-06-05T19:41:03.000000Z"
+ },
+ "resolvedAt": {
+ "title": "resolvedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "ticketableType": {
+ "title": "ticketableType",
+ "type": "string",
+ "readOnly": true,
+ "example": "achievement"
+ },
+ "ticketableId": {
+ "title": "ticketableId",
+ "type": "number",
+ "readOnly": true,
+ "example": 3801
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "leaderboard": {
+ "title": "leaderboard",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"leaderboard\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "reporter": {
+ "title": "reporter",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"reporter\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "resolver": {
+ "title": "resolver",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"resolver\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ }
+ }
+ },
+ "/achievements/{achievement}": {
+ "get": {
+ "tags": ["Achievements"],
+ "summary": "Show one achievement",
+ "description": "",
+ "operationId": "achievements.show",
+ "parameters": [
+ {
+ "name": "achievement",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show achievements",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "$ref": "#/components/schemas/resources.achievements.resource.fetch"
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Developer/Fetch",
+ "description": "May not be present unless \"developer\" is in the \"include\" header. See `.data[].relationships.developer.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/AchievementSet/Fetch",
+ "description": "May not be present unless \"achievementSet\" is in the \"include\" header. See `.data[].relationships.achievementSet.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-sets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Quia Impedit Libero Quam"
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 341
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "achievementsFirstPublishedAt": {
+ "title": "achievementsFirstPublishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "types": {
+ "title": "types",
+ "type": "array",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-01-09T02:06:22.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetVersions": {
+ "title": "achievementSetVersions",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetVersions\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Comments/Fetch",
+ "description": "May not be present unless \"comments\" is in the \"include\" header. See `.data[].relationships.comments.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "comments",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "3"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "Excited to play this!"
+ },
+ "authorAvatarUrl": {
+ "title": "authorAvatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorDisplayName": {
+ "title": "authorDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorId": {
+ "title": "authorId",
+ "type": "string",
+ "readOnly": true
+ },
+ "permalink": {
+ "title": "permalink",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "submittedAt": {
+ "title": "submittedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-05-05T22:41:05.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Games/Fetch",
+ "description": "May not be present unless \"games\" is in the \"include\" header. See `.data[].relationships.games.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "example": "Quia Impedit Libero Quam"
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "example": "quia impedit libero quam"
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageBoxArtUrl": {
+ "title": "imageBoxArtUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageTitleUrl": {
+ "title": "imageTitleUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000010.png"
+ },
+ "imageIngameUrl": {
+ "title": "imageIngameUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "releasedAt": {
+ "title": "releasedAt",
+ "type": "string"
+ },
+ "releasedAtGranularity": {
+ "title": "releasedAtGranularity",
+ "type": "string"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "example": 82
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "example": 82
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "example": 341
+ },
+ "timesBeaten": {
+ "title": "timesBeaten",
+ "type": "number",
+ "example": 0
+ },
+ "timesBeatenHardcore": {
+ "title": "timesBeatenHardcore",
+ "type": "number",
+ "example": 1
+ },
+ "medianTimeToBeatMinutes": {
+ "title": "medianTimeToBeatMinutes",
+ "type": "number"
+ },
+ "medianTimeToBeatHardcoreMinutes": {
+ "title": "medianTimeToBeatHardcoreMinutes",
+ "type": "number",
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "system": {
+ "title": "system",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"system\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "hashes": {
+ "title": "hashes",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"hashes\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/PlayerAchievements/Fetch",
+ "description": "May not be present unless \"playerAchievements\" is in the \"include\" header. See `.data[].relationships.playerAchievements.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievements",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "unlockedAt": {
+ "title": "unlockedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "unlockedHardcoreAt": {
+ "title": "unlockedHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Tickets/Fetch",
+ "description": "May not be present unless \"tickets\" is in the \"include\" header. See `.data[].relationships.tickets.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "tickets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "5"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "open"
+ },
+ "type": {
+ "title": "type",
+ "type": "string",
+ "readOnly": true,
+ "example": "did_not_trigger"
+ },
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "bruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh moment"
+ },
+ "hardcore": {
+ "title": "hardcore",
+ "type": "boolean",
+ "readOnly": true,
+ "example": 1
+ },
+ "reportedAt": {
+ "title": "reportedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-06-05T19:41:03.000000Z"
+ },
+ "resolvedAt": {
+ "title": "resolvedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "ticketableType": {
+ "title": "ticketableType",
+ "type": "string",
+ "readOnly": true,
+ "example": "achievement"
+ },
+ "ticketableId": {
+ "title": "ticketableId",
+ "type": "number",
+ "readOnly": true,
+ "example": 3801
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "leaderboard": {
+ "title": "leaderboard",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"leaderboard\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "reporter": {
+ "title": "reporter",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"reporter\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "resolver": {
+ "title": "resolver",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"resolver\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/achievements/{achievement}/comments": {
+ "get": {
+ "tags": ["Achievements"],
+ "summary": "Show comments",
+ "description": "",
+ "operationId": "achievements.comments",
+ "parameters": [
+ {
+ "name": "achievement",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated achievements",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.comments.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/achievements/{achievement}/relationships/comments": {
+ "get": {
+ "tags": ["Achievements"],
+ "summary": "Show comments relation",
+ "description": "",
+ "operationId": "achievements.comments.show",
+ "parameters": [
+ {
+ "name": "achievement",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show achievements",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.achievements.relationship.comments.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/achievements/{achievement}/player-achievements": {
+ "get": {
+ "tags": ["Achievements"],
+ "summary": "Show playerAchievements",
+ "description": "",
+ "operationId": "achievements.playerAchievements",
+ "parameters": [
+ {
+ "name": "achievement",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated achievements",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.player-achievements.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/achievements/{achievement}/relationships/player-achievements": {
+ "get": {
+ "tags": ["Achievements"],
+ "summary": "Show playerAchievements relation",
+ "description": "",
+ "operationId": "achievements.playerAchievements.show",
+ "parameters": [
+ {
+ "name": "achievement",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show achievements",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.achievements.relationship.playerAchievements.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/achievements/{achievement}/tickets": {
+ "get": {
+ "tags": ["Achievements"],
+ "summary": "Show tickets",
+ "description": "",
+ "operationId": "achievements.tickets",
+ "parameters": [
+ {
+ "name": "achievement",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated achievements",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.tickets.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/achievements/{achievement}/relationships/tickets": {
+ "get": {
+ "tags": ["Achievements"],
+ "summary": "Show tickets relation",
+ "description": "",
+ "operationId": "achievements.tickets.show",
+ "parameters": [
+ {
+ "name": "achievement",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show achievements",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.achievements.relationship.tickets.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/achievement-sets/{achievement_set}": {
+ "get": {
+ "tags": ["Achievement-sets"],
+ "summary": "Show one achievement-set",
+ "description": "",
+ "operationId": "achievement-sets.show",
+ "parameters": [
+ {
+ "name": "achievement_set",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show achievement-sets",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "$ref": "#/components/schemas/resources.achievement-sets.resource.fetch"
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Games/Fetch",
+ "description": "May not be present unless \"games\" is in the \"include\" header. See `.data[].relationships.games.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "example": "Quia Impedit Libero Quam"
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "example": "quia impedit libero quam"
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageBoxArtUrl": {
+ "title": "imageBoxArtUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageTitleUrl": {
+ "title": "imageTitleUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000010.png"
+ },
+ "imageIngameUrl": {
+ "title": "imageIngameUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "releasedAt": {
+ "title": "releasedAt",
+ "type": "string"
+ },
+ "releasedAtGranularity": {
+ "title": "releasedAtGranularity",
+ "type": "string"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "example": 82
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "example": 82
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "example": 341
+ },
+ "timesBeaten": {
+ "title": "timesBeaten",
+ "type": "number",
+ "example": 0
+ },
+ "timesBeatenHardcore": {
+ "title": "timesBeatenHardcore",
+ "type": "number",
+ "example": 1
+ },
+ "medianTimeToBeatMinutes": {
+ "title": "medianTimeToBeatMinutes",
+ "type": "number"
+ },
+ "medianTimeToBeatHardcoreMinutes": {
+ "title": "medianTimeToBeatHardcoreMinutes",
+ "type": "number",
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "system": {
+ "title": "system",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"system\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "hashes": {
+ "title": "hashes",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"hashes\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/AchievementSetVersions/Fetch",
+ "description": "May not be present unless \"achievementSetVersions\" is in the \"include\" header. See `.data[].relationships.achievementSetVersions.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-set-versions",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-05-31T20:21:52.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-06-10T20:57:02.000000Z"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 83
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 83
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 10
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 101
+ },
+ "achievementSetId": {
+ "title": "achievementSetId",
+ "type": "string",
+ "readOnly": true,
+ "example": 215
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSet": {
+ "title": "achievementSet",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSet\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/achievement-sets/{achievement_set}/achievement-set-versions": {
+ "get": {
+ "tags": ["Achievement-sets"],
+ "summary": "Show achievementSetVersions",
+ "description": "",
+ "operationId": "achievement-sets.achievementSetVersions",
+ "parameters": [
+ {
+ "name": "achievement_set",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated achievement-sets",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.achievement-set-versions.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/achievement-sets/{achievement_set}/relationships/achievement-set-versions": {
+ "get": {
+ "tags": ["Achievement-sets"],
+ "summary": "Show achievementSetVersions relation",
+ "description": "",
+ "operationId": "achievement-sets.achievementSetVersions.show",
+ "parameters": [
+ {
+ "name": "achievement_set",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show achievement-sets",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.achievement-sets.relationship.achievementSetVersions.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/achievement-set-claims": {
+ "get": {
+ "tags": ["Achievement-set-claims"],
+ "summary": "Get all achievement-set-claims",
+ "description": "",
+ "operationId": "achievement-set-claims.index",
+ "parameters": [
+ {
+ "name": "page[size]",
+ "in": "query",
+ "description": "The page size for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "page[number]",
+ "in": "query",
+ "description": "The page number for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "id",
+ "-id",
+ "claimedAt",
+ "-claimedAt",
+ "finishedAt",
+ "-finishedAt",
+ "updatedAt",
+ "-updatedAt",
+ "status",
+ "-status",
+ "claimType",
+ "-claimType",
+ "setType",
+ "-setType",
+ "specialType",
+ "-specialType",
+ "extensionsCount",
+ "-extensionsCount",
+ "gameTitle",
+ "-gameTitle",
+ "userDisplayName",
+ "-userDisplayName"
+ ],
+ "type": "string",
+ "x-enumDescriptions": {
+ "id": "By id, ascending",
+ "-id": "By id, descending",
+ "claimedAt": "By claimedAt, ascending",
+ "-claimedAt": "By claimedAt, descending",
+ "finishedAt": "By finishedAt, ascending",
+ "-finishedAt": "By finishedAt, descending",
+ "updatedAt": "By updatedAt, ascending",
+ "-updatedAt": "By updatedAt, descending",
+ "status": "By status, ascending",
+ "-status": "By status, descending",
+ "claimType": "By claimType, ascending",
+ "-claimType": "By claimType, descending",
+ "setType": "By setType, ascending",
+ "-setType": "By setType, descending",
+ "specialType": "By specialType, ascending",
+ "-specialType": "By specialType, descending",
+ "extensionsCount": "By extensionsCount, ascending",
+ "-extensionsCount": "By extensionsCount, descending",
+ "gameTitle": "By gameTitle, ascending",
+ "-gameTitle": "By gameTitle, descending",
+ "userDisplayName": "By userDisplayName, ascending",
+ "-userDisplayName": "By userDisplayName, descending"
+ }
+ }
+ }
+ },
+ {
+ "name": "filter[id][]",
+ "in": "query",
+ "description": "A list of ids to filter by.",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "examples": {
+ "empty": {
+ "value": []
+ },
+ "1": {
+ "value": ["1"]
+ },
+ "2": {
+ "value": ["2"]
+ },
+ "3": {
+ "value": ["3"]
+ }
+ }
+ },
+ {
+ "name": "filter[gameId]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "default": "",
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": 1
+ }
+ }
+ },
+ {
+ "name": "filter[status]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[claimType]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[setType]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[specialType]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[expired]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[user]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "fields[achievement-set-claims]",
+ "in": "query",
+ "description": "Only return these fields for the \"achievement-set-claims\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "claimedAt",
+ "finishedAt",
+ "updatedAt",
+ "status",
+ "claimType",
+ "setType",
+ "specialType",
+ "extensionsCount",
+ "minutesLeft",
+ "userId",
+ "userDisplayName",
+ "gameId",
+ "gameTitle",
+ "gameIconUrl",
+ "systemId",
+ "systemName",
+ "user",
+ "game"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[users]",
+ "in": "query",
+ "description": "Only return these fields for the \"users\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "displayName",
+ "avatarUrl",
+ "motto",
+ "points",
+ "pointsHardcore",
+ "pointsWeighted",
+ "yieldUnlocks",
+ "yieldPoints",
+ "joinedAt",
+ "lastActivityAt",
+ "deletedAt",
+ "isUnranked",
+ "isUserWallActive",
+ "richPresence",
+ "richPresenceUpdatedAt",
+ "visibleRole",
+ "displayableRoles",
+ "achievementSetClaims",
+ "playerAchievements",
+ "playerAchievementSets",
+ "playerGames",
+ "tickets",
+ "wallComments",
+ "awards",
+ "followers",
+ "following"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[games]",
+ "in": "query",
+ "description": "Only return these fields for the \"games\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "sortTitle",
+ "badgeUrl",
+ "imageBoxArtUrl",
+ "imageTitleUrl",
+ "imageIngameUrl",
+ "releasedAt",
+ "releasedAtGranularity",
+ "playersTotal",
+ "playersHardcore",
+ "achievementsPublished",
+ "achievementsUnpublished",
+ "pointsTotal",
+ "pointsWeighted",
+ "timesBeaten",
+ "timesBeatenHardcore",
+ "medianTimeToBeatMinutes",
+ "medianTimeToBeatHardcoreMinutes",
+ "system",
+ "achievementSets",
+ "achievementSetClaims",
+ "comments",
+ "hashes",
+ "tickets"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "Additionally fetch these related resources. Each related resources will be placed in the .included key of the root document, and the main resource each relates to will list the related IDs in its \"relationships\" section.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": ["user", "game"],
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index achievement-set-claims",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.achievement-set-claims.resource.fetch"
+ }
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/User/Fetch",
+ "description": "May not be present unless \"user\" is in the \"include\" header. See `.data[].relationships.user.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Game/Fetch",
+ "description": "May not be present unless \"game\" is in the \"include\" header. See `.data[].relationships.game.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "example": "Quia Impedit Libero Quam"
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "example": "quia impedit libero quam"
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageBoxArtUrl": {
+ "title": "imageBoxArtUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageTitleUrl": {
+ "title": "imageTitleUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000010.png"
+ },
+ "imageIngameUrl": {
+ "title": "imageIngameUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "releasedAt": {
+ "title": "releasedAt",
+ "type": "string"
+ },
+ "releasedAtGranularity": {
+ "title": "releasedAtGranularity",
+ "type": "string"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "example": 82
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "example": 82
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "example": 341
+ },
+ "timesBeaten": {
+ "title": "timesBeaten",
+ "type": "number",
+ "example": 0
+ },
+ "timesBeatenHardcore": {
+ "title": "timesBeatenHardcore",
+ "type": "number",
+ "example": 1
+ },
+ "medianTimeToBeatMinutes": {
+ "title": "medianTimeToBeatMinutes",
+ "type": "number"
+ },
+ "medianTimeToBeatHardcoreMinutes": {
+ "title": "medianTimeToBeatHardcoreMinutes",
+ "type": "number",
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "system": {
+ "title": "system",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"system\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "hashes": {
+ "title": "hashes",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"hashes\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ }
+ }
+ },
+ "/achievement-set-versions": {
+ "get": {
+ "tags": ["Achievement-set-versions"],
+ "summary": "Get all achievement-set-versions",
+ "description": "",
+ "operationId": "achievement-set-versions.index",
+ "parameters": [
+ {
+ "name": "page[size]",
+ "in": "query",
+ "description": "The page size for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "page[number]",
+ "in": "query",
+ "description": "The page number for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "id",
+ "-id",
+ "createdAt",
+ "-createdAt",
+ "updatedAt",
+ "-updatedAt"
+ ],
+ "type": "string",
+ "x-enumDescriptions": {
+ "id": "By id, ascending",
+ "-id": "By id, descending",
+ "createdAt": "By createdAt, ascending",
+ "-createdAt": "By createdAt, descending",
+ "updatedAt": "By updatedAt, ascending",
+ "-updatedAt": "By updatedAt, descending"
+ }
+ }
+ }
+ },
+ {
+ "name": "filter[id][]",
+ "in": "query",
+ "description": "A list of ids to filter by.",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "examples": {
+ "empty": {
+ "value": []
+ },
+ "1": {
+ "value": ["1"]
+ },
+ "2": {
+ "value": ["2"]
+ },
+ "3": {
+ "value": ["3"]
+ }
+ }
+ },
+ {
+ "name": "filter[achievementSetId]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "default": "",
+ "type": "string"
+ },
+ "examples": {
+ "215": {
+ "value": 215
+ },
+ "303": {
+ "value": 303
+ },
+ "306": {
+ "value": 306
+ }
+ }
+ },
+ {
+ "name": "fields[achievement-set-versions]",
+ "in": "query",
+ "description": "Only return these fields for the \"achievement-set-versions\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "version",
+ "createdAt",
+ "updatedAt",
+ "playersTotal",
+ "playersHardcore",
+ "achievementsPublished",
+ "achievementsUnpublished",
+ "pointsTotal",
+ "achievementSetId",
+ "achievementSet"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[achievement-sets]",
+ "in": "query",
+ "description": "Only return these fields for the \"achievement-sets\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "pointsTotal",
+ "pointsWeighted",
+ "achievementsPublished",
+ "achievementsUnpublished",
+ "badgeUrl",
+ "achievementsFirstPublishedAt",
+ "types",
+ "createdAt",
+ "updatedAt",
+ "games",
+ "achievementSetVersions"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "Additionally fetch these related resources. Each related resources will be placed in the .included key of the root document, and the main resource each relates to will list the related IDs in its \"relationships\" section.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": ["achievementSet", "achievementSet.games"],
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index achievement-set-versions",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.achievement-set-versions.resource.fetch"
+ }
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/AchievementSet/Fetch",
+ "description": "May not be present unless \"achievementSet\" is in the \"include\" header. See `.data[].relationships.achievementSet.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-sets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Quia Impedit Libero Quam"
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 341
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "achievementsFirstPublishedAt": {
+ "title": "achievementsFirstPublishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "types": {
+ "title": "types",
+ "type": "array",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-01-09T02:06:22.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetVersions": {
+ "title": "achievementSetVersions",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetVersions\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ }
+ }
+ },
+ "/events": {
+ "get": {
+ "tags": ["Events"],
+ "summary": "Get all events",
+ "description": "",
+ "operationId": "events.index",
+ "parameters": [
+ {
+ "name": "page[size]",
+ "in": "query",
+ "description": "The page size for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "page[number]",
+ "in": "query",
+ "description": "The page number for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "id",
+ "-id",
+ "title",
+ "-title",
+ "sortTitle",
+ "-sortTitle",
+ "activeFrom",
+ "-activeFrom"
+ ],
+ "type": "string",
+ "x-enumDescriptions": {
+ "id": "By id, ascending",
+ "-id": "By id, descending",
+ "title": "By title, ascending",
+ "-title": "By title, descending",
+ "sortTitle": "By sortTitle, ascending",
+ "-sortTitle": "By sortTitle, descending",
+ "activeFrom": "By activeFrom, ascending",
+ "-activeFrom": "By activeFrom, descending"
+ }
+ }
+ }
+ },
+ {
+ "name": "filter[id][]",
+ "in": "query",
+ "description": "A list of ids to filter by.",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "examples": {
+ "empty": {
+ "value": []
+ },
+ "3": {
+ "value": ["3"]
+ }
+ }
+ },
+ {
+ "name": "fields[events]",
+ "in": "query",
+ "description": "Only return these fields for the \"events\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "sortTitle",
+ "badgeUrl",
+ "state",
+ "playersTotal",
+ "achievementsPublished",
+ "activeFrom",
+ "activeThrough",
+ "awards"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[event-awards]",
+ "in": "query",
+ "description": "Only return these fields for the \"event-awards\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "tierIndex",
+ "label",
+ "pointsRequired",
+ "badgeUrl",
+ "event"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "Additionally fetch these related resources. Each related resources will be placed in the .included key of the root document, and the main resource each relates to will list the related IDs in its \"relationships\" section.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": ["awards"],
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index events",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.events.resource.fetch"
+ }
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Awards/Fetch",
+ "description": "May not be present unless \"awards\" is in the \"include\" header. See `.data[].relationships.awards.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "event-awards",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "tierIndex": {
+ "title": "tierIndex",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "label": {
+ "title": "label",
+ "type": "string",
+ "readOnly": true,
+ "example": "True"
+ },
+ "pointsRequired": {
+ "title": "pointsRequired",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000008.png"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "event": {
+ "title": "event",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"event\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/events/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/events/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ }
+ }
+ },
+ "/events/{event}": {
+ "get": {
+ "tags": ["Events"],
+ "summary": "Show one event",
+ "description": "",
+ "operationId": "events.show",
+ "parameters": [
+ {
+ "name": "event",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show events",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "$ref": "#/components/schemas/resources.events.resource.fetch"
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Awards/Fetch",
+ "description": "May not be present unless \"awards\" is in the \"include\" header. See `.data[].relationships.awards.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "event-awards",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "tierIndex": {
+ "title": "tierIndex",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "label": {
+ "title": "label",
+ "type": "string",
+ "readOnly": true,
+ "example": "True"
+ },
+ "pointsRequired": {
+ "title": "pointsRequired",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000008.png"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "event": {
+ "title": "event",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"event\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/events/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/events/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/games": {
+ "get": {
+ "tags": ["Games"],
+ "summary": "Get all games",
+ "description": "",
+ "operationId": "games.index",
+ "parameters": [
+ {
+ "name": "page[size]",
+ "in": "query",
+ "description": "The page size for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "page[number]",
+ "in": "query",
+ "description": "The page number for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "id",
+ "-id",
+ "title",
+ "-title",
+ "sortTitle",
+ "-sortTitle",
+ "releasedAt",
+ "-releasedAt",
+ "playersTotal",
+ "-playersTotal",
+ "playersHardcore",
+ "-playersHardcore",
+ "achievementsPublished",
+ "-achievementsPublished",
+ "pointsTotal",
+ "-pointsTotal",
+ "pointsWeighted",
+ "-pointsWeighted"
+ ],
+ "type": "string",
+ "x-enumDescriptions": {
+ "id": "By id, ascending",
+ "-id": "By id, descending",
+ "title": "By title, ascending",
+ "-title": "By title, descending",
+ "sortTitle": "By sortTitle, ascending",
+ "-sortTitle": "By sortTitle, descending",
+ "releasedAt": "By releasedAt, ascending",
+ "-releasedAt": "By releasedAt, descending",
+ "playersTotal": "By playersTotal, ascending",
+ "-playersTotal": "By playersTotal, descending",
+ "playersHardcore": "By playersHardcore, ascending",
+ "-playersHardcore": "By playersHardcore, descending",
+ "achievementsPublished": "By achievementsPublished, ascending",
+ "-achievementsPublished": "By achievementsPublished, descending",
+ "pointsTotal": "By pointsTotal, ascending",
+ "-pointsTotal": "By pointsTotal, descending",
+ "pointsWeighted": "By pointsWeighted, ascending",
+ "-pointsWeighted": "By pointsWeighted, descending"
+ }
+ }
+ }
+ },
+ {
+ "name": "filter[id][]",
+ "in": "query",
+ "description": "A list of ids to filter by.",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "examples": {
+ "empty": {
+ "value": []
+ },
+ "1": {
+ "value": ["1"]
+ },
+ "2": {
+ "value": ["2"]
+ },
+ "3": {
+ "value": ["3"]
+ }
+ }
+ },
+ {
+ "name": "filter[systemId]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "default": "",
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": 1
+ }
+ }
+ },
+ {
+ "name": "fields[games]",
+ "in": "query",
+ "description": "Only return these fields for the \"games\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "sortTitle",
+ "badgeUrl",
+ "imageBoxArtUrl",
+ "imageTitleUrl",
+ "imageIngameUrl",
+ "releasedAt",
+ "releasedAtGranularity",
+ "playersTotal",
+ "playersHardcore",
+ "achievementsPublished",
+ "achievementsUnpublished",
+ "pointsTotal",
+ "pointsWeighted",
+ "timesBeaten",
+ "timesBeatenHardcore",
+ "medianTimeToBeatMinutes",
+ "medianTimeToBeatHardcoreMinutes",
+ "system",
+ "achievementSets",
+ "achievementSetClaims",
+ "comments",
+ "hashes",
+ "tickets"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[systems]",
+ "in": "query",
+ "description": "Only return these fields for the \"systems\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "name",
+ "nameFull",
+ "nameShort",
+ "manufacturer",
+ "iconUrl",
+ "active"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[achievement-sets]",
+ "in": "query",
+ "description": "Only return these fields for the \"achievement-sets\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "pointsTotal",
+ "pointsWeighted",
+ "achievementsPublished",
+ "achievementsUnpublished",
+ "badgeUrl",
+ "achievementsFirstPublishedAt",
+ "types",
+ "createdAt",
+ "updatedAt",
+ "games",
+ "achievementSetVersions"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[game-hashes]",
+ "in": "query",
+ "description": "Only return these fields for the \"game-hashes\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "raMd5",
+ "name",
+ "compatibility",
+ "patchUrl",
+ "createdAt",
+ "updatedAt",
+ "game"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "Additionally fetch these related resources. Each related resources will be placed in the .included key of the root document, and the main resource each relates to will list the related IDs in its \"relationships\" section.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": ["system", "achievementSets", "hashes"],
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index games",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.games.resource.fetch"
+ }
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/System/Fetch",
+ "description": "May not be present unless \"system\" is in the \"include\" header. See `.data[].relationships.system.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "systems",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "name",
+ "type": "string",
+ "example": "Genesis/Mega Drive"
+ },
+ "nameFull": {
+ "title": "nameFull",
+ "type": "string",
+ "example": "Sega Genesis/Mega Drive"
+ },
+ "nameShort": {
+ "title": "nameShort",
+ "type": "string",
+ "example": "MD"
+ },
+ "manufacturer": {
+ "title": "manufacturer",
+ "type": "string",
+ "example": "Sega"
+ },
+ "iconUrl": {
+ "title": "iconUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://static.retroachievements.org/assets/images/system/md.png"
+ },
+ "active": {
+ "title": "active",
+ "type": "boolean",
+ "example": true
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/AchievementSets/Fetch",
+ "description": "May not be present unless \"achievementSets\" is in the \"include\" header. See `.data[].relationships.achievementSets.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-sets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Quia Impedit Libero Quam"
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 341
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "achievementsFirstPublishedAt": {
+ "title": "achievementsFirstPublishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "types": {
+ "title": "types",
+ "type": "array",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-01-09T02:06:22.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetVersions": {
+ "title": "achievementSetVersions",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetVersions\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/AchievementSetClaims/Fetch",
+ "description": "May not be present unless \"achievementSetClaims\" is in the \"include\" header. See `.data[].relationships.achievementSetClaims.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-set-claims",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "claimedAt": {
+ "title": "claimedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:24:26.000000Z"
+ },
+ "finishedAt": {
+ "title": "finishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-12-12T06:24:26.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:24:26.000000Z"
+ },
+ "status": {
+ "title": "status",
+ "type": "string",
+ "readOnly": true,
+ "example": "complete"
+ },
+ "claimType": {
+ "title": "claimType",
+ "type": "string",
+ "readOnly": true,
+ "example": "primary"
+ },
+ "setType": {
+ "title": "setType",
+ "type": "string",
+ "readOnly": true,
+ "example": "new_set"
+ },
+ "specialType": {
+ "title": "specialType",
+ "type": "string",
+ "readOnly": true,
+ "example": "none"
+ },
+ "extensionsCount": {
+ "title": "extensionsCount",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "minutesLeft": {
+ "title": "minutesLeft",
+ "type": "number",
+ "readOnly": true,
+ "example": 298961
+ },
+ "userId": {
+ "title": "userId",
+ "type": "string",
+ "readOnly": true,
+ "example": 91
+ },
+ "userDisplayName": {
+ "title": "userDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "gameId": {
+ "title": "gameId",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "gameTitle": {
+ "title": "gameTitle",
+ "type": "string",
+ "readOnly": true
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemId": {
+ "title": "systemId",
+ "type": "number",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Comments/Fetch",
+ "description": "May not be present unless \"comments\" is in the \"include\" header. See `.data[].relationships.comments.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "comments",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "3"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "Excited to play this!"
+ },
+ "authorAvatarUrl": {
+ "title": "authorAvatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorDisplayName": {
+ "title": "authorDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorId": {
+ "title": "authorId",
+ "type": "string",
+ "readOnly": true
+ },
+ "permalink": {
+ "title": "permalink",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "submittedAt": {
+ "title": "submittedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-05-05T22:41:05.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Hashes/Fetch",
+ "description": "May not be present unless \"hashes\" is in the \"include\" header. See `.data[].relationships.hashes.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "game-hashes",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "raMd5": {
+ "title": "raMd5",
+ "type": "string",
+ "readOnly": true,
+ "example": "eDWamQy5GYZqRxvXkj6P6rjDULfnTddT"
+ },
+ "name": {
+ "title": "name",
+ "type": "string",
+ "readOnly": true,
+ "example": "True"
+ },
+ "compatibility": {
+ "title": "compatibility",
+ "type": "string",
+ "readOnly": true,
+ "example": "compatible"
+ },
+ "patchUrl": {
+ "title": "patchUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:57.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-25T20:56:02.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Tickets/Fetch",
+ "description": "May not be present unless \"tickets\" is in the \"include\" header. See `.data[].relationships.tickets.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "tickets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "5"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "open"
+ },
+ "type": {
+ "title": "type",
+ "type": "string",
+ "readOnly": true,
+ "example": "did_not_trigger"
+ },
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "bruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh moment"
+ },
+ "hardcore": {
+ "title": "hardcore",
+ "type": "boolean",
+ "readOnly": true,
+ "example": 1
+ },
+ "reportedAt": {
+ "title": "reportedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-06-05T19:41:03.000000Z"
+ },
+ "resolvedAt": {
+ "title": "resolvedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "ticketableType": {
+ "title": "ticketableType",
+ "type": "string",
+ "readOnly": true,
+ "example": "achievement"
+ },
+ "ticketableId": {
+ "title": "ticketableId",
+ "type": "number",
+ "readOnly": true,
+ "example": 3801
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "leaderboard": {
+ "title": "leaderboard",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"leaderboard\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "reporter": {
+ "title": "reporter",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"reporter\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "resolver": {
+ "title": "resolver",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"resolver\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ }
+ }
+ },
+ "/games/{game}": {
+ "get": {
+ "tags": ["Games"],
+ "summary": "Show one game",
+ "description": "",
+ "operationId": "games.show",
+ "parameters": [
+ {
+ "name": "game",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show games",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "$ref": "#/components/schemas/resources.games.resource.fetch"
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/System/Fetch",
+ "description": "May not be present unless \"system\" is in the \"include\" header. See `.data[].relationships.system.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "systems",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "name",
+ "type": "string",
+ "example": "Genesis/Mega Drive"
+ },
+ "nameFull": {
+ "title": "nameFull",
+ "type": "string",
+ "example": "Sega Genesis/Mega Drive"
+ },
+ "nameShort": {
+ "title": "nameShort",
+ "type": "string",
+ "example": "MD"
+ },
+ "manufacturer": {
+ "title": "manufacturer",
+ "type": "string",
+ "example": "Sega"
+ },
+ "iconUrl": {
+ "title": "iconUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://static.retroachievements.org/assets/images/system/md.png"
+ },
+ "active": {
+ "title": "active",
+ "type": "boolean",
+ "example": true
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/AchievementSets/Fetch",
+ "description": "May not be present unless \"achievementSets\" is in the \"include\" header. See `.data[].relationships.achievementSets.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-sets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Quia Impedit Libero Quam"
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 341
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "achievementsFirstPublishedAt": {
+ "title": "achievementsFirstPublishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "types": {
+ "title": "types",
+ "type": "array",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-01-09T02:06:22.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetVersions": {
+ "title": "achievementSetVersions",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetVersions\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/AchievementSetClaims/Fetch",
+ "description": "May not be present unless \"achievementSetClaims\" is in the \"include\" header. See `.data[].relationships.achievementSetClaims.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-set-claims",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "claimedAt": {
+ "title": "claimedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:24:26.000000Z"
+ },
+ "finishedAt": {
+ "title": "finishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-12-12T06:24:26.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:24:26.000000Z"
+ },
+ "status": {
+ "title": "status",
+ "type": "string",
+ "readOnly": true,
+ "example": "complete"
+ },
+ "claimType": {
+ "title": "claimType",
+ "type": "string",
+ "readOnly": true,
+ "example": "primary"
+ },
+ "setType": {
+ "title": "setType",
+ "type": "string",
+ "readOnly": true,
+ "example": "new_set"
+ },
+ "specialType": {
+ "title": "specialType",
+ "type": "string",
+ "readOnly": true,
+ "example": "none"
+ },
+ "extensionsCount": {
+ "title": "extensionsCount",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "minutesLeft": {
+ "title": "minutesLeft",
+ "type": "number",
+ "readOnly": true,
+ "example": 298961
+ },
+ "userId": {
+ "title": "userId",
+ "type": "string",
+ "readOnly": true,
+ "example": 91
+ },
+ "userDisplayName": {
+ "title": "userDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "gameId": {
+ "title": "gameId",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "gameTitle": {
+ "title": "gameTitle",
+ "type": "string",
+ "readOnly": true
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemId": {
+ "title": "systemId",
+ "type": "number",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Comments/Fetch",
+ "description": "May not be present unless \"comments\" is in the \"include\" header. See `.data[].relationships.comments.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "comments",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "3"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "Excited to play this!"
+ },
+ "authorAvatarUrl": {
+ "title": "authorAvatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorDisplayName": {
+ "title": "authorDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorId": {
+ "title": "authorId",
+ "type": "string",
+ "readOnly": true
+ },
+ "permalink": {
+ "title": "permalink",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "submittedAt": {
+ "title": "submittedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-05-05T22:41:05.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Hashes/Fetch",
+ "description": "May not be present unless \"hashes\" is in the \"include\" header. See `.data[].relationships.hashes.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "game-hashes",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "raMd5": {
+ "title": "raMd5",
+ "type": "string",
+ "readOnly": true,
+ "example": "eDWamQy5GYZqRxvXkj6P6rjDULfnTddT"
+ },
+ "name": {
+ "title": "name",
+ "type": "string",
+ "readOnly": true,
+ "example": "True"
+ },
+ "compatibility": {
+ "title": "compatibility",
+ "type": "string",
+ "readOnly": true,
+ "example": "compatible"
+ },
+ "patchUrl": {
+ "title": "patchUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:57.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-25T20:56:02.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Tickets/Fetch",
+ "description": "May not be present unless \"tickets\" is in the \"include\" header. See `.data[].relationships.tickets.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "tickets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "5"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "open"
+ },
+ "type": {
+ "title": "type",
+ "type": "string",
+ "readOnly": true,
+ "example": "did_not_trigger"
+ },
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "bruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh moment"
+ },
+ "hardcore": {
+ "title": "hardcore",
+ "type": "boolean",
+ "readOnly": true,
+ "example": 1
+ },
+ "reportedAt": {
+ "title": "reportedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-06-05T19:41:03.000000Z"
+ },
+ "resolvedAt": {
+ "title": "resolvedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "ticketableType": {
+ "title": "ticketableType",
+ "type": "string",
+ "readOnly": true,
+ "example": "achievement"
+ },
+ "ticketableId": {
+ "title": "ticketableId",
+ "type": "number",
+ "readOnly": true,
+ "example": 3801
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "leaderboard": {
+ "title": "leaderboard",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"leaderboard\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "reporter": {
+ "title": "reporter",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"reporter\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "resolver": {
+ "title": "resolver",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"resolver\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/games/{game}/achievement-set-claims": {
+ "get": {
+ "tags": ["Games"],
+ "summary": "Show achievementSetClaims",
+ "description": "",
+ "operationId": "games.achievementSetClaims",
+ "parameters": [
+ {
+ "name": "game",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated games",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.achievement-set-claims.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/games/{game}/relationships/achievement-set-claims": {
+ "get": {
+ "tags": ["Games"],
+ "summary": "Show achievementSetClaims relation",
+ "description": "",
+ "operationId": "games.achievementSetClaims.show",
+ "parameters": [
+ {
+ "name": "game",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show games",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.games.relationship.achievementSetClaims.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/games/{game}/comments": {
+ "get": {
+ "tags": ["Games"],
+ "summary": "Show comments",
+ "description": "",
+ "operationId": "games.comments",
+ "parameters": [
+ {
+ "name": "game",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated games",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.comments.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/games/{game}/relationships/comments": {
+ "get": {
+ "tags": ["Games"],
+ "summary": "Show comments relation",
+ "description": "",
+ "operationId": "games.comments.show",
+ "parameters": [
+ {
+ "name": "game",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show games",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.games.relationship.comments.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/games/{game}/hashes": {
+ "get": {
+ "tags": ["Games"],
+ "summary": "Show hashes",
+ "description": "",
+ "operationId": "games.hashes",
+ "parameters": [
+ {
+ "name": "game",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated games",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.game-hashes.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/games/{game}/relationships/hashes": {
+ "get": {
+ "tags": ["Games"],
+ "summary": "Show hashes relation",
+ "description": "",
+ "operationId": "games.hashes.show",
+ "parameters": [
+ {
+ "name": "game",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show games",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.games.relationship.hashes.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/games/{game}/tickets": {
+ "get": {
+ "tags": ["Games"],
+ "summary": "Show tickets",
+ "description": "",
+ "operationId": "games.tickets",
+ "parameters": [
+ {
+ "name": "game",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated games",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.tickets.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/games/{game}/relationships/tickets": {
+ "get": {
+ "tags": ["Games"],
+ "summary": "Show tickets relation",
+ "description": "",
+ "operationId": "games.tickets.show",
+ "parameters": [
+ {
+ "name": "game",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show games",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.games.relationship.tickets.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/hubs": {
+ "get": {
+ "tags": ["Hubs"],
+ "summary": "Get all hubs",
+ "description": "",
+ "operationId": "hubs.index",
+ "parameters": [
+ {
+ "name": "page[size]",
+ "in": "query",
+ "description": "The page size for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "page[number]",
+ "in": "query",
+ "description": "The page number for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "id",
+ "-id",
+ "title",
+ "-title",
+ "sortTitle",
+ "-sortTitle",
+ "createdAt",
+ "-createdAt",
+ "updatedAt",
+ "-updatedAt",
+ "gamesCount",
+ "-gamesCount",
+ "linkedHubsCount",
+ "-linkedHubsCount"
+ ],
+ "type": "string",
+ "x-enumDescriptions": {
+ "id": "By id, ascending",
+ "-id": "By id, descending",
+ "title": "By title, ascending",
+ "-title": "By title, descending",
+ "sortTitle": "By sortTitle, ascending",
+ "-sortTitle": "By sortTitle, descending",
+ "createdAt": "By createdAt, ascending",
+ "-createdAt": "By createdAt, descending",
+ "updatedAt": "By updatedAt, ascending",
+ "-updatedAt": "By updatedAt, descending",
+ "gamesCount": "By gamesCount, ascending",
+ "-gamesCount": "By gamesCount, descending",
+ "linkedHubsCount": "By linkedHubsCount, ascending",
+ "-linkedHubsCount": "By linkedHubsCount, descending"
+ }
+ }
+ }
+ },
+ {
+ "name": "filter[id][]",
+ "in": "query",
+ "description": "A list of ids to filter by.",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "examples": {
+ "empty": {
+ "value": []
+ },
+ "1": {
+ "value": ["1"]
+ },
+ "2": {
+ "value": ["2"]
+ },
+ "3": {
+ "value": ["3"]
+ }
+ }
+ },
+ {
+ "name": "filter[parentId]",
+ "in": "query",
+ "description": "Applies the parentId scope.",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "name": "filter[title]",
+ "in": "query",
+ "description": "Applies the title scope.",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "name": "fields[hubs]",
+ "in": "query",
+ "description": "Only return these fields for the \"hubs\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "sortTitle",
+ "badgeUrl",
+ "hasMatureContent",
+ "gamesCount",
+ "linkedHubsCount",
+ "isEventHub",
+ "createdAt",
+ "updatedAt",
+ "games",
+ "links"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "Additionally fetch these related resources. Each related resources will be placed in the .included key of the root document, and the main resource each relates to will list the related IDs in its \"relationships\" section.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index hubs",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.hubs.resource.fetch"
+ }
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Games/Fetch",
+ "description": "May not be present unless \"games\" is in the \"include\" header. See `.data[].relationships.games.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "example": "Quia Impedit Libero Quam"
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "example": "quia impedit libero quam"
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageBoxArtUrl": {
+ "title": "imageBoxArtUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageTitleUrl": {
+ "title": "imageTitleUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000010.png"
+ },
+ "imageIngameUrl": {
+ "title": "imageIngameUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "releasedAt": {
+ "title": "releasedAt",
+ "type": "string"
+ },
+ "releasedAtGranularity": {
+ "title": "releasedAtGranularity",
+ "type": "string"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "example": 82
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "example": 82
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "example": 341
+ },
+ "timesBeaten": {
+ "title": "timesBeaten",
+ "type": "number",
+ "example": 0
+ },
+ "timesBeatenHardcore": {
+ "title": "timesBeatenHardcore",
+ "type": "number",
+ "example": 1
+ },
+ "medianTimeToBeatMinutes": {
+ "title": "medianTimeToBeatMinutes",
+ "type": "number"
+ },
+ "medianTimeToBeatHardcoreMinutes": {
+ "title": "medianTimeToBeatHardcoreMinutes",
+ "type": "number",
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "system": {
+ "title": "system",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"system\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "hashes": {
+ "title": "hashes",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"hashes\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ }
+ }
+ },
+ "/hubs/{hub}": {
+ "get": {
+ "tags": ["Hubs"],
+ "summary": "Show one hub",
+ "description": "",
+ "operationId": "hubs.show",
+ "parameters": [
+ {
+ "name": "hub",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show hubs",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "$ref": "#/components/schemas/resources.hubs.resource.fetch"
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Games/Fetch",
+ "description": "May not be present unless \"games\" is in the \"include\" header. See `.data[].relationships.games.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "example": "Quia Impedit Libero Quam"
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "example": "quia impedit libero quam"
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageBoxArtUrl": {
+ "title": "imageBoxArtUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageTitleUrl": {
+ "title": "imageTitleUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000010.png"
+ },
+ "imageIngameUrl": {
+ "title": "imageIngameUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "releasedAt": {
+ "title": "releasedAt",
+ "type": "string"
+ },
+ "releasedAtGranularity": {
+ "title": "releasedAtGranularity",
+ "type": "string"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "example": 82
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "example": 82
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "example": 341
+ },
+ "timesBeaten": {
+ "title": "timesBeaten",
+ "type": "number",
+ "example": 0
+ },
+ "timesBeatenHardcore": {
+ "title": "timesBeatenHardcore",
+ "type": "number",
+ "example": 1
+ },
+ "medianTimeToBeatMinutes": {
+ "title": "medianTimeToBeatMinutes",
+ "type": "number"
+ },
+ "medianTimeToBeatHardcoreMinutes": {
+ "title": "medianTimeToBeatHardcoreMinutes",
+ "type": "number",
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "system": {
+ "title": "system",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"system\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "hashes": {
+ "title": "hashes",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"hashes\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/hubs/{hub}/games": {
+ "get": {
+ "tags": ["Hubs"],
+ "summary": "Show games",
+ "description": "",
+ "operationId": "hubs.games",
+ "parameters": [
+ {
+ "name": "hub",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated hubs",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.games.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/hubs/{hub}/relationships/games": {
+ "get": {
+ "tags": ["Hubs"],
+ "summary": "Show games relation",
+ "description": "",
+ "operationId": "hubs.games.show",
+ "parameters": [
+ {
+ "name": "hub",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show hubs",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.hubs.relationship.games.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/hubs/{hub}/links": {
+ "get": {
+ "tags": ["Hubs"],
+ "summary": "Show links",
+ "description": "",
+ "operationId": "hubs.links",
+ "parameters": [
+ {
+ "name": "hub",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated hubs",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.hubs.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/hubs/{hub}/relationships/links": {
+ "get": {
+ "tags": ["Hubs"],
+ "summary": "Show links relation",
+ "description": "",
+ "operationId": "hubs.links.show",
+ "parameters": [
+ {
+ "name": "hub",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show hubs",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.hubs.relationship.links.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/leaderboards": {
+ "get": {
+ "tags": ["Leaderboards"],
+ "summary": "Get all leaderboards",
+ "description": "",
+ "operationId": "leaderboards.index",
+ "parameters": [
+ {
+ "name": "page[size]",
+ "in": "query",
+ "description": "The page size for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "page[number]",
+ "in": "query",
+ "description": "The page number for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "id",
+ "-id",
+ "title",
+ "-title",
+ "orderColumn",
+ "-orderColumn",
+ "createdAt",
+ "-createdAt",
+ "updatedAt",
+ "-updatedAt"
+ ],
+ "type": "string",
+ "x-enumDescriptions": {
+ "id": "By id, ascending",
+ "-id": "By id, descending",
+ "title": "By title, ascending",
+ "-title": "By title, descending",
+ "orderColumn": "By orderColumn, ascending",
+ "-orderColumn": "By orderColumn, descending",
+ "createdAt": "By createdAt, ascending",
+ "-createdAt": "By createdAt, descending",
+ "updatedAt": "By updatedAt, ascending",
+ "-updatedAt": "By updatedAt, descending"
+ }
+ }
+ }
+ },
+ {
+ "name": "filter[id][]",
+ "in": "query",
+ "description": "A list of ids to filter by.",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "examples": {
+ "empty": {
+ "value": []
+ },
+ "1": {
+ "value": ["1"]
+ },
+ "2": {
+ "value": ["2"]
+ },
+ "3": {
+ "value": ["3"]
+ }
+ }
+ },
+ {
+ "name": "filter[gameId]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "default": "",
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": 1
+ }
+ }
+ },
+ {
+ "name": "filter[state]",
+ "in": "query",
+ "description": "Applies the state scope.",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "name": "fields[leaderboards]",
+ "in": "query",
+ "description": "Only return these fields for the \"leaderboards\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "description",
+ "format",
+ "rankAsc",
+ "state",
+ "orderColumn",
+ "createdAt",
+ "updatedAt",
+ "games",
+ "developer",
+ "entries"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[games]",
+ "in": "query",
+ "description": "Only return these fields for the \"games\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "sortTitle",
+ "badgeUrl",
+ "imageBoxArtUrl",
+ "imageTitleUrl",
+ "imageIngameUrl",
+ "releasedAt",
+ "releasedAtGranularity",
+ "playersTotal",
+ "playersHardcore",
+ "achievementsPublished",
+ "achievementsUnpublished",
+ "pointsTotal",
+ "pointsWeighted",
+ "timesBeaten",
+ "timesBeatenHardcore",
+ "medianTimeToBeatMinutes",
+ "medianTimeToBeatHardcoreMinutes",
+ "system",
+ "achievementSets",
+ "achievementSetClaims",
+ "comments",
+ "hashes",
+ "tickets"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[users]",
+ "in": "query",
+ "description": "Only return these fields for the \"users\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "displayName",
+ "avatarUrl",
+ "motto",
+ "points",
+ "pointsHardcore",
+ "pointsWeighted",
+ "yieldUnlocks",
+ "yieldPoints",
+ "joinedAt",
+ "lastActivityAt",
+ "deletedAt",
+ "isUnranked",
+ "isUserWallActive",
+ "richPresence",
+ "richPresenceUpdatedAt",
+ "visibleRole",
+ "displayableRoles",
+ "achievementSetClaims",
+ "playerAchievements",
+ "playerAchievementSets",
+ "playerGames",
+ "tickets",
+ "wallComments",
+ "awards",
+ "followers",
+ "following"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[leaderboard-entries]",
+ "in": "query",
+ "description": "Only return these fields for the \"leaderboard-entries\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "score",
+ "rank",
+ "createdAt",
+ "updatedAt",
+ "user",
+ "leaderboard"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "Additionally fetch these related resources. Each related resources will be placed in the .included key of the root document, and the main resource each relates to will list the related IDs in its \"relationships\" section.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": ["games", "developer", "entries"],
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index leaderboards",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.leaderboards.resource.fetch"
+ }
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Games/Fetch",
+ "description": "May not be present unless \"games\" is in the \"include\" header. See `.data[].relationships.games.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "example": "Quia Impedit Libero Quam"
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "example": "quia impedit libero quam"
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageBoxArtUrl": {
+ "title": "imageBoxArtUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageTitleUrl": {
+ "title": "imageTitleUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000010.png"
+ },
+ "imageIngameUrl": {
+ "title": "imageIngameUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "releasedAt": {
+ "title": "releasedAt",
+ "type": "string"
+ },
+ "releasedAtGranularity": {
+ "title": "releasedAtGranularity",
+ "type": "string"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "example": 82
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "example": 82
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "example": 341
+ },
+ "timesBeaten": {
+ "title": "timesBeaten",
+ "type": "number",
+ "example": 0
+ },
+ "timesBeatenHardcore": {
+ "title": "timesBeatenHardcore",
+ "type": "number",
+ "example": 1
+ },
+ "medianTimeToBeatMinutes": {
+ "title": "medianTimeToBeatMinutes",
+ "type": "number"
+ },
+ "medianTimeToBeatHardcoreMinutes": {
+ "title": "medianTimeToBeatHardcoreMinutes",
+ "type": "number",
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "system": {
+ "title": "system",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"system\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "hashes": {
+ "title": "hashes",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"hashes\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Developer/Fetch",
+ "description": "May not be present unless \"developer\" is in the \"include\" header. See `.data[].relationships.developer.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Entries/Fetch",
+ "description": "May not be present unless \"entries\" is in the \"include\" header. See `.data[].relationships.entries.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "leaderboard-entries",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "score": {
+ "title": "score",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "rank": {
+ "title": "rank",
+ "type": "number",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "leaderboard": {
+ "title": "leaderboard",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"leaderboard\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ }
+ }
+ },
+ "/leaderboards/{leaderboard}": {
+ "get": {
+ "tags": ["Leaderboards"],
+ "summary": "Show one leaderboard",
+ "description": "",
+ "operationId": "leaderboards.show",
+ "parameters": [
+ {
+ "name": "leaderboard",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show leaderboards",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "$ref": "#/components/schemas/resources.leaderboards.resource.fetch"
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Games/Fetch",
+ "description": "May not be present unless \"games\" is in the \"include\" header. See `.data[].relationships.games.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "example": "Quia Impedit Libero Quam"
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "example": "quia impedit libero quam"
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageBoxArtUrl": {
+ "title": "imageBoxArtUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageTitleUrl": {
+ "title": "imageTitleUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000010.png"
+ },
+ "imageIngameUrl": {
+ "title": "imageIngameUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "releasedAt": {
+ "title": "releasedAt",
+ "type": "string"
+ },
+ "releasedAtGranularity": {
+ "title": "releasedAtGranularity",
+ "type": "string"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "example": 82
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "example": 82
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "example": 341
+ },
+ "timesBeaten": {
+ "title": "timesBeaten",
+ "type": "number",
+ "example": 0
+ },
+ "timesBeatenHardcore": {
+ "title": "timesBeatenHardcore",
+ "type": "number",
+ "example": 1
+ },
+ "medianTimeToBeatMinutes": {
+ "title": "medianTimeToBeatMinutes",
+ "type": "number"
+ },
+ "medianTimeToBeatHardcoreMinutes": {
+ "title": "medianTimeToBeatHardcoreMinutes",
+ "type": "number",
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "system": {
+ "title": "system",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"system\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "hashes": {
+ "title": "hashes",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"hashes\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Developer/Fetch",
+ "description": "May not be present unless \"developer\" is in the \"include\" header. See `.data[].relationships.developer.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Entries/Fetch",
+ "description": "May not be present unless \"entries\" is in the \"include\" header. See `.data[].relationships.entries.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "leaderboard-entries",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "score": {
+ "title": "score",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "rank": {
+ "title": "rank",
+ "type": "number",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "leaderboard": {
+ "title": "leaderboard",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"leaderboard\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/leaderboards/{leaderboard}/entries": {
+ "get": {
+ "tags": ["Leaderboards"],
+ "summary": "Show entries",
+ "description": "",
+ "operationId": "leaderboards.entries",
+ "parameters": [
+ {
+ "name": "leaderboard",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated leaderboards",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.leaderboard-entries.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/leaderboards/{leaderboard}/relationships/entries": {
+ "get": {
+ "tags": ["Leaderboards"],
+ "summary": "Show entries relation",
+ "description": "",
+ "operationId": "leaderboards.entries.show",
+ "parameters": [
+ {
+ "name": "leaderboard",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show leaderboards",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.leaderboards.relationship.entries.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/systems": {
+ "get": {
+ "tags": ["Systems"],
+ "summary": "Get all systems",
+ "description": "",
+ "operationId": "systems.index",
+ "parameters": [
+ {
+ "name": "page[size]",
+ "in": "query",
+ "description": "The page size for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "page[number]",
+ "in": "query",
+ "description": "The page number for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "id",
+ "-id",
+ "name",
+ "-name",
+ "nameFull",
+ "-nameFull",
+ "nameShort",
+ "-nameShort"
+ ],
+ "type": "string",
+ "x-enumDescriptions": {
+ "id": "By id, ascending",
+ "-id": "By id, descending",
+ "name": "By name, ascending",
+ "-name": "By name, descending",
+ "nameFull": "By nameFull, ascending",
+ "-nameFull": "By nameFull, descending",
+ "nameShort": "By nameShort, ascending",
+ "-nameShort": "By nameShort, descending"
+ }
+ }
+ }
+ },
+ {
+ "name": "filter[id][]",
+ "in": "query",
+ "description": "A list of ids to filter by.",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "examples": {
+ "empty": {
+ "value": []
+ },
+ "1": {
+ "value": ["1"]
+ },
+ "2": {
+ "value": ["2"]
+ },
+ "3": {
+ "value": ["3"]
+ }
+ }
+ },
+ {
+ "name": "filter[active]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "default": "",
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": true
+ }
+ }
+ },
+ {
+ "name": "fields[systems]",
+ "in": "query",
+ "description": "Only return these fields for the \"systems\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "name",
+ "nameFull",
+ "nameShort",
+ "manufacturer",
+ "iconUrl",
+ "active"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "Additionally fetch these related resources. Each related resources will be placed in the .included key of the root document, and the main resource each relates to will list the related IDs in its \"relationships\" section.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index systems",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.systems.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ }
+ }
+ },
+ "/systems/{system}": {
+ "get": {
+ "tags": ["Systems"],
+ "summary": "Show one system",
+ "description": "",
+ "operationId": "systems.show",
+ "parameters": [
+ {
+ "name": "system",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "1": {
+ "value": "1"
+ },
+ "2": {
+ "value": "2"
+ },
+ "3": {
+ "value": "3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show systems",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "$ref": "#/components/schemas/resources.systems.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/tickets": {
+ "get": {
+ "tags": ["Tickets"],
+ "summary": "Get all tickets",
+ "description": "",
+ "operationId": "tickets.index",
+ "parameters": [
+ {
+ "name": "page[size]",
+ "in": "query",
+ "description": "The page size for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "page[number]",
+ "in": "query",
+ "description": "The page number for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "id",
+ "-id",
+ "state",
+ "-state",
+ "reportedAt",
+ "-reportedAt",
+ "resolvedAt",
+ "-resolvedAt"
+ ],
+ "type": "string",
+ "x-enumDescriptions": {
+ "id": "By id, ascending",
+ "-id": "By id, descending",
+ "state": "By state, ascending",
+ "-state": "By state, descending",
+ "reportedAt": "By reportedAt, ascending",
+ "-reportedAt": "By reportedAt, descending",
+ "resolvedAt": "By resolvedAt, ascending",
+ "-resolvedAt": "By resolvedAt, descending"
+ }
+ }
+ }
+ },
+ {
+ "name": "filter[id][]",
+ "in": "query",
+ "description": "A list of ids to filter by.",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": true,
+ "schema": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "examples": {
+ "empty": {
+ "value": []
+ },
+ "5": {
+ "value": ["5"]
+ }
+ }
+ },
+ {
+ "name": "filter[state]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[type]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[ticketableType]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[reporterUserId]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[resolverUserId]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[achievementId]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[leaderboardId]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "filter[gameId]",
+ "in": "query",
+ "description": "Filters the records",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "fields[tickets]",
+ "in": "query",
+ "description": "Only return these fields for the \"tickets\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "state",
+ "type",
+ "body",
+ "hardcore",
+ "reportedAt",
+ "resolvedAt",
+ "ticketableType",
+ "ticketableId",
+ "gameIconUrl",
+ "systemName",
+ "achievement",
+ "leaderboard",
+ "reporter",
+ "resolver",
+ "author"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[achievements]",
+ "in": "query",
+ "description": "Only return these fields for the \"achievements\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "description",
+ "points",
+ "pointsWeighted",
+ "badgeUrl",
+ "badgeLockedUrl",
+ "type",
+ "state",
+ "orderColumn",
+ "unlocksTotal",
+ "unlocksHardcore",
+ "unlockPercentage",
+ "unlockHardcorePercentage",
+ "createdAt",
+ "modifiedAt",
+ "developer",
+ "achievementSet",
+ "comments",
+ "games",
+ "playerAchievements",
+ "tickets"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[leaderboards]",
+ "in": "query",
+ "description": "Only return these fields for the \"leaderboards\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "title",
+ "description",
+ "format",
+ "rankAsc",
+ "state",
+ "orderColumn",
+ "createdAt",
+ "updatedAt",
+ "games",
+ "developer",
+ "entries"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "fields[users]",
+ "in": "query",
+ "description": "Only return these fields for the \"users\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "displayName",
+ "avatarUrl",
+ "motto",
+ "points",
+ "pointsHardcore",
+ "pointsWeighted",
+ "yieldUnlocks",
+ "yieldPoints",
+ "joinedAt",
+ "lastActivityAt",
+ "deletedAt",
+ "isUnranked",
+ "isUserWallActive",
+ "richPresence",
+ "richPresenceUpdatedAt",
+ "visibleRole",
+ "displayableRoles",
+ "achievementSetClaims",
+ "playerAchievements",
+ "playerAchievementSets",
+ "playerGames",
+ "tickets",
+ "wallComments",
+ "awards",
+ "followers",
+ "following"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "Additionally fetch these related resources. Each related resources will be placed in the .included key of the root document, and the main resource each relates to will list the related IDs in its \"relationships\" section.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "achievement",
+ "achievement.developer",
+ "achievement.achievementSet",
+ "achievement.games",
+ "leaderboard",
+ "leaderboard.games",
+ "leaderboard.developer",
+ "leaderboard.entries",
+ "reporter",
+ "resolver",
+ "author"
+ ],
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index tickets",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.tickets.resource.fetch"
+ }
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Achievement/Fetch",
+ "description": "May not be present unless \"achievement\" is in the \"include\" header. See `.data[].relationships.achievement.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievements",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Soluta Quasi!"
+ },
+ "description": {
+ "title": "description",
+ "type": "string",
+ "readOnly": true,
+ "example": "Nisi et sit labore reprehenderit aliquam aspernatur explicabo. True."
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Badge/00001.png"
+ },
+ "badgeLockedUrl": {
+ "title": "badgeLockedUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Badge/00001_lock.png"
+ },
+ "type": {
+ "title": "type",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true
+ },
+ "orderColumn": {
+ "title": "orderColumn",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "unlocksTotal": {
+ "title": "unlocksTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 81
+ },
+ "unlocksHardcore": {
+ "title": "unlocksHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 81
+ },
+ "unlockPercentage": {
+ "title": "unlockPercentage",
+ "type": "number",
+ "readOnly": true,
+ "example": 0.987804878
+ },
+ "unlockHardcorePercentage": {
+ "title": "unlockHardcorePercentage",
+ "type": "number",
+ "readOnly": true,
+ "example": 0.987804878
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ },
+ "modifiedAt": {
+ "title": "modifiedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "developer": {
+ "title": "developer",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"developer\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSet": {
+ "title": "achievementSet",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSet\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Leaderboard/Fetch",
+ "description": "May not be present unless \"leaderboard\" is in the \"include\" header. See `.data[].relationships.leaderboard.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "leaderboards",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Totam Unde"
+ },
+ "description": {
+ "title": "description",
+ "type": "string",
+ "readOnly": true,
+ "example": "Modi vitae commodi possimus animi."
+ },
+ "format": {
+ "title": "format",
+ "type": "string",
+ "readOnly": true,
+ "example": "VALUE"
+ },
+ "rankAsc": {
+ "title": "rankAsc",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "active"
+ },
+ "orderColumn": {
+ "title": "orderColumn",
+ "type": "number",
+ "readOnly": true,
+ "example": 64
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:04:12.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:04:12.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "developer": {
+ "title": "developer",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"developer\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "entries": {
+ "title": "entries",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"entries\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/entries/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/entries/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Reporter/Fetch",
+ "description": "May not be present unless \"reporter\" is in the \"include\" header. See `.data[].relationships.reporter.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Resolver/Fetch",
+ "description": "May not be present unless \"resolver\" is in the \"include\" header. See `.data[].relationships.resolver.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Author/Fetch",
+ "description": "May not be present unless \"author\" is in the \"include\" header. See `.data[].relationships.author.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ }
+ }
+ },
+ "/tickets/{ticket}": {
+ "get": {
+ "tags": ["Tickets"],
+ "summary": "Show one ticket",
+ "description": "",
+ "operationId": "tickets.show",
+ "parameters": [
+ {
+ "name": "ticket",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "5": {
+ "value": "5"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show tickets",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "$ref": "#/components/schemas/resources.tickets.resource.fetch"
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/Achievement/Fetch",
+ "description": "May not be present unless \"achievement\" is in the \"include\" header. See `.data[].relationships.achievement.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievements",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Soluta Quasi!"
+ },
+ "description": {
+ "title": "description",
+ "type": "string",
+ "readOnly": true,
+ "example": "Nisi et sit labore reprehenderit aliquam aspernatur explicabo. True."
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Badge/00001.png"
+ },
+ "badgeLockedUrl": {
+ "title": "badgeLockedUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Badge/00001_lock.png"
+ },
+ "type": {
+ "title": "type",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true
+ },
+ "orderColumn": {
+ "title": "orderColumn",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "unlocksTotal": {
+ "title": "unlocksTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 81
+ },
+ "unlocksHardcore": {
+ "title": "unlocksHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 81
+ },
+ "unlockPercentage": {
+ "title": "unlockPercentage",
+ "type": "number",
+ "readOnly": true,
+ "example": 0.987804878
+ },
+ "unlockHardcorePercentage": {
+ "title": "unlockHardcorePercentage",
+ "type": "number",
+ "readOnly": true,
+ "example": 0.987804878
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ },
+ "modifiedAt": {
+ "title": "modifiedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "developer": {
+ "title": "developer",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"developer\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSet": {
+ "title": "achievementSet",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSet\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Leaderboard/Fetch",
+ "description": "May not be present unless \"leaderboard\" is in the \"include\" header. See `.data[].relationships.leaderboard.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "leaderboards",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Totam Unde"
+ },
+ "description": {
+ "title": "description",
+ "type": "string",
+ "readOnly": true,
+ "example": "Modi vitae commodi possimus animi."
+ },
+ "format": {
+ "title": "format",
+ "type": "string",
+ "readOnly": true,
+ "example": "VALUE"
+ },
+ "rankAsc": {
+ "title": "rankAsc",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "active"
+ },
+ "orderColumn": {
+ "title": "orderColumn",
+ "type": "number",
+ "readOnly": true,
+ "example": 64
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:04:12.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:04:12.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "developer": {
+ "title": "developer",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"developer\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "entries": {
+ "title": "entries",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"entries\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/entries/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/entries/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Reporter/Fetch",
+ "description": "May not be present unless \"reporter\" is in the \"include\" header. See `.data[].relationships.reporter.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Resolver/Fetch",
+ "description": "May not be present unless \"resolver\" is in the \"include\" header. See `.data[].relationships.resolver.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Author/Fetch",
+ "description": "May not be present unless \"author\" is in the \"include\" header. See `.data[].relationships.author.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Get all users",
+ "description": "",
+ "operationId": "users.index",
+ "parameters": [
+ {
+ "name": "page[size]",
+ "in": "query",
+ "description": "The page size for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "page[number]",
+ "in": "query",
+ "description": "The page number for paginated results",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "id",
+ "-id",
+ "points",
+ "-points",
+ "pointsHardcore",
+ "-pointsHardcore",
+ "pointsWeighted",
+ "-pointsWeighted",
+ "yieldUnlocks",
+ "-yieldUnlocks",
+ "yieldPoints",
+ "-yieldPoints",
+ "joinedAt",
+ "-joinedAt",
+ "lastActivityAt",
+ "-lastActivityAt"
+ ],
+ "type": "string",
+ "x-enumDescriptions": {
+ "id": "By id, ascending",
+ "-id": "By id, descending",
+ "points": "By points, ascending",
+ "-points": "By points, descending",
+ "pointsHardcore": "By pointsHardcore, ascending",
+ "-pointsHardcore": "By pointsHardcore, descending",
+ "pointsWeighted": "By pointsWeighted, ascending",
+ "-pointsWeighted": "By pointsWeighted, descending",
+ "yieldUnlocks": "By yieldUnlocks, ascending",
+ "-yieldUnlocks": "By yieldUnlocks, descending",
+ "yieldPoints": "By yieldPoints, ascending",
+ "-yieldPoints": "By yieldPoints, descending",
+ "joinedAt": "By joinedAt, ascending",
+ "-joinedAt": "By joinedAt, descending",
+ "lastActivityAt": "By lastActivityAt, ascending",
+ "-lastActivityAt": "By lastActivityAt, descending"
+ }
+ }
+ }
+ },
+ {
+ "name": "filter[role]",
+ "in": "query",
+ "description": "Applies the role scope.",
+ "required": false,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ {
+ "name": "fields[users]",
+ "in": "query",
+ "description": "Only return these fields for the \"users\" resource. The .data field will be empty if none of the fields are set on a resource.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "enum": [
+ "displayName",
+ "avatarUrl",
+ "motto",
+ "points",
+ "pointsHardcore",
+ "pointsWeighted",
+ "yieldUnlocks",
+ "yieldPoints",
+ "joinedAt",
+ "lastActivityAt",
+ "deletedAt",
+ "isUnranked",
+ "isUserWallActive",
+ "richPresence",
+ "richPresenceUpdatedAt",
+ "visibleRole",
+ "displayableRoles",
+ "achievementSetClaims",
+ "playerAchievements",
+ "playerAchievementSets",
+ "playerGames",
+ "tickets",
+ "wallComments",
+ "awards",
+ "followers",
+ "following"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ {
+ "name": "include",
+ "in": "query",
+ "description": "Additionally fetch these related resources. Each related resources will be placed in the .included key of the root document, and the main resource each relates to will list the related IDs in its \"relationships\" section.",
+ "allowEmptyValue": false,
+ "style": "form",
+ "explode": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Index users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.users.resource.fetch"
+ }
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/AchievementSetClaims/Fetch",
+ "description": "May not be present unless \"achievementSetClaims\" is in the \"include\" header. See `.data[].relationships.achievementSetClaims.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-set-claims",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "claimedAt": {
+ "title": "claimedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:24:26.000000Z"
+ },
+ "finishedAt": {
+ "title": "finishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-12-12T06:24:26.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:24:26.000000Z"
+ },
+ "status": {
+ "title": "status",
+ "type": "string",
+ "readOnly": true,
+ "example": "complete"
+ },
+ "claimType": {
+ "title": "claimType",
+ "type": "string",
+ "readOnly": true,
+ "example": "primary"
+ },
+ "setType": {
+ "title": "setType",
+ "type": "string",
+ "readOnly": true,
+ "example": "new_set"
+ },
+ "specialType": {
+ "title": "specialType",
+ "type": "string",
+ "readOnly": true,
+ "example": "none"
+ },
+ "extensionsCount": {
+ "title": "extensionsCount",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "minutesLeft": {
+ "title": "minutesLeft",
+ "type": "number",
+ "readOnly": true,
+ "example": 298961
+ },
+ "userId": {
+ "title": "userId",
+ "type": "string",
+ "readOnly": true,
+ "example": 91
+ },
+ "userDisplayName": {
+ "title": "userDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "gameId": {
+ "title": "gameId",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "gameTitle": {
+ "title": "gameTitle",
+ "type": "string",
+ "readOnly": true
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemId": {
+ "title": "systemId",
+ "type": "number",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/PlayerAchievements/Fetch",
+ "description": "May not be present unless \"playerAchievements\" is in the \"include\" header. See `.data[].relationships.playerAchievements.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievements",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "unlockedAt": {
+ "title": "unlockedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "unlockedHardcoreAt": {
+ "title": "unlockedHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/PlayerAchievementSets/Fetch",
+ "description": "May not be present unless \"playerAchievementSets\" is in the \"include\" header. See `.data[].relationships.playerAchievementSets.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievement-sets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "achievementsUnlocked": {
+ "title": "achievementsUnlocked",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "achievementsUnlockedHardcore": {
+ "title": "achievementsUnlockedHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 8479
+ },
+ "completionPercentage": {
+ "title": "completionPercentage",
+ "type": "number",
+ "readOnly": true,
+ "example": "1.000000000"
+ },
+ "completionPercentageHardcore": {
+ "title": "completionPercentageHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": "1.000000000"
+ },
+ "lastUnlockAt": {
+ "title": "lastUnlockAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "lastUnlockHardcoreAt": {
+ "title": "lastUnlockHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "completedAt": {
+ "title": "completedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "completedHardcoreAt": {
+ "title": "completedHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "timeTakenSeconds": {
+ "title": "timeTakenSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "timeTakenHardcoreSeconds": {
+ "title": "timeTakenHardcoreSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "setContext": {
+ "title": "setContext",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSet": {
+ "title": "achievementSet",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSet\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/PlayerGames/Fetch",
+ "description": "May not be present unless \"playerGames\" is in the \"include\" header. See `.data[].relationships.playerGames.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "lastPlayedAt": {
+ "title": "lastPlayedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:15:57.000000Z"
+ },
+ "firstUnlockAt": {
+ "title": "firstUnlockAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "lastUnlockAt": {
+ "title": "lastUnlockAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "lastUnlockHardcoreAt": {
+ "title": "lastUnlockHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "beatenAt": {
+ "title": "beatenAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T08:19:11.000000Z"
+ },
+ "beatenHardcoreAt": {
+ "title": "beatenHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T08:19:11.000000Z"
+ },
+ "playtimeTotalSeconds": {
+ "title": "playtimeTotalSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 12159
+ },
+ "timeToBeatSeconds": {
+ "title": "timeToBeatSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 5153
+ },
+ "timeToBeatHardcoreSeconds": {
+ "title": "timeToBeatHardcoreSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Tickets/Fetch",
+ "description": "May not be present unless \"tickets\" is in the \"include\" header. See `.data[].relationships.tickets.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "tickets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "5"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "open"
+ },
+ "type": {
+ "title": "type",
+ "type": "string",
+ "readOnly": true,
+ "example": "did_not_trigger"
+ },
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "bruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh moment"
+ },
+ "hardcore": {
+ "title": "hardcore",
+ "type": "boolean",
+ "readOnly": true,
+ "example": 1
+ },
+ "reportedAt": {
+ "title": "reportedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-06-05T19:41:03.000000Z"
+ },
+ "resolvedAt": {
+ "title": "resolvedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "ticketableType": {
+ "title": "ticketableType",
+ "type": "string",
+ "readOnly": true,
+ "example": "achievement"
+ },
+ "ticketableId": {
+ "title": "ticketableId",
+ "type": "number",
+ "readOnly": true,
+ "example": 3801
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "leaderboard": {
+ "title": "leaderboard",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"leaderboard\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "reporter": {
+ "title": "reporter",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"reporter\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "resolver": {
+ "title": "resolver",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"resolver\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/WallComments/Fetch",
+ "description": "May not be present unless \"wallComments\" is in the \"include\" header. See `.data[].relationships.wallComments.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "comments",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "3"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "Excited to play this!"
+ },
+ "authorAvatarUrl": {
+ "title": "authorAvatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorDisplayName": {
+ "title": "authorDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorId": {
+ "title": "authorId",
+ "type": "string",
+ "readOnly": true
+ },
+ "permalink": {
+ "title": "permalink",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "submittedAt": {
+ "title": "submittedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-05-05T22:41:05.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Awards/Fetch",
+ "description": "May not be present unless \"awards\" is in the \"include\" header. See `.data[].relationships.awards.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-awards",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "awardedAt": {
+ "title": "awardedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T08:19:11.000000Z"
+ },
+ "kind": {
+ "title": "kind",
+ "type": "string",
+ "readOnly": true,
+ "example": "game_beaten"
+ },
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "displayOrder": {
+ "title": "displayOrder",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "context": {
+ "title": "context",
+ "type": "object",
+ "readOnly": true,
+ "example": 1
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "event": {
+ "title": "event",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"event\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/events/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/events/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Followers/Fetch",
+ "description": "May not be present unless \"followers\" is in the \"include\" header. See `.data[].relationships.followers.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-follows",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "2"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "followedAt": {
+ "title": "followedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "userId": {
+ "title": "userId",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true
+ },
+ "isMutual": {
+ "title": "isMutual",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/2"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/2"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Following/Fetch",
+ "description": "May not be present unless \"following\" is in the \"include\" header. See `.data[].relationships.following.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-follows",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "2"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "followedAt": {
+ "title": "followedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "userId": {
+ "title": "userId",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true
+ },
+ "isMutual": {
+ "title": "isMutual",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/2"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/2"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ }
+ }
+ },
+ "/users/{user}": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show one user",
+ "description": "",
+ "operationId": "users.show",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "$ref": "#/components/schemas/resources.users.resource.fetch"
+ },
+ "included": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "title": "Resource/AchievementSetClaims/Fetch",
+ "description": "May not be present unless \"achievementSetClaims\" is in the \"include\" header. See `.data[].relationships.achievementSetClaims.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-set-claims",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "claimedAt": {
+ "title": "claimedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:24:26.000000Z"
+ },
+ "finishedAt": {
+ "title": "finishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-12-12T06:24:26.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:24:26.000000Z"
+ },
+ "status": {
+ "title": "status",
+ "type": "string",
+ "readOnly": true,
+ "example": "complete"
+ },
+ "claimType": {
+ "title": "claimType",
+ "type": "string",
+ "readOnly": true,
+ "example": "primary"
+ },
+ "setType": {
+ "title": "setType",
+ "type": "string",
+ "readOnly": true,
+ "example": "new_set"
+ },
+ "specialType": {
+ "title": "specialType",
+ "type": "string",
+ "readOnly": true,
+ "example": "none"
+ },
+ "extensionsCount": {
+ "title": "extensionsCount",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "minutesLeft": {
+ "title": "minutesLeft",
+ "type": "number",
+ "readOnly": true,
+ "example": 298961
+ },
+ "userId": {
+ "title": "userId",
+ "type": "string",
+ "readOnly": true,
+ "example": 91
+ },
+ "userDisplayName": {
+ "title": "userDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "gameId": {
+ "title": "gameId",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "gameTitle": {
+ "title": "gameTitle",
+ "type": "string",
+ "readOnly": true
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemId": {
+ "title": "systemId",
+ "type": "number",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/PlayerAchievements/Fetch",
+ "description": "May not be present unless \"playerAchievements\" is in the \"include\" header. See `.data[].relationships.playerAchievements.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievements",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "unlockedAt": {
+ "title": "unlockedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "unlockedHardcoreAt": {
+ "title": "unlockedHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/PlayerAchievementSets/Fetch",
+ "description": "May not be present unless \"playerAchievementSets\" is in the \"include\" header. See `.data[].relationships.playerAchievementSets.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievement-sets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "achievementsUnlocked": {
+ "title": "achievementsUnlocked",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "achievementsUnlockedHardcore": {
+ "title": "achievementsUnlockedHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 8479
+ },
+ "completionPercentage": {
+ "title": "completionPercentage",
+ "type": "number",
+ "readOnly": true,
+ "example": "1.000000000"
+ },
+ "completionPercentageHardcore": {
+ "title": "completionPercentageHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": "1.000000000"
+ },
+ "lastUnlockAt": {
+ "title": "lastUnlockAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "lastUnlockHardcoreAt": {
+ "title": "lastUnlockHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "completedAt": {
+ "title": "completedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "completedHardcoreAt": {
+ "title": "completedHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "timeTakenSeconds": {
+ "title": "timeTakenSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "timeTakenHardcoreSeconds": {
+ "title": "timeTakenHardcoreSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "setContext": {
+ "title": "setContext",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSet": {
+ "title": "achievementSet",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSet\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/PlayerGames/Fetch",
+ "description": "May not be present unless \"playerGames\" is in the \"include\" header. See `.data[].relationships.playerGames.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "lastPlayedAt": {
+ "title": "lastPlayedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:15:57.000000Z"
+ },
+ "firstUnlockAt": {
+ "title": "firstUnlockAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "lastUnlockAt": {
+ "title": "lastUnlockAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "lastUnlockHardcoreAt": {
+ "title": "lastUnlockHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "beatenAt": {
+ "title": "beatenAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T08:19:11.000000Z"
+ },
+ "beatenHardcoreAt": {
+ "title": "beatenHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T08:19:11.000000Z"
+ },
+ "playtimeTotalSeconds": {
+ "title": "playtimeTotalSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 12159
+ },
+ "timeToBeatSeconds": {
+ "title": "timeToBeatSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 5153
+ },
+ "timeToBeatHardcoreSeconds": {
+ "title": "timeToBeatHardcoreSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Tickets/Fetch",
+ "description": "May not be present unless \"tickets\" is in the \"include\" header. See `.data[].relationships.tickets.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "tickets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "5"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "open"
+ },
+ "type": {
+ "title": "type",
+ "type": "string",
+ "readOnly": true,
+ "example": "did_not_trigger"
+ },
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "bruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh moment"
+ },
+ "hardcore": {
+ "title": "hardcore",
+ "type": "boolean",
+ "readOnly": true,
+ "example": 1
+ },
+ "reportedAt": {
+ "title": "reportedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-06-05T19:41:03.000000Z"
+ },
+ "resolvedAt": {
+ "title": "resolvedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "ticketableType": {
+ "title": "ticketableType",
+ "type": "string",
+ "readOnly": true,
+ "example": "achievement"
+ },
+ "ticketableId": {
+ "title": "ticketableId",
+ "type": "number",
+ "readOnly": true,
+ "example": 3801
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "leaderboard": {
+ "title": "leaderboard",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"leaderboard\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "reporter": {
+ "title": "reporter",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"reporter\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "resolver": {
+ "title": "resolver",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"resolver\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/WallComments/Fetch",
+ "description": "May not be present unless \"wallComments\" is in the \"include\" header. See `.data[].relationships.wallComments.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "comments",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "3"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "Excited to play this!"
+ },
+ "authorAvatarUrl": {
+ "title": "authorAvatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorDisplayName": {
+ "title": "authorDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorId": {
+ "title": "authorId",
+ "type": "string",
+ "readOnly": true
+ },
+ "permalink": {
+ "title": "permalink",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "submittedAt": {
+ "title": "submittedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-05-05T22:41:05.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Awards/Fetch",
+ "description": "May not be present unless \"awards\" is in the \"include\" header. See `.data[].relationships.awards.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-awards",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "awardedAt": {
+ "title": "awardedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T08:19:11.000000Z"
+ },
+ "kind": {
+ "title": "kind",
+ "type": "string",
+ "readOnly": true,
+ "example": "game_beaten"
+ },
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "displayOrder": {
+ "title": "displayOrder",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "context": {
+ "title": "context",
+ "type": "object",
+ "readOnly": true,
+ "example": 1
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "event": {
+ "title": "event",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"event\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/events/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/events/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Followers/Fetch",
+ "description": "May not be present unless \"followers\" is in the \"include\" header. See `.data[].relationships.followers.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-follows",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "2"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "followedAt": {
+ "title": "followedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "userId": {
+ "title": "userId",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true
+ },
+ "isMutual": {
+ "title": "isMutual",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/2"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/2"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "title": "Resource/Following/Fetch",
+ "description": "May not be present unless \"following\" is in the \"include\" header. See `.data[].relationships.following.data` for the lists of IDs which have been included here.",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-follows",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "2"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "followedAt": {
+ "title": "followedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "userId": {
+ "title": "userId",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true
+ },
+ "isMutual": {
+ "title": "isMutual",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/2"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/2"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/achievement-set-claims": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show achievementSetClaims",
+ "description": "",
+ "operationId": "users.achievementSetClaims",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.achievement-set-claims.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/relationships/achievement-set-claims": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show achievementSetClaims relation",
+ "description": "",
+ "operationId": "users.achievementSetClaims.show",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.users.relationship.achievementSetClaims.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/awards": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show awards",
+ "description": "",
+ "operationId": "users.awards",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.user-awards.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/relationships/awards": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show awards relation",
+ "description": "",
+ "operationId": "users.awards.show",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.users.relationship.awards.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/followers": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show followers",
+ "description": "",
+ "operationId": "users.followers",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.user-follows.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/relationships/followers": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show followers relation",
+ "description": "",
+ "operationId": "users.followers.show",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.users.relationship.followers.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/following": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show following",
+ "description": "",
+ "operationId": "users.following",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.user-follows.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/relationships/following": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show following relation",
+ "description": "",
+ "operationId": "users.following.show",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.users.relationship.following.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/player-achievements": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show playerAchievements",
+ "description": "",
+ "operationId": "users.playerAchievements",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.player-achievements.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/relationships/player-achievements": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show playerAchievements relation",
+ "description": "",
+ "operationId": "users.playerAchievements.show",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.users.relationship.playerAchievements.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/player-achievement-sets": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show playerAchievementSets",
+ "description": "",
+ "operationId": "users.playerAchievementSets",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.player-achievement-sets.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/relationships/player-achievement-sets": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show playerAchievementSets relation",
+ "description": "",
+ "operationId": "users.playerAchievementSets.show",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.users.relationship.playerAchievementSets.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/player-games": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show playerGames",
+ "description": "",
+ "operationId": "users.playerGames",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.player-games.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/relationships/player-games": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show playerGames relation",
+ "description": "",
+ "operationId": "users.playerGames.show",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.users.relationship.playerGames.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/tickets": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show tickets",
+ "description": "",
+ "operationId": "users.tickets",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.tickets.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/relationships/tickets": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show tickets relation",
+ "description": "",
+ "operationId": "users.tickets.show",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.users.relationship.tickets.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/wall-comments": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show wallComments",
+ "description": "",
+ "operationId": "users.wallComments",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ShowRelated users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.comments.resource.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ },
+ "/users/{user}/relationships/wall-comments": {
+ "get": {
+ "tags": ["Users"],
+ "summary": "Show wallComments relation",
+ "description": "",
+ "operationId": "users.wallComments.show",
+ "parameters": [
+ {
+ "name": "user",
+ "in": "path",
+ "required": true,
+ "allowEmptyValue": false,
+ "schema": {
+ "type": "string"
+ },
+ "examples": {
+ "01K4Y876RZ4XVE4JA3X9ARV95P": {
+ "value": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "01K4Y8770YSVFGWM6C38BCDQ5F": {
+ "value": "01K4Y8770YSVFGWM6C38BCDQ5F"
+ },
+ "01K4Y8776Y34QHTCSZ1DEFAEB3": {
+ "value": "01K4Y8776Y34QHTCSZ1DEFAEB3"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Show users",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "required": ["jsonapi", "data"],
+ "properties": {
+ "jsonapi": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/resources.users.relationship.wallComments.fetch"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "helper.errors": {
+ "title": "Helper/Errors",
+ "type": "array",
+ "items": {
+ "title": "Error",
+ "type": "object",
+ "required": ["status", "title"],
+ "properties": {
+ "detail": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "source": {
+ "type": "object",
+ "properties": {
+ "pointer": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "helper.jsonapi": {
+ "title": "Helper/JSONAPI",
+ "type": "object",
+ "required": ["version"],
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "string",
+ "example": "1.0"
+ }
+ }
+ },
+ "resources.achievement-set-claims.resource.fetch": {
+ "title": "Resource/Achievement-set-claim/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-set-claims",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "claimedAt": {
+ "title": "claimedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:24:26.000000Z"
+ },
+ "finishedAt": {
+ "title": "finishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-12-12T06:24:26.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:24:26.000000Z"
+ },
+ "status": {
+ "title": "status",
+ "type": "string",
+ "readOnly": true,
+ "example": "complete"
+ },
+ "claimType": {
+ "title": "claimType",
+ "type": "string",
+ "readOnly": true,
+ "example": "primary"
+ },
+ "setType": {
+ "title": "setType",
+ "type": "string",
+ "readOnly": true,
+ "example": "new_set"
+ },
+ "specialType": {
+ "title": "specialType",
+ "type": "string",
+ "readOnly": true,
+ "example": "none"
+ },
+ "extensionsCount": {
+ "title": "extensionsCount",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "minutesLeft": {
+ "title": "minutesLeft",
+ "type": "number",
+ "readOnly": true,
+ "example": 298961
+ },
+ "userId": {
+ "title": "userId",
+ "type": "string",
+ "readOnly": true,
+ "example": 91
+ },
+ "userDisplayName": {
+ "title": "userDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "gameId": {
+ "title": "gameId",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "gameTitle": {
+ "title": "gameTitle",
+ "type": "string",
+ "readOnly": true
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemId": {
+ "title": "systemId",
+ "type": "number",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.achievement-set-versions.resource.fetch": {
+ "title": "Resource/Achievement-set-version/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-set-versions",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "title": "version",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-05-31T20:21:52.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-06-10T20:57:02.000000Z"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 83
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 83
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 10
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 101
+ },
+ "achievementSetId": {
+ "title": "achievementSetId",
+ "type": "string",
+ "readOnly": true,
+ "example": 215
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSet": {
+ "title": "achievementSet",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSet\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.achievement-sets.relationship.achievementSetVersions.fetch": {
+ "title": "Resource/Achievement-set/Relationship/AchievementSetVersions/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-set-versions",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.achievement-sets.resource.fetch": {
+ "title": "Resource/Achievement-set/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-sets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Quia Impedit Libero Quam"
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 341
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "achievementsFirstPublishedAt": {
+ "title": "achievementsFirstPublishedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "types": {
+ "title": "types",
+ "type": "array",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-01-09T02:06:22.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetVersions": {
+ "title": "achievementSetVersions",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetVersions\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-versions/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.achievements.relationship.comments.fetch": {
+ "title": "Resource/Achievement/Relationship/Comments/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "comments",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "3"
+ }
+ }
+ },
+ "resources.achievements.relationship.playerAchievements.fetch": {
+ "title": "Resource/Achievement/Relationship/PlayerAchievements/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievements",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.achievements.relationship.tickets.fetch": {
+ "title": "Resource/Achievement/Relationship/Tickets/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "tickets",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "5"
+ }
+ }
+ },
+ "resources.achievements.resource.fetch": {
+ "title": "Resource/Achievement/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievements",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Soluta Quasi!"
+ },
+ "description": {
+ "title": "description",
+ "type": "string",
+ "readOnly": true,
+ "example": "Nisi et sit labore reprehenderit aliquam aspernatur explicabo. True."
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Badge/00001.png"
+ },
+ "badgeLockedUrl": {
+ "title": "badgeLockedUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Badge/00001_lock.png"
+ },
+ "type": {
+ "title": "type",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true
+ },
+ "orderColumn": {
+ "title": "orderColumn",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "unlocksTotal": {
+ "title": "unlocksTotal",
+ "type": "number",
+ "readOnly": true,
+ "example": 81
+ },
+ "unlocksHardcore": {
+ "title": "unlocksHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 81
+ },
+ "unlockPercentage": {
+ "title": "unlockPercentage",
+ "type": "number",
+ "readOnly": true,
+ "example": 0.987804878
+ },
+ "unlockHardcorePercentage": {
+ "title": "unlockHardcorePercentage",
+ "type": "number",
+ "readOnly": true,
+ "example": 0.987804878
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ },
+ "modifiedAt": {
+ "title": "modifiedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:58.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "developer": {
+ "title": "developer",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"developer\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSet": {
+ "title": "achievementSet",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSet\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.comments.resource.fetch": {
+ "title": "Resource/Comment/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "comments",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "3"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "Excited to play this!"
+ },
+ "authorAvatarUrl": {
+ "title": "authorAvatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorDisplayName": {
+ "title": "authorDisplayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "authorId": {
+ "title": "authorId",
+ "type": "string",
+ "readOnly": true
+ },
+ "permalink": {
+ "title": "permalink",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "submittedAt": {
+ "title": "submittedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-05-05T22:41:05.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/3"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.events.resource.fetch": {
+ "title": "Resource/Event/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "events",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "3"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "readOnly": true
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000007.png"
+ },
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "concluded"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "readOnly": true
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "readOnly": true
+ },
+ "activeFrom": {
+ "title": "activeFrom",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-02-07T00:00:00.000000Z"
+ },
+ "activeThrough": {
+ "title": "activeThrough",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-02-28T00:00:00.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/3"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/3"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.game-hashes.resource.fetch": {
+ "title": "Resource/Game-hash/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "game-hashes",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "raMd5": {
+ "title": "raMd5",
+ "type": "string",
+ "readOnly": true,
+ "example": "eDWamQy5GYZqRxvXkj6P6rjDULfnTddT"
+ },
+ "name": {
+ "title": "name",
+ "type": "string",
+ "readOnly": true,
+ "example": "True"
+ },
+ "compatibility": {
+ "title": "compatibility",
+ "type": "string",
+ "readOnly": true,
+ "example": "compatible"
+ },
+ "patchUrl": {
+ "title": "patchUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:57.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-25T20:56:02.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.games.relationship.achievementSetClaims.fetch": {
+ "title": "Resource/Game/Relationship/AchievementSetClaims/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-set-claims",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.games.relationship.comments.fetch": {
+ "title": "Resource/Game/Relationship/Comments/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "comments",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "3"
+ }
+ }
+ },
+ "resources.games.relationship.hashes.fetch": {
+ "title": "Resource/Game/Relationship/Hashes/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "game-hashes",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.games.relationship.tickets.fetch": {
+ "title": "Resource/Game/Relationship/Tickets/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "tickets",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "5"
+ }
+ }
+ },
+ "resources.games.resource.fetch": {
+ "title": "Resource/Game/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "example": "Quia Impedit Libero Quam"
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "example": "quia impedit libero quam"
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageBoxArtUrl": {
+ "title": "imageBoxArtUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "imageTitleUrl": {
+ "title": "imageTitleUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000010.png"
+ },
+ "imageIngameUrl": {
+ "title": "imageIngameUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000002.png"
+ },
+ "releasedAt": {
+ "title": "releasedAt",
+ "type": "string"
+ },
+ "releasedAtGranularity": {
+ "title": "releasedAtGranularity",
+ "type": "string"
+ },
+ "playersTotal": {
+ "title": "playersTotal",
+ "type": "number",
+ "example": 82
+ },
+ "playersHardcore": {
+ "title": "playersHardcore",
+ "type": "number",
+ "example": 82
+ },
+ "achievementsPublished": {
+ "title": "achievementsPublished",
+ "type": "number",
+ "example": 20
+ },
+ "achievementsUnpublished": {
+ "title": "achievementsUnpublished",
+ "type": "number",
+ "example": 0
+ },
+ "pointsTotal": {
+ "title": "pointsTotal",
+ "type": "number",
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "example": 341
+ },
+ "timesBeaten": {
+ "title": "timesBeaten",
+ "type": "number",
+ "example": 0
+ },
+ "timesBeatenHardcore": {
+ "title": "timesBeatenHardcore",
+ "type": "number",
+ "example": 1
+ },
+ "medianTimeToBeatMinutes": {
+ "title": "medianTimeToBeatMinutes",
+ "type": "number"
+ },
+ "medianTimeToBeatHardcoreMinutes": {
+ "title": "medianTimeToBeatHardcoreMinutes",
+ "type": "number",
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "system": {
+ "title": "system",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"system\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/systems/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "comments": {
+ "title": "comments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"comments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/comments/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "hashes": {
+ "title": "hashes",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"hashes\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/hashes/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.hubs.relationship.games.fetch": {
+ "title": "Resource/Hub/Relationship/Games/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "games",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.hubs.relationship.links.fetch": {
+ "title": "Resource/Hub/Relationship/Links/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "hubs",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.hubs.resource.fetch": {
+ "title": "Resource/Hub/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "hubs",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "[Central]"
+ },
+ "sortTitle": {
+ "title": "sortTitle",
+ "type": "string",
+ "readOnly": true
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/Images/000001.png"
+ },
+ "hasMatureContent": {
+ "title": "hasMatureContent",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "gamesCount": {
+ "title": "gamesCount",
+ "type": "number",
+ "readOnly": true
+ },
+ "linkedHubsCount": {
+ "title": "linkedHubsCount",
+ "type": "number",
+ "readOnly": true
+ },
+ "isEventHub": {
+ "title": "isEventHub",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:04:29.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:04:29.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "links": {
+ "title": "links",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"links\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/links/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/links/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.leaderboard-entries.resource.fetch": {
+ "title": "Resource/Leaderboard-entry/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "leaderboard-entries",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "score": {
+ "title": "score",
+ "type": "number",
+ "readOnly": true,
+ "example": 1
+ },
+ "rank": {
+ "title": "rank",
+ "type": "number",
+ "readOnly": true
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "leaderboard": {
+ "title": "leaderboard",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"leaderboard\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.leaderboards.relationship.entries.fetch": {
+ "title": "Resource/Leaderboard/Relationship/Entries/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "leaderboard-entries",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.leaderboards.resource.fetch": {
+ "title": "Resource/Leaderboard/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "leaderboards",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": "Totam Unde"
+ },
+ "description": {
+ "title": "description",
+ "type": "string",
+ "readOnly": true,
+ "example": "Modi vitae commodi possimus animi."
+ },
+ "format": {
+ "title": "format",
+ "type": "string",
+ "readOnly": true,
+ "example": "VALUE"
+ },
+ "rankAsc": {
+ "title": "rankAsc",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "active"
+ },
+ "orderColumn": {
+ "title": "orderColumn",
+ "type": "number",
+ "readOnly": true,
+ "example": 64
+ },
+ "createdAt": {
+ "title": "createdAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:04:12.000000Z"
+ },
+ "updatedAt": {
+ "title": "updatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:04:12.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "games": {
+ "title": "games",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"games\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "developer": {
+ "title": "developer",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"developer\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/developers/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "entries": {
+ "title": "entries",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"entries\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/entries/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/entries/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.player-achievement-sets.resource.fetch": {
+ "title": "Resource/Player-achievement-set/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievement-sets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "achievementsUnlocked": {
+ "title": "achievementsUnlocked",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "achievementsUnlockedHardcore": {
+ "title": "achievementsUnlockedHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 20
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 189
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 8479
+ },
+ "completionPercentage": {
+ "title": "completionPercentage",
+ "type": "number",
+ "readOnly": true,
+ "example": "1.000000000"
+ },
+ "completionPercentageHardcore": {
+ "title": "completionPercentageHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": "1.000000000"
+ },
+ "lastUnlockAt": {
+ "title": "lastUnlockAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "lastUnlockHardcoreAt": {
+ "title": "lastUnlockHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "completedAt": {
+ "title": "completedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "completedHardcoreAt": {
+ "title": "completedHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "timeTakenSeconds": {
+ "title": "timeTakenSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "timeTakenHardcoreSeconds": {
+ "title": "timeTakenHardcoreSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "setContext": {
+ "title": "setContext",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSet": {
+ "title": "achievementSet",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSet\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.player-achievements.resource.fetch": {
+ "title": "Resource/Player-achievement/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievements",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "unlockedAt": {
+ "title": "unlockedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "unlockedHardcoreAt": {
+ "title": "unlockedHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.player-games.resource.fetch": {
+ "title": "Resource/Player-game/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-games",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "lastPlayedAt": {
+ "title": "lastPlayedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:15:57.000000Z"
+ },
+ "firstUnlockAt": {
+ "title": "firstUnlockAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T07:20:03.000000Z"
+ },
+ "lastUnlockAt": {
+ "title": "lastUnlockAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "lastUnlockHardcoreAt": {
+ "title": "lastUnlockHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T10:09:08.000000Z"
+ },
+ "beatenAt": {
+ "title": "beatenAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T08:19:11.000000Z"
+ },
+ "beatenHardcoreAt": {
+ "title": "beatenHardcoreAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T08:19:11.000000Z"
+ },
+ "playtimeTotalSeconds": {
+ "title": "playtimeTotalSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 12159
+ },
+ "timeToBeatSeconds": {
+ "title": "timeToBeatSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 5153
+ },
+ "timeToBeatHardcoreSeconds": {
+ "title": "timeToBeatHardcoreSeconds",
+ "type": "number",
+ "readOnly": true,
+ "example": 5153
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSets": {
+ "title": "achievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.systems.resource.fetch": {
+ "title": "Resource/System/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "systems",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "name",
+ "type": "string",
+ "example": "Genesis/Mega Drive"
+ },
+ "nameFull": {
+ "title": "nameFull",
+ "type": "string",
+ "example": "Sega Genesis/Mega Drive"
+ },
+ "nameShort": {
+ "title": "nameShort",
+ "type": "string",
+ "example": "MD"
+ },
+ "manufacturer": {
+ "title": "manufacturer",
+ "type": "string",
+ "example": "Sega"
+ },
+ "iconUrl": {
+ "title": "iconUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://static.retroachievements.org/assets/images/system/md.png"
+ },
+ "active": {
+ "title": "active",
+ "type": "boolean",
+ "example": true
+ }
+ }
+ }
+ }
+ },
+ "resources.tickets.resource.fetch": {
+ "title": "Resource/Ticket/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "tickets",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "5"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "title": "state",
+ "type": "string",
+ "readOnly": true,
+ "example": "open"
+ },
+ "type": {
+ "title": "type",
+ "type": "string",
+ "readOnly": true,
+ "example": "did_not_trigger"
+ },
+ "body": {
+ "title": "body",
+ "type": "string",
+ "readOnly": true,
+ "example": "bruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh momentbruh moment bruh moment"
+ },
+ "hardcore": {
+ "title": "hardcore",
+ "type": "boolean",
+ "readOnly": true,
+ "example": 1
+ },
+ "reportedAt": {
+ "title": "reportedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-06-05T19:41:03.000000Z"
+ },
+ "resolvedAt": {
+ "title": "resolvedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "ticketableType": {
+ "title": "ticketableType",
+ "type": "string",
+ "readOnly": true,
+ "example": "achievement"
+ },
+ "ticketableId": {
+ "title": "ticketableId",
+ "type": "number",
+ "readOnly": true,
+ "example": 3801
+ },
+ "gameIconUrl": {
+ "title": "gameIconUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemName": {
+ "title": "systemName",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievement": {
+ "title": "achievement",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievement\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievements/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "leaderboard": {
+ "title": "leaderboard",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"leaderboard\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/leaderboards/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "reporter": {
+ "title": "reporter",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"reporter\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/reporters/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "resolver": {
+ "title": "resolver",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"resolver\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/resolvers/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "author": {
+ "title": "author",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"author\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/authors/5"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.user-awards.resource.fetch": {
+ "title": "Resource/User-award/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-awards",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "1"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "awardedAt": {
+ "title": "awardedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-03T08:19:11.000000Z"
+ },
+ "kind": {
+ "title": "kind",
+ "type": "string",
+ "readOnly": true,
+ "example": "game_beaten"
+ },
+ "title": {
+ "title": "title",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "badgeUrl": {
+ "title": "badgeUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "displayOrder": {
+ "title": "displayOrder",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "context": {
+ "title": "context",
+ "type": "object",
+ "readOnly": true,
+ "example": 1
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "event": {
+ "title": "event",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"event\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/events/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/events/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "game": {
+ "title": "game",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"game\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/games/1"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.user-follows.resource.fetch": {
+ "title": "Resource/User-follow/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-follows",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "2"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "followedAt": {
+ "title": "followedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "userId": {
+ "title": "userId",
+ "type": "string",
+ "readOnly": true,
+ "example": 1
+ },
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true
+ },
+ "isMutual": {
+ "title": "isMutual",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "title": "user",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"user\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/2"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/users/2"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "resources.users.relationship.achievementSetClaims.fetch": {
+ "title": "Resource/User/Relationship/AchievementSetClaims/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "achievement-set-claims",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.users.relationship.awards.fetch": {
+ "title": "Resource/User/Relationship/Awards/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-awards",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.users.relationship.followers.fetch": {
+ "title": "Resource/User/Relationship/Followers/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-follows",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "2"
+ }
+ }
+ },
+ "resources.users.relationship.following.fetch": {
+ "title": "Resource/User/Relationship/Following/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "user-follows",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "2"
+ }
+ }
+ },
+ "resources.users.relationship.playerAchievementSets.fetch": {
+ "title": "Resource/User/Relationship/PlayerAchievementSets/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievement-sets",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.users.relationship.playerAchievements.fetch": {
+ "title": "Resource/User/Relationship/PlayerAchievements/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-achievements",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.users.relationship.playerGames.fetch": {
+ "title": "Resource/User/Relationship/PlayerGames/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "player-games",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "1"
+ }
+ }
+ },
+ "resources.users.relationship.tickets.fetch": {
+ "title": "Resource/User/Relationship/Tickets/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "tickets",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "5"
+ }
+ }
+ },
+ "resources.users.relationship.wallComments.fetch": {
+ "title": "Resource/User/Relationship/WallComments/Fetch",
+ "type": "object",
+ "required": ["type", "id"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "comments",
+ "type": "string"
+ },
+ "id": {
+ "title": "id",
+ "type": "string",
+ "example": "3"
+ }
+ }
+ },
+ "resources.users.resource.fetch": {
+ "title": "Resource/User/Fetch",
+ "type": "object",
+ "required": ["type", "id", "attributes"],
+ "properties": {
+ "type": {
+ "title": "type",
+ "default": "users",
+ "type": "string"
+ },
+ "id": {
+ "type": "string",
+ "example": "01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "attributes": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "title": "displayName",
+ "type": "string",
+ "readOnly": true,
+ "example": "Root"
+ },
+ "avatarUrl": {
+ "title": "avatarUrl",
+ "type": "string",
+ "readOnly": true,
+ "example": "https://media.retroachievements.org/UserPic/Root.png"
+ },
+ "motto": {
+ "title": "motto",
+ "type": "string",
+ "readOnly": true,
+ "example": ""
+ },
+ "points": {
+ "title": "points",
+ "type": "number",
+ "readOnly": true,
+ "example": 1236
+ },
+ "pointsHardcore": {
+ "title": "pointsHardcore",
+ "type": "number",
+ "readOnly": true,
+ "example": 7130
+ },
+ "pointsWeighted": {
+ "title": "pointsWeighted",
+ "type": "number",
+ "readOnly": true,
+ "example": 15687
+ },
+ "yieldUnlocks": {
+ "title": "yieldUnlocks",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "yieldPoints": {
+ "title": "yieldPoints",
+ "type": "number",
+ "readOnly": true,
+ "example": 0
+ },
+ "joinedAt": {
+ "title": "joinedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2025-09-12T06:01:22.000000Z"
+ },
+ "lastActivityAt": {
+ "title": "lastActivityAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-07-07T21:05:33.000000Z"
+ },
+ "deletedAt": {
+ "title": "deletedAt",
+ "type": "string",
+ "readOnly": true
+ },
+ "isUnranked": {
+ "title": "isUnranked",
+ "type": "boolean",
+ "readOnly": true,
+ "example": false
+ },
+ "isUserWallActive": {
+ "title": "isUserWallActive",
+ "type": "boolean",
+ "readOnly": true,
+ "example": true
+ },
+ "richPresence": {
+ "title": "richPresence",
+ "type": "string",
+ "readOnly": true,
+ "example": "Playing Assumenda Pariatur"
+ },
+ "richPresenceUpdatedAt": {
+ "title": "richPresenceUpdatedAt",
+ "type": "string",
+ "readOnly": true,
+ "example": "2026-04-18T04:34:36.000000Z"
+ },
+ "visibleRole": {
+ "title": "visibleRole",
+ "type": "string",
+ "readOnly": true,
+ "example": {
+ "id": 4,
+ "name": "game-hash-manager",
+ "display": 3,
+ "guard_name": "web",
+ "created_at": "2025-09-12T06:01:21.000000Z",
+ "updated_at": "2025-09-12T06:01:21.000000Z",
+ "pivot": {
+ "model_type": "user",
+ "model_id": 1,
+ "role_id": 4
+ }
+ }
+ },
+ "displayableRoles": {
+ "title": "displayableRoles",
+ "type": "array",
+ "readOnly": true
+ }
+ }
+ },
+ "relationships": {
+ "type": "object",
+ "properties": {
+ "achievementSetClaims": {
+ "title": "achievementSetClaims",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"achievementSetClaims\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/achievement-set-claims/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievements": {
+ "title": "playerAchievements",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievements\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievements/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerAchievementSets": {
+ "title": "playerAchievementSets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerAchievementSets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-achievement-sets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "playerGames": {
+ "title": "playerGames",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"playerGames\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/player-games/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "tickets": {
+ "title": "tickets",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"tickets\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/tickets/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "wallComments": {
+ "title": "wallComments",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"wallComments\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/wall-comments/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "awards": {
+ "title": "awards",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"awards\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/awards/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "followers": {
+ "title": "followers",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"followers\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followers/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "following": {
+ "title": "following",
+ "description": "May include a list of IDs of relevant items in the `data` field. To retrieve these listed items as well, add \"following\" to the \"include\" query parameter; results will be found in `.included`.",
+ "type": "object",
+ "properties": {
+ "links": {
+ "type": "object",
+ "properties": {
+ "related": {
+ "title": "related",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ },
+ "self": {
+ "title": "self",
+ "type": "string",
+ "example": "https://api.retroachievements.org/v2/followings/01K4Y876RZ4XVE4JA3X9ARV95P"
+ }
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "400": {
+ "description": "Bad request",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "helper.jsonapi": {
+ "$ref": "#/components/schemas/helper.jsonapi"
+ },
+ "helper.errors": {
+ "$ref": "#/components/schemas/helper.errors"
+ }
+ }
+ },
+ "examples": {
+ "-": {
+ "value": {
+ "jsonapi": {
+ "version": "1.0"
+ },
+ "errors": [
+ {
+ "detail": "The member id is required.",
+ "source": {
+ "pointer": "/data"
+ },
+ "status": "400",
+ "title": "Non-Compliant JSON:API Document"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized Action",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "helper.jsonapi": {
+ "$ref": "#/components/schemas/helper.jsonapi"
+ },
+ "helper.errors": {
+ "$ref": "#/components/schemas/helper.errors"
+ }
+ }
+ },
+ "examples": {
+ "-": {
+ "value": {
+ "jsonapi": {
+ "version": "1.0"
+ },
+ "errors": [
+ {
+ "title": "Unauthorized.",
+ "status": "401",
+ "detail": "Unauthenticated."
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Content Not Found",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "helper.jsonapi": {
+ "$ref": "#/components/schemas/helper.jsonapi"
+ },
+ "helper.errors": {
+ "$ref": "#/components/schemas/helper.errors"
+ }
+ }
+ },
+ "examples": {
+ "-": {
+ "value": {
+ "jsonapi": {
+ "version": "1.0"
+ },
+ "errors": [
+ {
+ "title": "Not Found",
+ "status": "404"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Unprocessable Entity",
+ "content": {
+ "application/vnd.api+json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "helper.jsonapi": {
+ "$ref": "#/components/schemas/helper.jsonapi"
+ },
+ "helper.errors": {
+ "$ref": "#/components/schemas/helper.errors"
+ }
+ }
+ },
+ "examples": {
+ "-": {
+ "value": {
+ "jsonapi": {
+ "version": "1.0"
+ },
+ "errors": [
+ {
+ "detail": "Lorem Ipsum",
+ "source": {
+ "pointer": "/data/attributes/lorem"
+ },
+ "title": "Unprocessable Entity",
+ "status": "422"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/docs/v2/systems.md b/docs/v2/systems.md
new file mode 100644
index 0000000..a680df8
--- /dev/null
+++ b/docs/v2/systems.md
@@ -0,0 +1,6 @@
+
+
+
diff --git a/package.json b/package.json
index 2170c22..fe5102c 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,7 @@
"engines": {
"node": ">=20"
},
+ "type": "module",
"scripts": {
"dev": "vitepress dev docs",
"build": "vitepress build docs",
@@ -17,6 +18,7 @@
"license": "MIT",
"dependencies": {
"vitepress": "^1.6.4",
+ "vitepress-openapi": "^0.1.13",
"vitepress-plugin-llms": "^1.7.3",
"vue": "3.5.18"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 50e3405..3ce06f3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,6 +11,9 @@ importers:
vitepress:
specifier: ^1.6.4
version: 1.6.4(@algolia/client-search@5.35.0)(postcss@8.4.38)(search-insights@2.14.0)
+ vitepress-openapi:
+ specifier: ^0.1.13
+ version: 0.1.13(vitepress@1.6.4(@algolia/client-search@5.35.0)(postcss@8.4.38)(search-insights@2.14.0))(vue@3.5.18)
vitepress-plugin-llms:
specifier: ^1.7.3
version: 1.7.3
@@ -375,12 +378,30 @@ packages:
cpu: [x64]
os: [win32]
+ '@floating-ui/core@1.7.4':
+ resolution: {integrity: sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==}
+
+ '@floating-ui/dom@1.7.5':
+ resolution: {integrity: sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==}
+
+ '@floating-ui/utils@0.2.10':
+ resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
+
+ '@floating-ui/vue@1.1.10':
+ resolution: {integrity: sha512-vdf8f6rHnFPPLRsmL4p12wYl+Ux4mOJOkjzKEMYVnwdf7UFdvBtHlLvQyx8iKG5vhPRbDRgZxdtpmyigDPjzYg==}
+
'@iconify-json/simple-icons@1.2.48':
resolution: {integrity: sha512-EACOtZMoPJtERiAbX1De0asrrCtlwI27+03c9OJlYWsly9w1O5vcD8rTzh+kDPjo+K8FOVnq2Qy+h/CzljSKDA==}
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+ '@internationalized/date@3.10.1':
+ resolution: {integrity: sha512-oJrXtQiAXLvT9clCf1K4kxp3eKsQhIaZqxEyowkBcsvZDdZkbWrVmnGknxs5flTD0VGsxrxKgBCZty1EzoiMzA==}
+
+ '@internationalized/number@3.6.5':
+ resolution: {integrity: sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==}
+
'@isaacs/balanced-match@4.0.1':
resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==}
engines: {node: 20 || >=22}
@@ -554,6 +575,17 @@ packages:
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+ '@swc/helpers@0.5.18':
+ resolution: {integrity: sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==}
+
+ '@tanstack/virtual-core@3.13.18':
+ resolution: {integrity: sha512-Mx86Hqu1k39icq2Zusq+Ey2J6dDWTjDvEv43PJtRCoEYTLyfaPnxIQ6iy7YAOK0NV/qOEmZQ/uCufrppZxTgcg==}
+
+ '@tanstack/vue-virtual@3.13.18':
+ resolution: {integrity: sha512-6pT8HdHtTU5Z+t906cGdCroUNA5wHjFXsNss9gwk7QAr1VNZtz9IQCs2Nhx0gABK48c+OocHl2As+TMg8+Hy4A==}
+ peerDependencies:
+ vue: ^2.7.0 || ^3.0.0
+
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
@@ -635,6 +667,11 @@ packages:
'@vueuse/core@12.8.2':
resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==}
+ '@vueuse/core@13.9.0':
+ resolution: {integrity: sha512-ts3regBQyURfCE2BcytLqzm8+MmLlo5Ln/KLoxDVcsZ2gzIwVNnQpQOL/UKV8alUqjSZOlpFZcRNsLRqj+OzyA==}
+ peerDependencies:
+ vue: ^3.5.0
+
'@vueuse/integrations@12.8.2':
resolution: {integrity: sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==}
peerDependencies:
@@ -679,9 +716,17 @@ packages:
'@vueuse/metadata@12.8.2':
resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==}
+ '@vueuse/metadata@13.9.0':
+ resolution: {integrity: sha512-1AFRvuiGphfF7yWixZa0KwjYH8ulyjDCC0aFgrGRz8+P4kvDFSdXLVfTk5xAN9wEuD1J6z4/myMoYbnHoX07zg==}
+
'@vueuse/shared@12.8.2':
resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==}
+ '@vueuse/shared@13.9.0':
+ resolution: {integrity: sha512-e89uuTLMh0U5cZ9iDpEI2senqPGfbPRTHM/0AaQkcxnpqjkZqDYP8rpfm7edOz8s+pOCOROEy1PIveSW8+fL5g==}
+ peerDependencies:
+ vue: ^3.5.0
+
algoliasearch@5.35.0:
resolution: {integrity: sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==}
engines: {node: '>= 14.0.0'}
@@ -722,6 +767,10 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ aria-hidden@1.2.6:
+ resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
+ engines: {node: '>=10'}
+
autoprefixer@10.4.19:
resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
engines: {node: ^10 || ^12 || >=14}
@@ -790,6 +839,9 @@ packages:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
+ class-variance-authority@0.7.1:
+ resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
+
cli-cursor@4.0.0:
resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -802,6 +854,10 @@ packages:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
@@ -875,6 +931,9 @@ packages:
decode-named-character-reference@1.2.0:
resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==}
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
@@ -1139,12 +1198,20 @@ packages:
resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
engines: {node: 14 || >=16.14}
+ lucide-vue-next@0.503.0:
+ resolution: {integrity: sha512-3MrtHIBdh4dPCUZDLxQnvmQ17UzUnBYgezUSIo87Laais8hOz6qIPllp0iG/uS/UIzk7bJxyZRzoZTW/gLSr4A==}
+ peerDependencies:
+ vue: '>=3.0.1'
+
magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
mark.js@8.11.1:
resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
+ markdown-it-link-attributes@4.0.1:
+ resolution: {integrity: sha512-pg5OK0jPLg62H4k7M9mRJLT61gUp9nvG0XveKYHMOOluASo9OEF13WlXrpAp2aj35LbedAy3QOCgQCw0tkLKAQ==}
+
markdown-it@14.1.0:
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
hasBin: true
@@ -1324,6 +1391,9 @@ packages:
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
engines: {node: '>= 6'}
+ ohash@2.0.11:
+ resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
+
onetime@5.1.2:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
@@ -1634,6 +1704,11 @@ packages:
regex@6.0.1:
resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
+ reka-ui@2.7.0:
+ resolution: {integrity: sha512-m+XmxQN2xtFzBP3OAdIafKq7C8OETo2fqfxcIIxYmNN2Ch3r5oAf6yEYCIJg5tL/yJU2mHqF70dCCekUkrAnXA==}
+ peerDependencies:
+ vue: '>= 3.2.0'
+
remark-frontmatter@5.0.0:
resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
@@ -1806,6 +1881,9 @@ packages:
ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
@@ -1876,6 +1954,12 @@ packages:
terser:
optional: true
+ vitepress-openapi@0.1.13:
+ resolution: {integrity: sha512-cu0d07Gn6NCtWCNWtNI91bM41OeLBX5wdKRSCxaC1wZv9RSBNZ35KKT9GW5+Eb0qDx0wBtGeXZ9fIGf5QT3xGA==}
+ peerDependencies:
+ vitepress: '>=1.0.0'
+ vue: ^3.0.0
+
vitepress-plugin-llms@1.7.3:
resolution: {integrity: sha512-XhTVbUrKwrzrwlRKd/zT2owvjwi5cdB21HgDRcHqp9PYK4Fy+mBYJUoTcLaJ5IKD1DDrJZMo0DuJeyC5RSDI9Q==}
@@ -1891,6 +1975,17 @@ packages:
postcss:
optional: true
+ vue-demi@0.14.10:
+ resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
+ engines: {node: '>=12'}
+ hasBin: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+
vue@3.5.18:
resolution: {integrity: sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==}
peerDependencies:
@@ -2230,12 +2325,40 @@ snapshots:
'@esbuild/win32-x64@0.21.5':
optional: true
+ '@floating-ui/core@1.7.4':
+ dependencies:
+ '@floating-ui/utils': 0.2.10
+
+ '@floating-ui/dom@1.7.5':
+ dependencies:
+ '@floating-ui/core': 1.7.4
+ '@floating-ui/utils': 0.2.10
+
+ '@floating-ui/utils@0.2.10': {}
+
+ '@floating-ui/vue@1.1.10(vue@3.5.18)':
+ dependencies:
+ '@floating-ui/dom': 1.7.5
+ '@floating-ui/utils': 0.2.10
+ vue-demi: 0.14.10(vue@3.5.18)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
'@iconify-json/simple-icons@1.2.48':
dependencies:
'@iconify/types': 2.0.0
'@iconify/types@2.0.0': {}
+ '@internationalized/date@3.10.1':
+ dependencies:
+ '@swc/helpers': 0.5.18
+
+ '@internationalized/number@3.6.5':
+ dependencies:
+ '@swc/helpers': 0.5.18
+
'@isaacs/balanced-match@4.0.1': {}
'@isaacs/brace-expansion@5.0.0':
@@ -2385,6 +2508,17 @@ snapshots:
'@shikijs/vscode-textmate@10.0.2': {}
+ '@swc/helpers@0.5.18':
+ dependencies:
+ tslib: 2.8.1
+
+ '@tanstack/virtual-core@3.13.18': {}
+
+ '@tanstack/vue-virtual@3.13.18(vue@3.5.18)':
+ dependencies:
+ '@tanstack/virtual-core': 3.13.18
+ vue: 3.5.18
+
'@types/debug@4.1.12':
dependencies:
'@types/ms': 2.1.0
@@ -2502,6 +2636,13 @@ snapshots:
transitivePeerDependencies:
- typescript
+ '@vueuse/core@13.9.0(vue@3.5.18)':
+ dependencies:
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 13.9.0
+ '@vueuse/shared': 13.9.0(vue@3.5.18)
+ vue: 3.5.18
+
'@vueuse/integrations@12.8.2(focus-trap@7.6.5)':
dependencies:
'@vueuse/core': 12.8.2
@@ -2514,12 +2655,18 @@ snapshots:
'@vueuse/metadata@12.8.2': {}
+ '@vueuse/metadata@13.9.0': {}
+
'@vueuse/shared@12.8.2':
dependencies:
vue: 3.5.18
transitivePeerDependencies:
- typescript
+ '@vueuse/shared@13.9.0(vue@3.5.18)':
+ dependencies:
+ vue: 3.5.18
+
algoliasearch@5.35.0:
dependencies:
'@algolia/abtesting': 1.1.0
@@ -2564,6 +2711,10 @@ snapshots:
argparse@2.0.1: {}
+ aria-hidden@1.2.6:
+ dependencies:
+ tslib: 2.8.1
+
autoprefixer@10.4.19(postcss@8.4.38):
dependencies:
browserslist: 4.23.0
@@ -2625,6 +2776,10 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
+ class-variance-authority@0.7.1:
+ dependencies:
+ clsx: 2.1.1
+
cli-cursor@4.0.0:
dependencies:
restore-cursor: 4.0.0
@@ -2640,6 +2795,8 @@ snapshots:
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
+ clsx@2.1.1: {}
+
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
@@ -2692,6 +2849,8 @@ snapshots:
dependencies:
character-entities: 2.0.2
+ defu@6.1.4: {}
+
dequal@2.0.3: {}
devlop@1.1.0:
@@ -2964,12 +3123,18 @@ snapshots:
lru-cache@10.2.2: {}
+ lucide-vue-next@0.503.0(vue@3.5.18):
+ dependencies:
+ vue: 3.5.18
+
magic-string@0.30.17:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
mark.js@8.11.1: {}
+ markdown-it-link-attributes@4.0.1: {}
+
markdown-it@14.1.0:
dependencies:
argparse: 2.0.1
@@ -3246,6 +3411,8 @@ snapshots:
object-hash@3.0.0: {}
+ ohash@2.0.11: {}
+
onetime@5.1.2:
dependencies:
mimic-fn: 2.1.0
@@ -3548,6 +3715,23 @@ snapshots:
dependencies:
regex-utilities: 2.3.0
+ reka-ui@2.7.0(vue@3.5.18):
+ dependencies:
+ '@floating-ui/dom': 1.7.5
+ '@floating-ui/vue': 1.1.10(vue@3.5.18)
+ '@internationalized/date': 3.10.1
+ '@internationalized/number': 3.6.5
+ '@tanstack/vue-virtual': 3.13.18(vue@3.5.18)
+ '@vueuse/core': 12.8.2
+ '@vueuse/shared': 12.8.2
+ aria-hidden: 1.2.6
+ defu: 6.1.4
+ ohash: 2.0.11
+ vue: 3.5.18
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - typescript
+
remark-frontmatter@5.0.0:
dependencies:
'@types/mdast': 4.0.4
@@ -3780,6 +3964,8 @@ snapshots:
ts-interface-checker@0.1.13: {}
+ tslib@2.8.1: {}
+
uc.micro@2.1.0: {}
unified@11.0.5:
@@ -3847,6 +4033,20 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
+ vitepress-openapi@0.1.13(vitepress@1.6.4(@algolia/client-search@5.35.0)(postcss@8.4.38)(search-insights@2.14.0))(vue@3.5.18):
+ dependencies:
+ '@vueuse/core': 13.9.0(vue@3.5.18)
+ class-variance-authority: 0.7.1
+ clsx: 2.1.1
+ lucide-vue-next: 0.503.0(vue@3.5.18)
+ markdown-it-link-attributes: 4.0.1
+ reka-ui: 2.7.0(vue@3.5.18)
+ vitepress: 1.6.4(@algolia/client-search@5.35.0)(postcss@8.4.38)(search-insights@2.14.0)
+ vue: 3.5.18
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - typescript
+
vitepress-plugin-llms@1.7.3:
dependencies:
byte-size: 9.0.1
@@ -3915,6 +4115,10 @@ snapshots:
- typescript
- universal-cookie
+ vue-demi@0.14.10(vue@3.5.18):
+ dependencies:
+ vue: 3.5.18
+
vue@3.5.18:
dependencies:
'@vue/compiler-dom': 3.5.18