WA Group – Create Group Public API

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

FieldTypeRequiredDescription
wabaNumberstringYesWhatsApp Business (WABA) number where the group will be created.
subjectstringYesGroup subject/name. Max 128 characters.
descriptionstringNoGroup description. Max 2048 characters.
joinApprovalModestringNoOne of auto_approve or approval_required. Controls join request policy.
groupIdstringNoYour own client custom group ID (max 50 characters).

Notes:

  • groupId is stored internally as clientCustomGroupId and is the identifier you will see in Group Webhooks as groupId.
  • If joinApprovalMode is 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 groupId in the request, the same value is returned.
    • If you did not provide groupId, the system generates an ID and returns it here.

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, invalid joinApprovalMode).
    • No integration found for the given wabaNumber in this organization.
  • 401 Unauthorized
    • Missing or invalid Public API key.
  • 403 Forbidden
    • Public API key does not have permission for the given wabaNumber.
  • 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:

  1. The HTTP response gives you the (groupId).
  2. A GROUP_CREATED webhook is sent withgroupId.
  3. Future membership events (GROUP_PARTICIPANT_JOINED, GROUP_PARTICIPANT_LEFT, GROUP_PARTICIPANT_REMOVED) also reference this groupId.

Always use the groupId from this API as your primary key to join HTTP responses and webhook events in your system.