Was this helpful?
Yes
No

Setup

To use the Groups API, install the @wix/groups package using npm or Yarn:

Copy
1
npm install @wix/groups

or

Copy
1
yarn add @wix/groups

Then import { groups } from @wix/groups:

Copy
1
import { groups } from '@wix/groups'
Was this helpful?
Yes
No

createGroup( )

Creates a group.

The createGroup() function returns a Promise that resolves to a newly-created group after it has successfully been created. The new group is added to the Groups List page of your site.

Site admins can choose to allow site members to create a group. They can also require that site members request their approval when creating a group. This setting can be found in your site's Dashboard under Groups Application > General Settings > Group Creation. If set to admin approval required, a site member uses this function to create a group, and the group becomes a createRequest with a status of PENDING until the group is reviewed. The default is set to site members with admin approval.

Copy
function createGroup(group: Group, options: CreateGroupOptions): Promise<Group>
Method Parameters
groupGroupRequired
Group to create.

optionsCreateGroupOptions
Optional fields for group creation.
Returns
Return Type:Promise<Group>
Was this helpful?
Yes
No

deleteGroup( )

Deletes a group.

The deleteGroup() function returns a Promise resolves to the deleted group after it has successfully been deleted. Only site admins and group admins can delete their group. After the group is deleted, it is removed from both your site and the site's Dashboard.

Copy
function deleteGroup(groupId: string): Promise<DeleteGroupResponse>
Method Parameters
groupIdstringRequired
ID of the group to delete.
Returns
Return Type:Promise<DeleteGroupResponse>
Was this helpful?
Yes
No

getGroup( )

Gets a group by ID.

The getGroup() function returns a Promise that resolves to a group whose ID matches the given ID.

Note: For SECRET groups, only site admins, group admins, and group members can see a group and its content.

Copy
function getGroup(groupId: string, options: GetGroupOptions): Promise<Group>
Method Parameters
groupIdstringRequired
ID of the group to retrieve.

optionsGetGroupOptions
Returns
Return Type:Promise<Group>
Was this helpful?
Yes
No

getGroupBySlug( )

Gets a group by slug.

The getGroupBySlug() function returns a Promise that resolves to a group whose slug matches the given slug. The slug is the end of a group's URL that refers to a specific group. For example, if a group's URL is https:/example.com/groups/{my-fitness-group}, the slug is my-fitness-group. The slug is case-sensitive. It is generally based on the group name, but for secret groups it is an autogenerated string of characters, for example, https:/example.com/groups/{5D3yTX}.

Note: For SECRET groups, only site admins, group admins, and group members can see a group and its content.

Copy
function getGroupBySlug(slug: string, options: GetGroupBySlugOptions): Promise<GetGroupBySlugResponse>
Method Parameters
slugstringRequired
Unique part of the group's URL, for example group-1 in https:/example.com/groups/group-1. Pass only the slug. Case-sensitive.

optionsGetGroupBySlugOptions
Returns
Return Type:Promise<GetGroupBySlugResponse>
Was this helpful?
Yes
No

listGroups( )

Lists groups.

The listGroups() function returns a Promise that resolves to a list of up to 1,000 groups on your site. Sorts by default to _createdDate in descending order.

Notes:

  • For SECRET groups, only site admins, group admins, and group members can see a list of group and their content.
  • This function's parameters are positional, and must be specified in the sequence shown in the syntax below. When specifying a parameter, use null as a placeholder for any unspecified parameters. For example, to specify limit only, call listGroups(paging, null).
Copy
function listGroups(options: ListGroupsOptions): Promise<ListGroupsResponse>
Method Parameters
optionsListGroupsOptions
Limit and offset options.
Returns
Return Type:Promise<ListGroupsResponse>
Was this helpful?
Yes
No

queryGroups( )

Creates a query to retrieve a list of groups.

Note: For SECRET groups, only site admins, group admins, and group members can query groups and their content.

The queryGroups() function builds a query to retrieve a list of all groups, and returns a GroupsQueryBuilder object.

PROPERTYSUPPORTED FILTERS & SORTING
titleeq(),ne(),exists(),in(),hasSome(),startsWith(),ascending(),descending()
membersCountascending(),descending()
_createdDateascending(),descending()
recentActivityDateascending(),descending()
Copy
function queryGroups(options: QueryGroupsOptions): GroupsQueryBuilder
Method Parameters
optionsQueryGroupsOptions
Returns
Return Type:GroupsQueryBuilder
Was this helpful?
Yes
No

updateGroup( )

Updates a group.

The updateGroup() function returns a Promise that resolves to the updated group. Only site admins and group admins can update their group. Only the fields in the groupInfo object parameter can be updated. Specify which fields to update. Unspecified fields remain the same.

Notes:

  • When a group's privacyStatus is updated from PRIVATE to PUBLIC, all pending join requests for that group are automatically approved.
  • When a group's privacyStatus is updated from PRIVATE to SECRET, all pending join requests for that group are automatically rejected.
  • When a public or private group's name is updated, the slug is updated to reflect the new group name.
Copy
function updateGroup(_id: string, group: UpdateGroup): Promise<Group>
Method Parameters
_idstringRequired
Group ID.

groupUpdateGroupRequired
Returns
Return Type:Promise<Group>
Was this helpful?
Yes
No