Approve WhatsApp group join requests
/v1/whatsapp/groups/{group_id}/join-requests/batch-approveconst result = await bird.whatsapp.groups.joinRequests.approve(
"wag_01krdgeqcxet5s7t44vh8rt9mg",
{ join_request_ids: ["wgj_01krdgeqcxet5s7t44vh8rt9mg"] },
);
console.log(result.decided.length, result.failed.length);result = client.whatsapp.groups.join_requests.approve(
"wag_01krdgeqcxet5s7t44vh8rt9mg",
join_request_ids=["wgj_01krdgeqcxet5s7t44vh8rt9mg"],
)
print(len(result.decided), len(result.failed))result, err := client.Whatsapp.Groups.JoinRequests.Approve(context.Background(), "wag_01krdgeqcxet5s7t44vh8rt9mg", bird.WhatsappGroupsJoinRequestsApproveParams{
JoinRequestIDs: []string{"wgj_01krdgeqcxet5s7t44vh8rt9mg"},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(len(*result.Decided), len(*result.Failed))$result = $bird->whatsapp->groups->joinRequests->approve(
'wag_01krdgeqcxet5s7t44vh8rt9mg',
(new WhatsAppGroupJoinRequestDecision())->setJoinRequestIds(['wgj_01krdgeqcxet5s7t44vh8rt9mg']),
);
echo count($result->getDecided() ?? []), ' ', count($result->getFailed() ?? []);bird whatsapp groups join-requests approve <group-id> \
--join-request-ids wgj_01krdgeqcxet5s7t44vh8rt9mgcurl -X POST "https://us1.platform.bird.com/v1/whatsapp/groups/{group_id}/join-requests/batch-approve" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"join_request_ids": [
"wgj_01krdgeqcxet5s7t44vh8rt9mg"
]
}'{
"decided": [
"wgj_01krdgeqcxet5s7t44vh8rt9mg"
],
"failed": [
{
"join_request_id": "wgj_01krdgeqcxet5s7t44vh8rt9mg",
"error": {
"description": "Group subject contains content that cannot be used.",
"meta_error_code": "2388024"
}
}
]
}
Approves the named join requests, up to 50 in one call.
WhatsApp decides each request on its own, so the batch can be part-applied:
the response lists the ones it accepted in decided and the rest in
failed with the reason each was refused. A refusal is usually a person
who has not accepted WhatsApp's current terms, which no retry fixes.
Each person approved can enter the group through its invite link. Re-read the group to see who has arrived.
A group holds 8 participants besides your business. Approving more than the
group has room for does not refuse the call: the requests that fit are
decided and the rest come back in failed, each saying the approval would
take the group past its participant limit. A group that is not active
does refuse the whole call, with a 409 WhatsAppGroupNotActive.
Parameters
group_idstringID of the group whose join requests are being decided.
Request Payload
join_request_idsThe join requests to act on, as returned by GET /v1/whatsapp/groups/{group_id}/join-requests. Each is decided on its own, so one can fail while the rest succeed. An ID that names no waiting request returns a 422 WhatsAppGroupJoinRequestNotFound. The 50 is Bird's own request bound, not a WhatsApp one: how many people the group can hold does not limit how many can queue at its link, so a rejection sweep is not held to the size of the group it is refusing entry to.
Response Payload
decidedThe join requests WhatsApp accepted the decision for. A person approved here can enter the group; a person rejected here sees the join button again.
failedThe join requests WhatsApp refused, each with its reason. Empty when the whole batch was applied.
Related resources
Continue with the documentation, guides and examples for this topic.