GroupService
Manages recipient groups used for campaign audience targeting. Groups are named collections of users that can span teams and departments.
Methods
Section titled “Methods”| Method | Description |
|---|---|
CreateGroup | Create a new group |
GetGroup | Get a group by ID |
ListGroups | List groups for the organization |
UpdateGroup | Update a group’s name or description |
DeleteGroup | Delete a group |
AddGroupMembers | Add members to a group |
RemoveGroupMembers | Remove members from a group |
ListGroupMembers | List members of a group |
GetUserGroupMemberships | Get all groups a user belongs to |
CreateGroup
Section titled “CreateGroup”Authorization: Requires MANAGE_GROUPS permission
Request: CreateGroupRequest
Section titled “Request: CreateGroupRequest”| Field | Type | Description |
|---|---|---|
name | string | Group name. Max 200 characters. |
description | string | Group description. Max 1000 characters. |
Response: CreateGroupResponse
Section titled “Response: CreateGroupResponse”| Field | Type | Description |
|---|---|---|
group | Group | The created group. |
GetGroup
Section titled “GetGroup”Authorization: Requires VIEW_GROUPS permission
Request: GetGroupRequest
Section titled “Request: GetGroupRequest”| Field | Type | Description |
|---|---|---|
id | string | Group ID. |
Response: GetGroupResponse
Section titled “Response: GetGroupResponse”| Field | Type | Description |
|---|---|---|
group | Group | The group. |
ListGroups
Section titled “ListGroups”Authorization: Requires VIEW_GROUPS permission
Request: ListGroupsRequest
Section titled “Request: ListGroupsRequest”| Field | Type | Description |
|---|---|---|
pagination | Pagination | Pagination parameters. |
Response: ListGroupsResponse
Section titled “Response: ListGroupsResponse”| Field | Type | Description |
|---|---|---|
groups | Group[] | List of groups. |
pagination | PaginationMeta | Pagination metadata. |
UpdateGroup
Section titled “UpdateGroup”Authorization: Requires MANAGE_GROUPS permission
Request: UpdateGroupRequest
Section titled “Request: UpdateGroupRequest”| Field | Type | Description |
|---|---|---|
id | string | Group ID. |
name | string | Updated name. |
description | string | Updated description. |
Response: UpdateGroupResponse
Section titled “Response: UpdateGroupResponse”| Field | Type | Description |
|---|---|---|
group | Group | The updated group. |
DeleteGroup
Section titled “DeleteGroup”Authorization: Requires MANAGE_GROUPS permission
Request: DeleteGroupRequest
Section titled “Request: DeleteGroupRequest”| Field | Type | Description |
|---|---|---|
id | string | Group ID to delete. |
Response: DeleteGroupResponse
Section titled “Response: DeleteGroupResponse”Empty response on success.
AddGroupMembers
Section titled “AddGroupMembers”Authorization: Requires MANAGE_GROUPS permission
Request: AddGroupMembersRequest
Section titled “Request: AddGroupMembersRequest”| Field | Type | Description |
|---|---|---|
group_id | string | Group ID. |
user_ids | string[] | User IDs to add. Max 1000 per request. |
Response: AddGroupMembersResponse
Section titled “Response: AddGroupMembersResponse”| Field | Type | Description |
|---|---|---|
added_count | int32 | Number of members added. |
RemoveGroupMembers
Section titled “RemoveGroupMembers”Authorization: Requires MANAGE_GROUPS permission
Request: RemoveGroupMembersRequest
Section titled “Request: RemoveGroupMembersRequest”| Field | Type | Description |
|---|---|---|
group_id | string | Group ID. |
user_ids | string[] | User IDs to remove. |
Response: RemoveGroupMembersResponse
Section titled “Response: RemoveGroupMembersResponse”| Field | Type | Description |
|---|---|---|
removed_count | int32 | Number of members removed. |
ListGroupMembers
Section titled “ListGroupMembers”Authorization: Requires VIEW_GROUPS permission
Request: ListGroupMembersRequest
Section titled “Request: ListGroupMembersRequest”| Field | Type | Description |
|---|---|---|
group_id | string | Group ID. |
pagination | Pagination | Pagination parameters. |
Response: ListGroupMembersResponse
Section titled “Response: ListGroupMembersResponse”| Field | Type | Description |
|---|---|---|
users | User[] | List of group members. |
pagination | PaginationMeta | Pagination metadata. |
GetUserGroupMemberships
Section titled “GetUserGroupMemberships”Authorization: Authenticated user (own memberships) or VIEW_GROUPS permission
Request: GetUserGroupMembershipsRequest
Section titled “Request: GetUserGroupMembershipsRequest”| Field | Type | Description |
|---|---|---|
user_id | string | User ID. |
Response: GetUserGroupMembershipsResponse
Section titled “Response: GetUserGroupMembershipsResponse”| Field | Type | Description |
|---|---|---|
memberships | UserGroupMembership[] | Groups the user belongs to. |
Group Message
Section titled “Group Message”| Field | Type | Description |
|---|---|---|
id | string | Unique identifier. |
name | string | Group name. |
description | string | Group description. |
member_count | int32 | Number of members. |
created_at | Timestamp | Creation timestamp. |
updated_at | Timestamp | Last update timestamp. |