Skip to content

ArchiveChat#

Test Postman Apidog

The method archives a chat. One can archive chats that have at least one incoming message.

Request#

To archive a chat, you have to execute a request at:

POST
{{apiUrl}}/waInstance{{idInstance}}/archiveChat/{{apiTokenInstance}}

For apiUrl, idInstance and apiTokenInstance request parameters, refer to Before you start section.

Note

In order for the method to function, the system must be able to see incoming messages. To enable this, activate the Receive webhooks on incoming messages and files option in the instance settings or use the SetSettings method.

Request parameters#

Parameter Type Mandatory Description
chatId string Yes User or group chat Id

Request body example#

{
    "chatId": "120363043968066561@g.us"
}

Response#

Response parameters#

The response body is empty. If successful, the server response is 200.

ArchiveChat errors#

For a list of errors common to all methods, refer to Common errors section

HTTP code Error identifier Description
400 Bad Request
Validation failed
Validation error
400 ArchiveChatError: cannot archive chat cause last message not found in chat chatID is false or there is no message in the chat
400 Bad Request
ArchiveChatError: chat with id 71234567890@c.us already archive=true
Chat is already archived
400 Bad Request
ArchiveChatError: chat with id 77063205930@c.us not found
The specified number is not in the contacts
400 Validation failed.
Details: 'value' must have at least 1 key
Validation failed. Details: value must have at least 1 key
500 Internal Server Error
interface conversion: interface {} is bool, not string
Invalid data type for field chatId

Request examples#

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/archiveChat/{{apiTokenInstance}}"

payload = {(
    "chatId": "11001234567@c.us")
}
headers = {
    'Content-Type': 'application/json'
}

response = requests.post(url, json=payload)

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/archiveChat/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "120363043968066561@g.us"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/archiveChat/")
    .append({{apiTokenInstance}});

var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

var jsonBody = "{\"chatId\": \"120363043968066561@g.us\"}";

var requestEntity = new HttpEntity<>(jsonBody, headers);

var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/archiveChat/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\"chatId\": \"120363043968066561@g.us\")
    .asString();

System.out.println(response);
Sub ArchiveChat()
    Dim url As String
    Dim RequestBody As String
    Dim http As Object
    Dim response As String

    ' The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
    url = "{{apiUrl}}/waInstance{{idInstance}}/ArchiveChat/{{apiTokenInstance}}"

    ' ChatId - number to send the chat to the archive (@c.us for private chats, @g.us for group chats)
    RequestBody = "{""chatId"":""70123456789@c.us""}"

    Set http = CreateObject("MSXML2.XMLHTTP")

    With http
        .Open "POST", url, False
        .setRequestHeader "Content-Type", "application/json"
        .Send RequestBody
    End With

    response = http.responseText

    Debug.Print response

    ' Outputting the answer to the desired cell
    Range("A1").Value = response

    Set http = Nothing
End Sub