# List grouped Google posts

`GET /google-post-groups`

Returns the grouped Google posts (multi-shop posts sharing a batch) of
one shop (`shop_id`) or all your shops, sorted by creation date
descending. A group is a set of Google posts published together across
several shops from a shared template; each row carries the batch id,
template content, post type, shop count and names, aggregated status
and schedule.

Requires the `google_posts:read` scope.

**Returns** a `data` array of up to `limit` groups and a `pagination`
object. Fetch the next page by passing `pagination.next_cursor` back as
`cursor`, until `has_more` is `false`. Use
`/google-post-groups/{batch_id}` for the full per-shop detail.

## Example request

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

## Query parameters

- `shop_id` (string) – Restrict to a single shop (omit to query all your shops)
- `search` (string) – Search in the group template content (case-insensitive, literal 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 grouped Google posts

```json
{
  "data": [
    {
      "batch_id": "66d0e1f2a3b4c5d6e7f8a9b0",
      "created_at": "2026-08-01T10:00:00Z",
      "post_type": "STANDARD",
      "per_shop": false,
      "post_content": "Summer menu is live at {shopName}!",
      "medias": [
        "https://res.cloudinary.com/dokaa/image/upload/menu.jpg"
      ],
      "scheduled_at": null,
      "shop_count": 3,
      "shop_names": [
        "Pizza Marcel",
        "Pizza Marcel Vieux-Lille",
        "Pizza Marcel Wazemmes"
      ],
      "status": "ended"
    }
  ],
  "pagination": {
    "next_cursor": null,
    "has_more": false
  }
}
```

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

### 403 – The API key does not grant access to this resource

### 422 – Invalid request parameters

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