List Groups
A group is an arbitrary, organizational set of social accounts. Unlike a profile (at most one per account, meant to model a single brand across networks), a group is a free-form bag: an account can belong to many groups, and a group can hold any accounts — including several from the same network.
Groups are purely organizational. They are not wired into queues, posts, or contacts; use them to slice and filter accounts (for example in the UI, or via the ?group_id= filter on social accounts).
The group object
{
"id": "grp_9aB8cD7eF6gH5iJ4kL3mN2oP1q",
"name": "US Region",
"description": "All US-facing accounts",
"color": "#0ea5e9",
"account_ids": ["sa_...", "sa_..."],
"created_at": "2026-07-12T10:00:00.000Z",
"updated_at": "2026-07-12T10:00:00.000Z"
}
/v1/groups{ "groups": [ { "id": "grp_...", "name": "US Region", "account_ids": ["sa_..."], "...": "..." } ] } Create Group
/v1/groupsBody parameters
| Field | Type | Notes |
|---|---|---|
name | string | Required |
description | string | Optional |
color | string | Optional hex color |
account_ids | string[] | Optional initial members (sa_ ids) |
{ "group": { "id": "grp_...", "name": "US Region", "account_ids": ["sa_..."], "...": "..." } } If any account_ids entry does not belong to your workspace the request fails with 400 InvalidAccount (the offending id is echoed back as account_id).
Get Group
/v1/groups/:id{ "group": { "id": "grp_...", "name": "US Region", "account_ids": ["sa_..."], "...": "..." } } Update Group
/v1/groups/:idUpdate any of name, description, color. Passing account_ids replaces the group’s entire membership.
{
"group": {
"id": "grp_...",
"name": "US Region",
"account_ids": [
"sa_..."
],
"...": "..."
}
} Delete Group
/v1/groups/:idAccounts are not affected; only the group and its memberships are removed.
{ "ok": true } List Members
Manage membership without replacing the whole set.
/v1/groups/:id/members{ "account_ids": ["sa_...", "sa_..."] } Add Member
/v1/groups/:id/membersBody parameters
| Field | Type | Notes |
|---|---|---|
account_id | string | Required (sa_ id) |
Idempotent — adding an existing member is a no-op. Returns the updated member list. Fails with 400 InvalidAccount if the account is not in your workspace.
{ "account_ids": ["sa_...", "sa_..."] } Remove Member
/v1/groups/:id/members/:account_id{ "ok": true }