---
title: "List hidden, opted-out and restricted accounts"
method: POST
path: "/v1/admin.listHiddenAccounts"
tags: ["admin"]
---

# List hidden, opted-out and restricted accounts

`POST /v1/admin.listHiddenAccounts`

## Request body

- V1AdminListHiddenAccountsRequestBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `kind` 'all' | 'owner' | 'self' | 'staff', required — owner lists accounts the owner hid, self lists opt-outs, staff lists restrictions staff applied
  - `limit` integer, required — Rows per page
  - `page` integer, required — 1-based page number

## Response `200`

OK

- V1AdminListHiddenAccountsResponseBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `accounts` V1AdminHiddenAccount[], required — The accounts on this page: newest restriction first, then owner-hidden accounts by newest account id
    - `account` LeaderboardAccount, nullable, required
      - `animatedAvatar` string, required — The animated avatar of the account
      - `apps` integer, required — The number of apps the account has
      - `avatar` string, required — The avatar hash of the account
      - `avatarFrame` string, required — The avatar frame of the account
      - `awardsGiven` integer, required — The number of awards the account has
      - `awardsReceived` integer, required — The number of awards the account has
      - `background` string, required — The background of the account
      - `badges` integer, required — The number of badges the account has
      - `bans` integer, required — The number of bans
      - `city` LeaderboardCity, nullable
        - `name` string, required — The name of the city
      - `country` LeaderboardCountry, nullable
        - `code` string — The code of the country
        - `name` string, required — The name of the country
      - `createdAt` string, date-time, required — The time the account was created
      - `donated` integer, required — The total of donations the account has
      - `economyBan` string, required — The economy ban of the account
      - `foilBadges` integer, required — The number of foil badges the account has
      - `friends` integer, required — The number of friends the account has
      - `gameBans` integer, required — The number of game bans
      - `level` integer, required — The level of the account
      - `miniBackground` string, required — The mini background of the account
      - `name` string, required — The name of the account
      - `nameEffect` 'none' | 'rainbow' | 'glitch' | 'shadow' | 'neon' | 'retro' | 'stamped' | 'shatter' | 'typewriter' | 'vaporwave' | 'sunken', required — Donator name effect, none when unset or the account no longer holds an entitling role
      - `normalBadges` integer, required — The number of normal badges the account has
      - `playtime` integer, required — The playtime of the account
      - `pointsGiven` integer, required — The number of points the account has
      - `pointsReceived` integer, required — The number of points the account has
      - `privacy` 'public' | 'private' | 'friends_only', required — The privacy of the account
      - `region` LeaderboardRegion, nullable
        - `name` string, required — The name of the region
      - `roles` Role[], nullable, required — The roles of the account
        - `extras` object, nullable, required — Extra data associated with the role
        - `rating` integer, required — The higher the more presedence it has
        - `role` 'user' | 'donator' | 'staff' | 'developer' | 'partner' | 'owner' | 'amethyst' | 'amber' | 'emerald' | 'sapphire' | 'ruby' | 'diamond' | 'contributor' | 'early_supporter' | 'beta' | 'translator' | 'top_100' | 'badge_scout' | 'nitro_booster' | 'astral' | 'nebula', required
      - `state` LeaderboardState, nullable
        - `name` string, required — The name of the state
      - `steamId` string, required — The steam id
      - `steamSetsScore` integer, required — The steam sets score
      - `steamSetsVanity` string, required — The vanity of the account
      - `steamVanity` string, required — The vanity of the account
      - `themeColor` string, nullable, required — Donator profile theme color as #RRGGBB (no alpha), null when unset or the account no longer holds an entitling role
      - `vacBans` integer, required — The number of vac bans
      - `xp` integer, required — The number of xp the account has
    - `accountId` integer, required — The account id
    - `blockedLogins` integer, required — How many sign-ins account.login refused while the restriction was in force
    - `feedback` V1AdminOptOutFeedback, nullable, required
      - `comment` string, nullable, required — What the account wrote, if anything
      - `reason` 'privacy' | 'not_useful' | 'inaccurate_data' | 'unwanted_attention' | 'other', nullable, required — The preset reason the account picked, if any
    - `kind` 'owner' | 'self' | 'staff', required — owner when the owner hid the account, self for an opt-out, staff for a restriction staff applied
    - `lastBlockedLoginAt` string, date-time, nullable, required — When account.login last refused a sign-in. Null when it never did
    - `reason` string, nullable, required — The stored restriction reason, staff-facing. Null when the owner hid the account
    - `restrictedAt` string, date-time, nullable, required — When the restriction was first applied. Null when the owner hid the account
    - `restrictedBy` LeaderboardAccount, nullable, required
      - `animatedAvatar` string, required — The animated avatar of the account
      - `apps` integer, required — The number of apps the account has
      - `avatar` string, required — The avatar hash of the account
      - `avatarFrame` string, required — The avatar frame of the account
      - `awardsGiven` integer, required — The number of awards the account has
      - `awardsReceived` integer, required — The number of awards the account has
      - `background` string, required — The background of the account
      - `badges` integer, required — The number of badges the account has
      - `bans` integer, required — The number of bans
      - `city` LeaderboardCity, nullable
        - `name` string, required — The name of the city
      - `country` LeaderboardCountry, nullable
        - `code` string — The code of the country
        - `name` string, required — The name of the country
      - `createdAt` string, date-time, required — The time the account was created
      - `donated` integer, required — The total of donations the account has
      - `economyBan` string, required — The economy ban of the account
      - `foilBadges` integer, required — The number of foil badges the account has
      - `friends` integer, required — The number of friends the account has
      - `gameBans` integer, required — The number of game bans
      - `level` integer, required — The level of the account
      - `miniBackground` string, required — The mini background of the account
      - `name` string, required — The name of the account
      - `nameEffect` 'none' | 'rainbow' | 'glitch' | 'shadow' | 'neon' | 'retro' | 'stamped' | 'shatter' | 'typewriter' | 'vaporwave' | 'sunken', required — Donator name effect, none when unset or the account no longer holds an entitling role
      - `normalBadges` integer, required — The number of normal badges the account has
      - `playtime` integer, required — The playtime of the account
      - `pointsGiven` integer, required — The number of points the account has
      - `pointsReceived` integer, required — The number of points the account has
      - `privacy` 'public' | 'private' | 'friends_only', required — The privacy of the account
      - `region` LeaderboardRegion, nullable
        - `name` string, required — The name of the region
      - `roles` Role[], nullable, required — The roles of the account
        - `extras` object, nullable, required — Extra data associated with the role
        - `rating` integer, required — The higher the more presedence it has
        - `role` 'user' | 'donator' | 'staff' | 'developer' | 'partner' | 'owner' | 'amethyst' | 'amber' | 'emerald' | 'sapphire' | 'ruby' | 'diamond' | 'contributor' | 'early_supporter' | 'beta' | 'translator' | 'top_100' | 'badge_scout' | 'nitro_booster' | 'astral' | 'nebula', required
      - `state` LeaderboardState, nullable
        - `name` string, required — The name of the state
      - `steamId` string, required — The steam id
      - `steamSetsScore` integer, required — The steam sets score
      - `steamSetsVanity` string, required — The vanity of the account
      - `steamVanity` string, required — The vanity of the account
      - `themeColor` string, nullable, required — Donator profile theme color as #RRGGBB (no alpha), null when unset or the account no longer holds an entitling role
      - `vacBans` integer, required — The number of vac bans
      - `xp` integer, required — The number of xp the account has
  - `summary` V1AdminHiddenAccountsSummary, required
    - `owner` integer, required — Accounts the owner hid
    - `reasons` V1AdminOptOutReasonCount[], required — How often each opt-out reason was given, most common first
      - `count` integer, required — How many opt-outs in force gave it
      - `reason` 'privacy' | 'not_useful' | 'inaccurate_data' | 'unwanted_attention' | 'other', required — The preset reason
    - `self` integer, required — Opt-outs in force
    - `staff` integer, required — Staff restrictions in force
  - `total` integer, required — How many accounts match the kind

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Entity
- `500` — Internal Server Error

## Changes

> 25 revisions in range; 1 not diffed.

- **2026-10-02** `cc0e4f2c3cfb` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/steamsets/apis/steamsets-api/changes/v1/admin.listHiddenAccounts/post.md)

---

[API](https://skmtc.dev/steamsets/apis/steamsets-api.md) · [All operations](https://skmtc.dev/steamsets/apis/steamsets-api/llms.txt) · [OpenAPI document](https://skmtc.dev/steamsets/apis/steamsets-api/revisions/940595f0083c?raw)
