XP series of one account
XP per skill over time (stats). Defaults: Overall, the last 7 days, resolution=auto.
Authorization
bearerAuth An API key from the hub’s API keys page.
In: header
Path Parameters
The account's public id (opaque, base62), as id in /accounts.
^[0-9A-Za-z]{1,64}$Query Parameters
Comma-separated skill names, case-insensitive (attack,defence, overall); at most 30. Default: Overall. An unknown skill is a 400.
Bucket size. auto (default): 5m up to 7 days, 1h up to 90 days, 1d beyond. The hub picks a coarser one when the range would have more than 5000 points, or starts before the 5-minute tier’s retention.
Value in
- "auto"
- "5m"
- "1h"
- "1d"
Start of the range (ISO-8601 date-time). Default: to − 7 days.
date-timeEnd of the range (ISO-8601 date-time). Default: now.
date-timeResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/accounts/4fT9kQ2mXa7B/xp"{ "data": { "account": { "id": "string", "name": "string" }, "resolution": "5m", "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z", "series": [ { "skill": "string", "points": [ [ "2019-08-24T14:15:22Z", 0 ] ] } ] }, "meta": { "generated_at": "2019-08-24T14:15:22Z" }}Current state of every visible account GET
Built for polling every 2–10 s (the live map, Home Assistant). Limited to 1 request per 1 s per key, on top of the general limit. Each account carries `id`, `name`, `type`, `type_label`, `owner` and `categories` (and `account_hash` for service keys); every other field belongs to one category and is **omitted** when the key can’t read that category on the account, and **null** when it can but the plugin never sent it. Send the last `ETag` as `If-None-Match`: while nothing you would see has changed, the answer is `304 Not Modified` without a body (it still counts towards the rate limits). With `since` (the previous `meta.last_modified`), only accounts that changed after it are returned, re-sending those that changed up to 30 s before it; accounts whose `activity` the key can’t read are always returned, and an account that leaves the key’s scope simply stops appearing, so fetch without `since` now and then. A location older than 2 minutes has `stale: true`.
XP series of several accounts GET
The same series for several accounts at once, in request order (`stats`): up to 10 accounts with a user key, 50 with a service key. An account the key can’t read makes the whole request 404, exactly like an unknown id.