コンテンツにスキップ

プレイ記録の分析

POST
/rest/v1/getPlayAnalytics
curl --request POST \
--url https://game.retrogather.com/rest/v1/getPlayAnalytics \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "sections": [ "summary" ], "statuses": [ "PLANNED" ], "platformIds": [ 1 ], "genreId": 1, "title": "example", "attributes": [ "example" ], "consoleIds": [ "example" ], "playStartDateFrom": "2026-04-15", "playStartDateTo": "2026-04-15", "playEndDateFrom": "2026-04-15", "playEndDateTo": "2026-04-15", "clearTargetDateFrom": "2026-04-15", "clearTargetDateTo": "2026-04-15", "clearTargetOverdue": "overdue", "totalPlayTimeFrom": 1, "totalPlayTimeTo": 1, "ratingFrom": 1, "ratingTo": 1, "releaseYearFrom": 1, "releaseYearTo": 1, "playTimeTrendFrom": "2026-04-15", "playTimeTrendTo": "2026-04-15", "playTimeTrendGranularity": "day", "includeHistory": true }'

Play analytics / プレイ記録の分析: stats for play records and play time. Default section is summary only. monthlyTrend.endedCount is status-agnostic; monthlyResults splits clears vs dropped. Attribute counts can exceed record counts. playTimeTrend reads PlayLog minutes for at most 90 JST days. Default uses the latest record per game. Filters match getPlayRecords.

Plans: FREE / LIGHT / PREMIUM. Scopes: play:read. FREE: not available: consoleIds, includeHistory (see x-rgg-plan-differences). LIGHT: not available: includeHistory (see x-rgg-plan-differences).

Media typeapplication/json
object
sections

(LIGHT+: console)

Array<string>
Allowed values: summary status rating monthlyTrend monthlyResults releasePeriod completionPace console platform genre attributes playTimeTrend
statuses

Play statuses (OR)

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

Platform IDs (OR)

Array<integer>
<= 10 items
genreId

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.

integer
>= 1
title

Title, reading, or edition name

string
<= 30 characters
attributes

Attribute IDs or labels (AND)

Array<string>
<= 5 items
consoleIds

Played console IDs (OR) (LIGHT+)

Array<string>
<= 5 items
playStartDateFrom

YYYY-MM-DD

string format: date
playStartDateTo

YYYY-MM-DD

string format: date
playEndDateFrom

YYYY-MM-DD

string format: date
playEndDateTo

YYYY-MM-DD

string format: date
clearTargetDateFrom

YYYY-MM-DD

string format: date
clearTargetDateTo

YYYY-MM-DD

string format: date
clearTargetOverdue

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

string
Allowed values: overdue not_overdue
totalPlayTimeFrom

Total play time from (minutes)

integer
totalPlayTimeTo

Total play time to (minutes)

integer
ratingFrom

Minimum rating (1-5)

integer
>= 1 <= 5
ratingTo

Maximum rating (1-5)

integer
>= 1 <= 5
releaseYearFrom

Release year from (inclusive). Analytics/export axis stays yearly.

integer
releaseYearTo

Release year to (inclusive). Analytics/export axis stays yearly.

integer
playTimeTrendFrom

YYYY-MM-DD (JST), inclusive. playTimeTrend covers at most 90 days; default is the 90 days up to today.

string format: date
playTimeTrendTo

YYYY-MM-DD (JST), inclusive.

string format: date
playTimeTrendGranularity
string
Allowed values: day week month
includeHistory

True counts every play cycle instead of the latest record per game. (PREMIUM)

boolean

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

Media typeapplication/json
Any of:
object
summary
object
key
additional properties
any
status
Array<object>
object
key
additional properties
any
rating
Array<object>
object
key
additional properties
any
monthlyTrend
Array<object>
object
key
additional properties
any
monthlyResults
Array<object>
object
key
additional properties
any
releasePeriod
Array<object>
object
key
additional properties
any
completionPace
object
key
additional properties
any
console
Array<object>
object
key
additional properties
any
platform
Array<object>
object
key
additional properties
any
genre
Array<object>
object
key
additional properties
any
attributes
object
key
additional properties
any
playTimeTrend
object
key
additional properties
any
key
additional properties
any
Example
{
"code": "plan_required",
"status": "PLANNED",
"items": [
{
"status": "added"
}
]
}

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