---
title: "List blocks that repeat on 3 or more pages"
method: GET
path: "/api/v1/sites/{slug}/shared-sections/suggestions"
tags: ["Content"]
---

# List blocks that repeat on 3 or more pages

`GET /api/v1/sites/{slug}/shared-sections/suggestions`

## Request

- Base URL: `https://api.dotsy.ai`
- URL: `https://api.dotsy.ai/api/v1/sites/{slug}/shared-sections/suggestions`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Blocks with an exact copy on at least 3 pages that are not shared yet, best first, minus the ones dismissed on this site. Also runs of 2–6 blocks that sit next to each other and repeat together (`blocks` > 1): the longest wins, and a block that is part of a suggested run is not suggested on its own. Read from the site's index — no page is read.

## Path parameters

- `slug` string, required

## Query parameters

- `limit` integer
- `key` string

## Response `200`

The suggestions.

- SharedSectionSuggestions
  - `suggestions` SharedSectionSuggestion[], required
    - `id` string, required: Stable id (the block hash, or for a run its id). Dismiss with it.
    - `pages` integer, required: Pages with an exact copy (3 or more).
    - `blocks` integer, required: How many elements it is: 1 for one block; 2–6 for a run of blocks that sit next to each other and repeat together (share it with `sample.selectors`, it gets one wrapper).
    - `bytes` integer, required
    - `rank` number, required: Higher first: more pages and bigger blocks rank higher.
    - `why` string, required
    - `proposedName` string, required
    - `sample` object, required: One page that has it and its selector there — send `selector` (one block) or `selectors` (a run) to analyze or share.
      - `key` string, required
      - `selector` string, required: The element's selector; for a run, its first element's.
      - `selectors` string[]: A run: every element's selector, in page order.
    - `here` union[]: With `key`: its copies on that page — one selector per copy, or for a run one array of selectors per copy. Absent when that page has none.
      - union
        - string
        - string[]
  - `indexWarming` boolean, required

## Other responses

- `400`: A query value is not valid.
- `401`: Missing or invalid credentials.
- `404`: No such site.

---

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