Skip to main content
GET
/
api
/
v1
/
sessions
/
{sessionId}
/
groups
Manage groups
curl --request GET \
  --url https://api.wadial.com/api/v1/sessions/{sessionId}/groups \
  --header 'Authorization: Bearer <token>'

List groups

GET /api/v1/sessions/{sessionId}/groups
Authorization: Bearer <api_key>

Get group metadata

GET /api/v1/sessions/{sessionId}/groups/{groupJid}
Authorization: Bearer <api_key>

Create a group

POST /api/v1/sessions/{sessionId}/groups
Authorization: Bearer <api_key>
Content-Type: application/json
{
  "subject": "Customer updates",
  "participants": ["[email protected]"],
  "description": "Order and delivery updates"
}

Update profile

PATCH /api/v1/sessions/{sessionId}/groups/{groupJid}/profile
Authorization: Bearer <api_key>
Content-Type: application/json
{
  "subject": "Priority customers",
  "description": "High-priority support updates"
}

Update participants

POST /api/v1/sessions/{sessionId}/groups/{groupJid}/participants
Authorization: Bearer <api_key>
Content-Type: application/json
{
  "action": "add",
  "participants": ["[email protected]"]
}
action can be add, remove, promote, or demote.

Update settings

PATCH /api/v1/sessions/{sessionId}/groups/{groupJid}/settings
Authorization: Bearer <api_key>
Content-Type: application/json
Boolean setting example:
{
  "setting": "announcement",
  "enabled": true
}
Mode examples:
{ "memberAddMode": "admin_add" }
{ "memberLinkMode": "all_member_link" }
{ "memberShareGroupHistoryMode": "all_member_share" }
Disappearing messages:
{
  "ephemeralDurationSeconds": 604800
}

Invites

Preview an invite:
POST /api/v1/sessions/{sessionId}/groups/invite/preview
Authorization: Bearer <api_key>
Content-Type: application/json
Join by invite:
POST /api/v1/sessions/{sessionId}/groups/join
Authorization: Bearer <api_key>
Content-Type: application/json
{ "code": "AbCdEfGhIjK" }
Fetch or rotate an invite code:
GET /api/v1/sessions/{sessionId}/groups/{groupJid}/invite-code
POST /api/v1/sessions/{sessionId}/groups/{groupJid}/invite/revoke
Authorization: Bearer <api_key>

Membership requests

GET /api/v1/sessions/{sessionId}/groups/{groupJid}/membership-requests
Authorization: Bearer <api_key>
POST /api/v1/sessions/{sessionId}/groups/{groupJid}/membership-requests
Authorization: Bearer <api_key>
Content-Type: application/json
{
  "action": "approve",
  "participants": ["[email protected]"]
}
action can be approve, reject, or cancel.

Leave groups

POST /api/v1/sessions/{sessionId}/groups/leave
Authorization: Bearer <api_key>
Content-Type: application/json
{
  "groupJids": ["[email protected]"]
}