Find chats
Returns stored chats, optionally filtered by a where clause. Send an empty body to return all chats.
curl --request POST \
--url https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance} \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"where": {
"remoteJid": "5511999999999@s.whatsapp.net"
}
}
'import requests
url = "https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}"
payload = { "where": { "remoteJid": "5511999999999@s.whatsapp.net" } }
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({where: {remoteJid: '5511999999999@s.whatsapp.net'}})
};
fetch('https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'where' => [
'remoteJid' => '5511999999999@s.whatsapp.net'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}"
payload := strings.NewReader("{\n \"where\": {\n \"remoteJid\": \"5511999999999@s.whatsapp.net\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"where\": {\n \"remoteJid\": \"5511999999999@s.whatsapp.net\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"where\": {\n \"remoteJid\": \"5511999999999@s.whatsapp.net\"\n }\n}"
response = http.request(request)
puts response.read_body[
{
"id": "clzcontact001aaa111bbb222",
"remoteJid": "5511999999999@s.whatsapp.net",
"pushName": "Maria Silva",
"profilePicUrl": "https://pps.whatsapp.net/v/t61.24694-24/123456_abcdef.jpg",
"updatedAt": "2026-07-09T18:20:00.000Z",
"windowStart": "2026-07-09T13:00:00.000Z",
"windowExpires": "2026-07-10T13:00:00.000Z",
"windowActive": true,
"lastMessage": {
"id": "clzmsg0012233445566778899",
"key": {
"remoteJid": "5511999999999@s.whatsapp.net",
"fromMe": false,
"id": "3EB0C767D26A1D8A0F1B"
},
"pushName": "Maria Silva",
"participant": null,
"messageType": "conversation",
"message": {
"conversation": "Oi, tudo bem?"
},
"contextInfo": null,
"source": "android",
"messageTimestamp": 1720544400,
"instanceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"sessionId": null,
"status": "READ"
},
"unreadCount": 2,
"isSaved": true
}
]{
"status": 400,
"error": "Bad Request",
"message": "Invalid payload"
}Authorizations
Your Pilot Status API key (ps_...). Evolution GO also accepts Authorization: Bearer <key>.
Path Parameters
The number's display name in the Pilot Status dashboard.
Body
Filter with any of _id, id, pushName, remoteJid.
{
"remoteJid": "5511999999999@s.whatsapp.net"
}
Response
Success — provider-native response body.
Chat JID.
Whether the 24h messaging window is currently open.
Number of unread messages in the chat.
Whether a contact record exists for this chat.
Contact record id, or null when no contact is stored.
Chat/contact/group display name.
Profile picture URL.
ISO timestamp of last activity.
ISO timestamp when the 24h window started.
ISO timestamp when the 24h window expires.
Trimmed last message of the chat (media bodies cleaned).
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance} \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"where": {
"remoteJid": "5511999999999@s.whatsapp.net"
}
}
'import requests
url = "https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}"
payload = { "where": { "remoteJid": "5511999999999@s.whatsapp.net" } }
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({where: {remoteJid: '5511999999999@s.whatsapp.net'}})
};
fetch('https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'where' => [
'remoteJid' => '5511999999999@s.whatsapp.net'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}"
payload := strings.NewReader("{\n \"where\": {\n \"remoteJid\": \"5511999999999@s.whatsapp.net\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"where\": {\n \"remoteJid\": \"5511999999999@s.whatsapp.net\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pilotstatus.com.br/api/layer/evolution-v2/chat/findChats/{instance}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"where\": {\n \"remoteJid\": \"5511999999999@s.whatsapp.net\"\n }\n}"
response = http.request(request)
puts response.read_body[
{
"id": "clzcontact001aaa111bbb222",
"remoteJid": "5511999999999@s.whatsapp.net",
"pushName": "Maria Silva",
"profilePicUrl": "https://pps.whatsapp.net/v/t61.24694-24/123456_abcdef.jpg",
"updatedAt": "2026-07-09T18:20:00.000Z",
"windowStart": "2026-07-09T13:00:00.000Z",
"windowExpires": "2026-07-10T13:00:00.000Z",
"windowActive": true,
"lastMessage": {
"id": "clzmsg0012233445566778899",
"key": {
"remoteJid": "5511999999999@s.whatsapp.net",
"fromMe": false,
"id": "3EB0C767D26A1D8A0F1B"
},
"pushName": "Maria Silva",
"participant": null,
"messageType": "conversation",
"message": {
"conversation": "Oi, tudo bem?"
},
"contextInfo": null,
"source": "android",
"messageTimestamp": 1720544400,
"instanceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"sessionId": null,
"status": "READ"
},
"unreadCount": 2,
"isSaved": true
}
]{
"status": 400,
"error": "Bad Request",
"message": "Invalid payload"
}