Get the badge catalogue
GET
/achievements
Every badge on the platform with its copy, tier ladder, holder counts and rarity, plus header totals, series and the grid's slots, in the reader's language (?lang=, then Accept-Language, then the i18next cookie). The payload is the same for every reader; a token is accepted and ignored. Cached per language.
Authorizations
BearerAuth
In the browser, authentication rides on the httpOnly session cookies set by /cognito/signin or the Google / Apple sign-in at /cognito/oauth/{provider}. For scripts and for Swagger UI testing, paste an API key (fh_live_…, created with POST /api-keys); a Cognito JWT is accepted too. Sign-in does not return a token in its body.
Type
HTTP (bearer)
or
Parameters
Query Parameters
lang
Reader language; falls back to Accept-Language, then the i18next cookie, then English.
Type
string
Valid values
"en""ru""uk""es"Responses
Catalogue (bare object)
application/json
JSON
{
"items": [
],
"totals": {
"achievements": 0,
"earned_total": 0,
"collectors": 0,
"rarest": {
"slug": "string",
"title": "string",
"key": "string",
"label": "string",
"holders": 0
},
"computed_at": "string"
},
"language": "string",
"vocabulary": "string",
"series": [
{
"additionalProperties": "string"
}
],
"slots": [
{
"series_id": "string",
"series_number": 0,
"state": "string",
"slug": "string",
"track": "string"
}
],
"default_series_id": "string"
}