wakit
Groups

Groups API

Create, manage, and message WhatsApp groups via the API.

Management endpoints

These endpoints are available via the whatsapp-management edge function. Authenticate with a user JWT or API key.

Create a group

POST /functions/v1/whatsapp-management/groups

{
  "organization_id": "org-uuid",
  "organization_address": "phone_number_id",
  "subject": "VIP Support",
  "description": "Priority support channel"
}

List groups

GET /functions/v1/whatsapp-management/groups?organization_id=...&organization_address=...

Delete a group

DELETE /functions/v1/whatsapp-management/groups

{
  "organization_id": "org-uuid",
  "organization_address": "phone_number_id",
  "group_id": "group-id"
}
GET /functions/v1/whatsapp-management/groups/invite?organization_id=...&organization_address=...&group_id=...

Join requests

# List pending requests
GET /functions/v1/whatsapp-management/groups/join-requests?organization_id=...&organization_address=...&group_id=...

# Approve
POST /functions/v1/whatsapp-management/groups/join-requests
{ "organization_id": "...", "organization_address": "...", "group_id": "...", "join_requests": ["request_id"] }

# Reject
DELETE /functions/v1/whatsapp-management/groups/join-requests
{ "organization_id": "...", "organization_address": "...", "group_id": "...", "join_requests": ["request_id"] }

REST API (api-key auth)

The standard REST API supports groups via the group_id parameter.

Send a message to a group

POST /functions/v1/api/messages
Content-Type: application/json
Authorization: Bearer {API_KEY}

{
  "group_id": "GROUP_ID",
  "text": "Hello group!",
  "account_phone": "5215588392274"
}

Get group conversation

GET /functions/v1/api/conversation?group_id=GROUP_ID&account_phone=5215588392274

Response includes messages with content.sender indicating who sent each message.

Get group messages

GET /functions/v1/api/messages?group_id=GROUP_ID&limit=50

List conversations (includes groups)

GET /functions/v1/api/conversations?limit=10

Group conversations return a group object instead of contact:

{
  "conversations": [
    {
      "group": { "id": "GROUP_ID", "name": "VIP Support" },
      "unread": 3,
      "last_message": { ... }
    },
    {
      "contact": { "name": "Maria", "phone": "5215551234" },
      "unread": 0,
      "last_message": { ... }
    }
  ]
}

On this page