Wasend

Revoke Group Invite Code

Revoke the invite code for a WhatsApp group and generate a new one.

Revoke Group Invite Code

This endpoint allows you to revoke the current invite code for a WhatsApp group. When an invite code is revoked, it becomes invalid, and a new one is automatically generated.

Endpoint

POST /{sessionId}/groups/{groupId}/invite-code/revoke

Headers

NameTypeRequiredDescription
AuthorizationstringYesBearer token for authentication

Path Parameters

ParameterTypeRequiredDescription
sessionIdstringYesThe session ID
groupIdstringYesThe group ID

Request Body

This endpoint does not require a request body.

Response

Returns an InviteCodeResponse object on success. Refer to API.md.

{
  "success": true,
  "inviteCode": "NEW_INVITE_CODE_STRING"
}

Examples

curl -X POST "https://api.wasend.dev/YOUR_SESSION_ID/groups/YOUR_GROUP_ID/invite-code/revoke" \\
  -H "Authorization: Bearer YOUR_API_KEY"
import { WasendClient, WasendConfig } from '@wasend/core'; // Adjust as per your SDK

const config = new WasendConfig({ apiKey: 'YOUR_API_KEY' });
const client = new WasendClient(config);

const sessionId = 'YOUR_SESSION_ID';
const groupId = 'YOUR_GROUP_ID';

async function revokeInviteCodeExample() {
  try {
    const response = await client.revokeGroupInviteCode(sessionId, groupId);
    if (response.success) {
      console.log('New invite code:', response.inviteCode);
    } else {
      console.error('Failed to revoke invite code:', response.error);
    }
  } catch (error) {
    console.error('Error revoking invite code:', error);
  }
}

revokeInviteCodeExample();
const { WasendClient, WasendConfig } = require('@wasend/core'); // Adjust as per your SDK

const config = new WasendConfig({ apiKey: 'YOUR_API_KEY' });
const client = new WasendClient(config);

const sessionId = 'YOUR_SESSION_ID';
const groupId = 'YOUR_GROUP_ID';

async function revokeInviteCodeExample() {
  try {
    const response = await client.revokeGroupInviteCode(sessionId, groupId);
    if (response.success) {
      console.log('New invite code:', response.inviteCode);
    } else {
      console.error('Failed to revoke invite code:', response.error);
    }
  } catch (error) {
    console.error('Error revoking invite code:', error);
  }
}

revokeInviteCodeExample();
from wasend_sdk import WasendClient, WasendConfig # Adjust as per your SDK

config = WasendConfig(api_key='YOUR_API_KEY')
client = WasendClient(config)

session_id = 'YOUR_SESSION_ID'
group_id = 'YOUR_GROUP_ID'

try:
    response = client.revoke_group_invite_code(session_id=session_id, group_id=group_id)
    if response.success:
        print(f"New invite code: {response.invite_code}")
    else:
        print(f"Failed to revoke invite code: {response.error}")
except Exception as e:
    print(f"Error revoking invite code: {e}")
package main

import (
	"fmt"
	"log"

	"github.com/wasenddev/wasend-sdk-go/wasendcore" // Correct import path
)

func main() {
	config := &wasendcore.WasendConfig{
		ApiKey: "YOUR_API_KEY",
	}
	client := wasendcore.NewWasendClient(config)

	sessionId := "YOUR_SESSION_ID"
	groupId := "YOUR_GROUP_ID"

	response, err := client.RevokeGroupInviteCode(sessionId, groupId) // Assumes method exists
	if err != nil {
		log.Fatalf("Error revoking invite code: %v", err)
	}

	if response.Success {
		fmt.Printf("New invite code: %s\\n", response.InviteCode)
	} else {
		fmt.Printf("Failed to revoke invite code: %s\\n", response.Error)
	}
}
using System;
using Wasend.Core; // Assuming Wasend.Core for WasendConfig and response types

public class RevokeInviteCodeExample
{
    public static void Main(string[] args)
    {
        var config = new WasendConfig { ApiKey = "YOUR_API_KEY" };
        var client = new WasendClient(config);

        var sessionId = "YOUR_SESSION_ID";
        var groupId = "YOUR_GROUP_ID";

        try
        {
            // Assumes RevokeGroupInviteCode method exists and is synchronous
            var response = client.RevokeGroupInviteCode(sessionId, groupId); 
            if (response.Success)
            {
                Console.WriteLine($"New invite code: {response.InviteCode}");
            }
            else
            {
                Console.WriteLine($"Failed to revoke invite code: {response.Error}");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error revoking invite code: {ex.Message}");
        }
    }
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class RevokeInviteCodeHttp {
    public static void main(String[] args) {
        String sessionId = "YOUR_SESSION_ID";
        String groupId = "YOUR_GROUP_ID";
        String apiKey = "YOUR_API_KEY";
        String baseUrl = "https://api.wasend.dev";

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(baseUrl + "/" + sessionId + "/groups/" + groupId + "/invite-code/revoke"))
                .header("Authorization", "Bearer " + apiKey)
                .POST(HttpRequest.BodyPublishers.noBody())
                .build();

        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            System.out.println("Response status: " + response.statusCode());
            System.out.println("Response body: " + response.body());
            // Example: Parse JSON to get the new inviteCode
            // String responseBody = response.body();
            // JSONObject json = new JSONObject(responseBody);
            // if (json.getBoolean("success")) {
            //     System.out.println("New invite code: " + json.getString("inviteCode"));
            // }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
<?php
$sessionId = 'YOUR_SESSION_ID';
$groupId = 'YOUR_GROUP_ID';
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://api.wasend.dev';

$ch = curl_init($baseUrl . '/' . $sessionId . '/groups/' . $groupId . '/invite-code/revoke');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer ' . $apiKey
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "HTTP status: " . $httpCode . "\\n";
echo "Response: " . $response . "\\n";
// $data = json_decode($response, true);
// if ($data && $data['success']) {
//     echo "New invite code: " . $data['inviteCode'] . "\\n";
// }
?>
require 'net/http'
require 'uri'
require 'json'

session_id = 'YOUR_SESSION_ID'
group_id = 'YOUR_GROUP_ID'
api_key = 'YOUR_API_KEY'
base_url = 'https://api.wasend.dev'

uri = URI("#{base_url}/#{session_id}/groups/#{group_id}/invite-code/revoke")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = (uri.scheme == 'https')

request = Net::HTTP::Post.new(uri.path, {
  'Authorization' => "Bearer #{api_key}"
})

response = http.request(request)

puts "Response status: #{response.code}"
puts "Response body: #{response.body}"
# data = JSON.parse(response.body)
# if data && data['success']
#   puts "New invite code: #{data['inviteCode']}"
# end
import Foundation

#if canImport(FoundationNetworking)
import FoundationNetworking
#endif

let sessionId = "YOUR_SESSION_ID"
let groupId = "YOUR_GROUP_ID"
let apiKey = "YOUR_API_KEY"
let baseUrl = "https://api.wasend.dev"

guard let url = URL(string: "\(baseUrl)/\(sessionId)/groups/\(groupId)/invite-code/revoke") else {
    print("Invalid URL")
    exit(1)
}

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer \(apiKey)", forHTTPHeaderField: "Authorization")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let error = error {
        print("Error: \(error)")
        return
    }
    guard let httpResponse = response as? HTTPURLResponse else {
        print("Invalid response")
        return
    }
    print("Response status code: \(httpResponse.statusCode)")
    if let data = data, let responseBody = String(data: data, encoding: .utf8) {
        print("Response body: \(responseBody)")
        // You would parse the JSON here to extract the new inviteCode
    }
    #if os(macOS) || os(Linux)
    CFRunLoopStop(CFRunLoopGetCurrent())
    #endif
}

task.resume()

#if os(macOS) || os(Linux)
CFRunLoopRun()
#endif
use reqwest::Client;
use tokio;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let session_id = "YOUR_SESSION_ID";
    let group_id = "YOUR_GROUP_ID";
    let api_key = "YOUR_API_KEY";
    let base_url = "https://api.wasend.dev";
    let client = Client::new();

    let response = client.post(format!("{}/{}/groups/{}/invite-code/revoke", base_url, session_id, group_id))
        .bearer_auth(api_key)
        .send()
        .await?;

    println!("Status: {}", response.status());
    let body = response.text().await?;
    println!("Body: {}", body);
    // You would parse the JSON here to extract the new inviteCode

    Ok(())
}

Response Fields

FieldTypeDescription
successbooleanWhether the operation was successful.
inviteCodestringThe newly generated group invite code.
errorstringOptional. Error message if the request fails.

Error Codes

CodeDescription
401Unauthorized - Invalid API key.
403Forbidden - User is not an admin of the group.
404Not Found - Session or group not found.
429Too Many Requests - Rate limit exceeded.
500Internal Server Error.

Notes

  • Only group administrators can revoke invite codes.
  • Revoking an invite code makes the previous one invalid immediately.
  • A new invite code is generated automatically and returned in the response.
  • The new invite code can be retrieved later using the Get Group Invite Code endpoint.