コンテンツにスキップ

所有ソフトの分析

POST
/rest/v1/getLibraryAnalytics
curl --request POST \
--url https://game.retrogather.com/rest/v1/getLibraryAnalytics \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "sections": [ "summary" ], "platformIds": [ 1 ], "genreId": 1, "title": "example", "releaseYearFrom": 1, "releaseYearTo": 1, "attributes": [ "example" ], "buyPlace": "example", "ratingFrom": 1, "ratingTo": 1, "buyDateFrom": "2026-04-15", "buyDateTo": "2026-04-15", "buyPriceFrom": 1, "buyPriceTo": 1 }'

Library analytics / 所有ソフトの分析: stats for owned games, including money spent. Matches the in-app analysis dialog. Default section is summary only. summary.pricedCount = games with a price (the base of totalAmount); purchase.yearly/monthly omit games without buyDate. All plans use library rows (not physical copies): a game with several copies counts once, at its representative copy’s price, so the in-app LIGHT/PREMIUM total may be higher. Say so when answering how much the user spent; sum getPhysicalCopies for the per-copy total. Filters match getLibrary; buyDateFrom/buyDateTo still apply only to purchase amounts.

Plans: FREE / LIGHT / PREMIUM. Scopes: library:read.

Media typeapplication/json
object
sections
Array<string>
Allowed values: summary rating platform genre purchase
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
releaseYearFrom

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

integer
releaseYearTo

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

integer
attributes

Attribute IDs or labels (AND)

Array<string>
<= 5 items
buyPlace

Purchase place (substring, case-insensitive)

string
<= 30 characters
ratingFrom

Minimum rating (1-5)

integer
>= 1 <= 5
ratingTo

Maximum rating (1-5)

integer
>= 1 <= 5
buyDateFrom

Purchase date from (inclusive)

string format: date
buyDateTo

Purchase date to (inclusive)

string format: date
buyPriceFrom

Purchase price from (JPY)

integer
buyPriceTo

Purchase price to (JPY)

integer

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
rating
Array<object>
object
key
additional properties
any
platform
Array<object>
object
key
additional properties
any
genre
Array<object>
object
key
additional properties
any
purchase
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