# List shops eligible for grouped posts

`GET /google-post-groups/eligible-shops`

Returns the shops of your key perimeter with their grouped-post
eligibility, sorted by name. A shop is eligible (`is_eligible`) when
its Google Business Profile is connected, or when it is a demo shop
(eligible without a real Google connection: `is_google_connected` and
`is_eligible` stay distinct on purpose). Keys with an unrestricted
perimeter get only eligible shops; scoped keys get every shop of
their perimeter, flags included.

Requires the `google_posts:read` scope.

**Returns** a `data` array of up to `limit` shops and a `pagination`
object. Fetch the next page by passing `pagination.next_cursor` back as
`cursor`, until `has_more` is `false`.

## Example request

```bash
curl "https://api.dokaa.app/v1/google-post-groups/eligible-shops" \
  -H "Authorization: Bearer dk_live_..."
```

## Query parameters

- `search` (string) – Search by shop name or slug (case-insensitive, partial match)
- `cursor` (string) – Opaque cursor from the previous response's `pagination.next_cursor`
- `limit` (integer) (default: 25; min: 1; max: 100) – Number of items per page

## Responses

### 200 – Paginated list of shops with their grouped-post eligibility

```json
{
  "data": [
    {
      "id": "64f1a2b3c4d5e6f7a8b9c0d1",
      "name": "Pizza Marcel",
      "slug": "pizza-marcel",
      "is_google_connected": true,
      "is_demo": false,
      "is_eligible": true
    }
  ],
  "pagination": {
    "next_cursor": null,
    "has_more": false
  }
}
```

### 401 – Missing, invalid, or revoked API key

### 422 – Invalid request parameters

Errors are `application/problem+json` (RFC 9457) with `type`, `title`, `status` and `detail` fields.
