Fetches the details of a specific group by its ID. The authenticated user must be a member of the group.
The unique identifier of the group.
A promise that resolves to the group object.
Fetches a public summary of a group using an invite code. This does not require authentication.
The unique identifier of the group.
The invite code for the group.
A promise that resolves to the group's public summary.
Creates a new group.
The name of the new group.
The group's photo/avatar as a Blob or Buffer.
A promise that resolves to the newly created group object.
Updates an existing group's details. The authenticated user must be an admin of the group.
The unique identifier of the group to update.
An object containing the data to update (name and/or photo).
A promise that resolves to the updated group object.
Deletes a group. The authenticated user must be an admin of the group.
The unique identifier of the group to delete.
A promise that resolves when the group is successfully deleted.
Renews the invite code for a group. The authenticated user must be an admin of the group.
The unique identifier of the group.
A promise that resolves to the updated group object with a new invite link.
Joins a group using an invite code.
The unique identifier of the group to join.
The invite code for the group.
A promise that resolves when the user has successfully joined the group.
Leaves a group. The authenticated user must be a member of the group.
The unique identifier of the group to leave.
A promise that resolves when the user has successfully left the group.
Removes a member from a group. The authenticated user must be an admin of the group.
The unique identifier of the group.
The unique identifier of the member to remove.
A promise that resolves when the member is successfully removed.
Fetches the available challenge templates that can be used to create group challenges.
A promise that resolves to a paginated list of challenge templates.
Creates a new challenge for a group from a template. The authenticated user must be an admin of the group.
The unique identifier of the group.
An object containing the challenge details (template ID, start, and end times).
A promise that resolves to the newly created challenge.
Updates an existing group challenge. The authenticated user must be an admin of the group.
The unique identifier of the group.
The unique identifier of the challenge to update.
An object containing the data to update (start and/or end times).
A promise that resolves to the updated challenge.
Deletes a group challenge. The authenticated user must be an admin of the group.
The unique identifier of the group.
The unique identifier of the challenge to delete.
A promise that resolves when the challenge is successfully deleted.
Fetches observations for a specific group. The authenticated user must be a member of the group.
The unique identifier of the group.
A promise that resolves to a list of observations. Note: This response is not paginated in the standard way.
Fetches the groups for the current authenticated user.