コンテンツにスキップ

プレイ記録の一覧

GET
/rest/v1/getPlayRecords
curl --request GET \
--url 'https://game.retrogather.com/rest/v1/getPlayRecords?clearTargetOverdue=overdue&sortBy=playStartDate&sortOrder=asc' \
--header 'Authorization: Bearer <token>'

Play records / プレイ記録: what the user is playing, cleared, dropped or has in the backlog; latest record per game with filters and page/limit. Request memo in fields when needed. Use getGamePlayHistory for PREMIUM past cycles; getPlayLogs(playId) for logs. PLANNED = the backlog the user means to play, so statuses:[“PLANNED”] answers “what is piled up” and “what to play next”; it is not a never-played flag.

Arrays are comma-separated. Percent-encode query values; Japanese values are easier to send with POST JSON. Plans: FREE / LIGHT / PREMIUM. Scopes: play:read. FREE: not available: consoleIds; narrowed: fields (see x-rgg-plan-differences).

statuses
Array<string>
Allowed values: PLANNED PLAYING PAUSED COMPLETED DROPPED

Play statuses (OR)

platformIds
Array<integer>
<= 10 items

Platform IDs (OR)

genreId
integer
>= 1

Genre ID from listGenres. A root ID matches the game’s genreId or genreSubId. A non-root ID matches titleKana using that genre’s taxonomy key.

title
string
<= 30 characters

Title, reading, or edition name

releaseDateFrom
string format: date

Release date from (inclusive, YYYY-MM-DD). Games without a release date are excluded.

releaseDateTo
string format: date

Release date to (inclusive, YYYY-MM-DD). Games without a release date are excluded.

attributes
Array<string>
<= 5 items

Attribute IDs or labels (AND)

consoleIds
Array<string>
<= 5 items

Played console IDs (OR) (LIGHT+)

playStartDateFrom
string format: date

YYYY-MM-DD

playStartDateTo
string format: date

YYYY-MM-DD

playEndDateFrom
string format: date

YYYY-MM-DD

playEndDateTo
string format: date

YYYY-MM-DD

clearTargetDateFrom
string format: date

YYYY-MM-DD

clearTargetDateTo
string format: date

YYYY-MM-DD

clearTargetOverdue
string
Allowed values: overdue not_overdue

Overdue: unfinished (PLANNED/PLAYING/PAUSED) with clearTargetDate before today. COMPLETED/DROPPED are never overdue.

totalPlayTimeFrom
integer

Total play time from (minutes)

totalPlayTimeTo
integer

Total play time to (minutes)

ratingFrom
integer
>= 1 <= 5

Minimum rating (1-5)

ratingTo
integer
>= 1 <= 5

Maximum rating (1-5)

sortBy
string
Allowed values: playStartDate playEndDate clearTargetDate title totalPlayTime rating updatedAt
sortOrder
string
Allowed values: asc desc

Asc or desc

page
integer
>= 1
limit
integer
>= 1 <= 200
fields
Array<string>
Allowed values: game console goal attributes userLinks memo timestamps

Optional groups. Omit for default (game, console, goal). FREE default is game+goal. [] returns core fields only (playId, gameId, status, playStartDate, playEndDate, totalPlayTime in minutes, rating, hasHistory). game: title/platform/publisher/genre/releaseDate. console: {consoleId,name}. goal: clearTargetDate. attributes: [{id,label,custom}]. userLinks: strategy URLs. memo: note text. timestamps: createdAt, updatedAt. fields: [“memo”] does not add the default groups. game caps the page at 100; userLinks caps at 50. Keep filters, sort, fields, and limit fixed while paging. PLANNED = the backlog the user means to play; it does not mean never played. (LIGHT+: console)

Tool result JSON (no MCP envelope). Delete previews also return 200 with confirmToken.

Media typeapplication/json
Any of:
object
items
required
Array<object>
object
playId
required
string
gameId
required
integer
status
string
Allowed values: PLANNED PLAYING PAUSED COMPLETED DROPPED
playStartDate
string
playEndDate
string
totalPlayTime
integer
rating
integer
hasHistory
boolean
clearTargetDate
string
createdAt
string
updatedAt
string
attributes
Array<object>
object
id
required
string
label
string
custom
boolean
key
additional properties
any
userLinks
Array<object>
object
name
string
url
string
key
additional properties
any
memo
string
game
object
gameId
required
integer
title
string
titleEn
Array<string>
platform
object
platformId
required
integer
name
string
key
additional properties
any
publisher
object
companyId
required
integer
name
string
key
additional properties
any
genre
object
genreId
required
integer
name
string
key
additional properties
any
genreSub
object
genreId
required
integer
name
string
key
additional properties
any
releaseDate
string
custom
boolean
editions
Array<object>
object
gameEditionId
integer
title
string
modelNumber
Array<string>
releaseDate
string
price
number
janCode
string
key
additional properties
any
specs
object
modelNumber
Array<string>
price
number
janCode
string
key
additional properties
any
key
additional properties
any
console
object
consoleId
required
string
name
string
key
additional properties
any
isLatest
boolean
consoleId
string
key
additional properties
any
page
required
integer
returnedCount
required
integer
totalCount
required
integer
hasMore
required
boolean
effectiveLimit
integer
limitReduced
boolean
limitReason
string
key
additional properties
any
Example
{
"items": [
{
"status": "PLANNED"
}
]
}

Invalid_input (arguments, broken JSON body)

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}

Missing or invalid API key

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}

Insufficient_scope, plan_required, or access_suspended

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}

Target or tool not found

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}

Burst or daily quota exceeded. See resetAt.

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}
Retry-After
integer

Seconds

Unexpected server failure. Retrying the same call will not help.

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}

Temporary failure or maintenance. Retry after Retry-After.

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}
Retry-After
integer

Seconds