---
title: "Admin List Sets"
method: GET
path: "/api/price-compare/admin/sets"
tags: ["Price Compare"]
---

# Admin List Sets

`GET /api/price-compare/admin/sets`

## Request

- Base URL: `https://data.getplace.io` (the document declares no server; this is the origin it was published from)
- URL: `https://data.getplace.io/api/price-compare/admin/sets`
- Auth: OAuth 2
  - Password
  - Token URL: `/api/auth/login`

Every benchmark in the database, newest first; the payloads are read but
not returned — the summary is computed from them here.

`q` is applied after the owners are resolved so that searching by e-mail
works — the owner lives in another database and cannot be joined against.
That is also why `limit` caps the RESULT rather than the read: limiting the
read first would hide a client's older benchmarks from their own e-mail
search and answer "none found", which is the one answer this endpoint must
never give wrongly. `MAX_ADMIN_SCAN` bounds the read instead.

## Query parameters

- `q` string, nullable: Match the benchmark name or the owner's e-mail
- `include_deleted` boolean
- `limit` integer

## Response `200`

Successful Response

- AdminSetRow[]
  - `id` string, required
  - `name` string, required
  - `user_id` string, required
  - `owner` Owner
    - `user_id` string, required
    - `email` string, nullable
    - `name` string, nullable
    - `source` 'local' | 'getplace'
    - `allow_menu_access` boolean, nullable
    - `can_sign_in` boolean, nullable
    - `grants` GrantSummary[]
      - `country_code` string, required
      - `chain_count` integer
      - `cities` string[]
  - `summary` SetSummary, required: What a benchmark is, read off its payload so the list can skip the blob. A payload is tens of kilobytes; fifty of them in one response is megabytes of store links and per-store overrides that the list would not render.
    - `my_chain` string, nullable
    - `my_chain_id` integer, nullable
    - `competitors` string[]
    - `rows_count` integer
    - `country` string, nullable
    - `city_id` string, nullable
    - `platform` string, nullable
    - `copied_from` string, nullable
  - `payload_bytes` integer, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `deleted_at` string, date-time, nullable
  - `deleted_by` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getplace/apis/getplace-insights-api.md) - [All operations](https://skmtc.dev/getplace/apis/getplace-insights-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getplace/apis/getplace-insights-api/revisions/0f337387603f?raw)
