Skip to Content
TurbineWhats.app
TurbineWhats.app
API schemaPricingWorkspaceOverview
WhatsApp sessionsText messagesImages and PDFsContacts, chats, and groupsWebhooksGroupsGroup operationsMessage operationsChat operationsContact operationsPresence operationsProfile operationsLabel operationsWhatsApp channel operationsStatus operationsBusiness catalog operationsCall operations
API guides

Group operations

Exact methods, permissions, request bodies and query fields for group operations.

Read as MarkdownOpenAPI specification

Get all groups for a session#

GET /api/v1/channels/{channel_id}/groups

Token scope: read. Paid access and a ready, customer-owned session are required. List responses are bounded; use documented pagination parameters.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

Query parameterRequiredSchema
limitNo{"type":"integer","minimum":1,"maximum":100}
offsetNo{"type":"integer","minimum":0,"maximum":10000}
Request schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Create a new group#

POST /api/v1/channels/{channel_id}/groups

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

nameRequired
string

Maximum 100 characters. See JSON schema for all validation constraints.

participantsRequired
array

Maximum 100 items. Individual WhatsApp IDs; consent is required.

Request schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100
    },
    "participants": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4096
      }
    }
  },
  "required": [
    "name",
    "participants"
  ],
  "additionalProperties": false
}

Preview a group from its invite code, without joining#

GET /api/v1/channels/{channel_id}/groups/join-info

Token scope: read. Paid access and a ready, customer-owned session are required. List responses are bounded; use documented pagination parameters.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

Query parameterRequiredSchema
codeYes{"type":"string","maxLength":4096}
Request schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Get detailed group info#

GET /api/v1/channels/{channel_id}/groups/{groupId}

Token scope: read. Paid access and a ready, customer-owned session are required. List responses are bounded; use documented pagination parameters.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

Request schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Join a group via invite code#

POST /api/v1/channels/{channel_id}/groups/join

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

inviteCodeRequired
string

Maximum 128 characters. See JSON schema for all validation constraints.

Request schema
{
  "type": "object",
  "properties": {
    "inviteCode": {
      "type": "string",
      "maxLength": 128
    }
  },
  "required": [
    "inviteCode"
  ],
  "additionalProperties": false
}

Get group settings (announce / locked / ephemeral timer / member-add mode)#

GET /api/v1/channels/{channel_id}/groups/{groupId}/settings

Token scope: read. Paid access and a ready, customer-owned session are required. List responses are bounded; use documented pagination parameters.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

Request schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Update group settings (announce / locked / ephemeral timer / member-add mode)#

PUT /api/v1/channels/{channel_id}/groups/{groupId}/settings

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

announceOptional
boolean

See JSON schema for all validation constraints.

lockedOptional
boolean

See JSON schema for all validation constraints.

ephemeralSecondsOptional
number

See JSON schema for all validation constraints.

memberAddModeOptional
string

Allowed: ["all","admins"]. Maximum 4096 characters. See JSON schema for all validation constraints.

Request schema
{
  "type": "object",
  "properties": {
    "announce": {
      "type": "boolean"
    },
    "locked": {
      "type": "boolean"
    },
    "ephemeralSeconds": {
      "type": "number",
      "minimum": 0
    },
    "memberAddMode": {
      "type": "string",
      "enum": [
        "all",
        "admins"
      ],
      "maxLength": 4096
    }
  },
  "additionalProperties": false,
  "required": []
}

Add participants to a group#

POST /api/v1/channels/{channel_id}/groups/{groupId}/participants

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

participantsRequired
array

Maximum 100 items. Individual WhatsApp IDs; consent is required.

Request schema
{
  "type": "object",
  "properties": {
    "participants": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4096
      }
    }
  },
  "required": [
    "participants"
  ],
  "additionalProperties": false
}

Remove participants from a group#

DELETE /api/v1/channels/{channel_id}/groups/{groupId}/participants

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

participantsRequired
array

Maximum 100 items. Individual WhatsApp IDs; consent is required.

Request schema
{
  "type": "object",
  "properties": {
    "participants": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4096
      }
    }
  },
  "required": [
    "participants"
  ],
  "additionalProperties": false
}

Promote participants to admin#

POST /api/v1/channels/{channel_id}/groups/{groupId}/participants/promote

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

participantsRequired
array

Maximum 100 items. Individual WhatsApp IDs; consent is required.

Request schema
{
  "type": "object",
  "properties": {
    "participants": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4096
      }
    }
  },
  "required": [
    "participants"
  ],
  "additionalProperties": false
}

Demote participants from admin#

POST /api/v1/channels/{channel_id}/groups/{groupId}/participants/demote

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

participantsRequired
array

Maximum 100 items. Individual WhatsApp IDs; consent is required.

Request schema
{
  "type": "object",
  "properties": {
    "participants": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4096
      }
    }
  },
  "required": [
    "participants"
  ],
  "additionalProperties": false
}

List pending join requests for a group#

GET /api/v1/channels/{channel_id}/groups/{groupId}/membership-requests

Token scope: read. Paid access and a ready, customer-owned session are required. List responses are bounded; use documented pagination parameters.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

Request schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Approve pending join requests#

POST /api/v1/channels/{channel_id}/groups/{groupId}/membership-requests/approve

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

participantsOptional
array

Maximum 100 items. Individual WhatsApp IDs; consent is required.

Request schema
{
  "type": "object",
  "properties": {
    "participants": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4096
      }
    }
  },
  "additionalProperties": false,
  "required": []
}

Reject pending join requests#

POST /api/v1/channels/{channel_id}/groups/{groupId}/membership-requests/reject

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

participantsOptional
array

Maximum 100 items. Individual WhatsApp IDs; consent is required.

Request schema
{
  "type": "object",
  "properties": {
    "participants": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4096
      }
    }
  },
  "additionalProperties": false,
  "required": []
}

Change group name/subject#

PUT /api/v1/channels/{channel_id}/groups/{groupId}/subject

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

subjectRequired
string

Maximum 100 characters. See JSON schema for all validation constraints.

Request schema
{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string",
      "maxLength": 100
    }
  },
  "required": [
    "subject"
  ],
  "additionalProperties": false
}

Change group description#

PUT /api/v1/channels/{channel_id}/groups/{groupId}/description

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

descriptionRequired
string

Maximum 1024 characters. See JSON schema for all validation constraints.

Request schema
{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "maxLength": 1024
    }
  },
  "required": [
    "description"
  ],
  "additionalProperties": false
}

Set this account's member label in a group#

PUT /api/v1/channels/{channel_id}/groups/{groupId}/member-label

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

labelRequired
string

Maximum 30 characters. See JSON schema for all validation constraints.

Request schema
{
  "type": "object",
  "properties": {
    "label": {
      "type": "string",
      "maxLength": 30
    }
  },
  "required": [
    "label"
  ],
  "additionalProperties": false
}

Leave a group#

POST /api/v1/channels/{channel_id}/groups/{groupId}/leave

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

Request schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Get the group's picture URL#

GET /api/v1/channels/{channel_id}/groups/{groupId}/picture

Token scope: read. Paid access and a ready, customer-owned session are required. List responses are bounded; use documented pagination parameters.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

Request schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Set the group's picture#

PUT /api/v1/channels/{channel_id}/groups/{groupId}/picture

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

urlOptional
string

Maximum 2048 characters. See JSON schema for all validation constraints.

base64Optional
string

Maximum 1400000 characters. See JSON schema for all validation constraints.

mimetypeOptional
string

Maximum 4096 characters. See JSON schema for all validation constraints.

Request schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2048
    },
    "base64": {
      "type": "string",
      "maxLength": 1400000,
      "pattern": "^[A-Za-z0-9+/]+={0,2}$"
    },
    "mimetype": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "additionalProperties": false,
  "required": []
}

Remove the group's picture#

DELETE /api/v1/channels/{channel_id}/groups/{groupId}/picture

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

Request schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Get group invite code/link#

GET /api/v1/channels/{channel_id}/groups/{groupId}/invite-code

Token scope: read. Paid access and a ready, customer-owned session are required. List responses are bounded; use documented pagination parameters.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

Request schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Revoke group invite code and generate new one#

POST /api/v1/channels/{channel_id}/groups/{groupId}/invite-code/revoke

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.

Request schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}

Groups

Previous Page

Message operations

Next Page

On this page

Get all groups for a sessionCreate a new groupPreview a group from its invite code, without joiningGet detailed group infoJoin a group via invite codeGet group settings (announce / locked / ephemeral timer / member-add mode)Update group settings (announce / locked / ephemeral timer / member-add mode)Add participants to a groupRemove participants from a groupPromote participants to adminDemote participants from adminList pending join requests for a groupApprove pending join requestsReject pending join requestsChange group name/subjectChange group descriptionSet this account's member label in a groupLeave a groupGet the group's picture URLSet the group's pictureRemove the group's pictureGet group invite code/linkRevoke group invite code and generate new one