This document describes the Public API endpoint used to create WhatsApp groups.
Endpoint
Create WhatsApp group
POST https://public.doubletick.io/whatsapp/wa-group/create
Request
Body
| Field | Type | Required | Description |
|---|---|---|---|
wabaNumber | string | Yes | WhatsApp Business (WABA) number where the group will be created. |
subject | string | Yes | Group subject/name. Max 128 characters. |
description | string | No | Group description. Max 2048 characters. |
joinApprovalMode | string | No | One of auto_approve or approval_required. Controls join request policy. |
groupId | string | No | Your own client custom group ID (max 50 characters). |
Notes:
groupIdis stored internally asclientCustomGroupIdand is the identifier you will see in Group Webhooks asgroupId.- If
joinApprovalModeis omitted, the platform uses the integration’s default.
Example request
{
"wabaNumber": "911111111111",
"subject": "New Support – Jan 2026",
"description": "Private support group for new customers.",
"joinApprovalMode": "approval_required",
"groupId": "new_support_2026"
}
Response
Success (200)
On success, you receive:
{
"success": true,
"groupId": "new_support_2026"
}
groupId: your client custom group ID.- If you provided
groupIdin the request, the same value is returned. - If you did not provide
groupId, the system generates an ID and returns it here.
- If you provided
After creation, you will also receive a GROUP_CREATED webhook for this group.
Error responses
Common error scenarios:
- 400 Bad Request
- Missing or invalid fields (e.g. empty
subject, invalidjoinApprovalMode). - No integration found for the given
wabaNumberin this organization.
- Missing or invalid fields (e.g. empty
- 401 Unauthorized
- Missing or invalid Public API key.
- 403 Forbidden
- Public API key does not have permission for the given
wabaNumber.
- Public API key does not have permission for the given
- 422 Unprocessable Entity
- Business rule failures (e.g. integration is disabled, internal validation errors).
- 429 Too Many Requests
- Rate-limiting applied at org/user level or IP fallback.
Relationship with Group Webhooks
When you create a group via this endpoint:
- The HTTP response gives you the (
groupId). - A
GROUP_CREATEDwebhook is sent withgroupId. - Future membership events (
GROUP_PARTICIPANT_JOINED,GROUP_PARTICIPANT_LEFT,GROUP_PARTICIPANT_REMOVED) also reference thisgroupId.
Always use the groupId from this API as your primary key to join HTTP responses and webhook events in your system.
