---
title: "Social sets"
description: "List your Pallyy social sets and their connected accounts via the API. Almost every other endpoint needs a social set id."
category: "endpoints"
emoji: "👥"
order: 1
datePublished: "2026-08-20"
dateUpdated: "2026-08-20"
---

A social set groups the social accounts you manage together, one set per brand or client. Post sets and media always belong to a social set, so listing your sets is usually the first call you make: almost every other endpoint takes a `socialSetId`.

Social sets are read-only over the API. If your key is [restricted to specific social sets](/docs/api/authentication), only those sets are visible.

## List social sets

```
GET /v1/social-sets
```

```bash
curl https://app.pallyy.com/api/v1/social-sets \
  -H "Authorization: Bearer pallyy_your_api_key"
```

Returns every social set the key can access. This list is not paginated:

```json
{
  "items": [
    {
      "id": "665f1c2ab7e2a4d1f0a1b2c3",
      "name": "My Brand",
      "timezone": "Europe/Rome",
      "defaultPostTime": "09:30",
      "thumbnailUrl": "https://...",
      "accounts": [
        {
          "id": "665f1c2ab7e2a4d1f0a1b2c4",
          "type": "INSTAGRAM",
          "name": "My Brand",
          "handle": "mybrand",
          "thumbnailUrl": "https://...",
          "accessToken": { "hasError": false }
        }
      ],
      "createdAt": "2026-01-12T09:00:00.000Z",
      "updatedAt": "2026-08-01T10:00:00.000Z"
    }
  ]
}
```

## Get a social set

```
GET /v1/social-sets/{id}
```

Returns a single social set, or a `404` if the id does not exist or is outside the key's restriction.

## The social set object

| Field | Type | Meaning |
| --- | --- | --- |
| `id` | string | The social set id, used as `socialSetId` everywhere else |
| `name` | string | Display name |
| `timezone` | string | IANA timezone the set schedules in, if configured |
| `defaultPostTime` | string | Default posting time as `HH:mm`, if configured |
| `thumbnailUrl` | string | Avatar shown in Pallyy, if set |
| `accounts` | array | The connected social accounts |
| `createdAt` | string | ISO 8601 creation time |
| `updatedAt` | string | ISO 8601 last update time |

Each entry in `accounts` describes one connected profile:

| Field | Type | Meaning |
| --- | --- | --- |
| `id` | string | The account id within Pallyy |
| `type` | string | One of `INSTAGRAM`, `FACEBOOK`, `TWITTER`, `LINKEDIN_PERSONAL`, `LINKEDIN_PAGE`, `GMB`, `PINTEREST`, `TIKTOK`, `YOUTUBE`, `THREADS`, `BLUESKY` |
| `name` | string | Profile display name |
| `handle` | string | Profile handle or username |
| `thumbnailUrl` | string | Profile picture |
| `accessToken.hasError` | boolean | `true` when the connection has expired and needs to be reauthorized in Pallyy |

The `type` values are the same `accountType` values you target when [creating post sets](/docs/api/post-sets).
