curl --request POST \
--url https://business.pingmee.co.il/tasks/list \
--header 'Content-Type: application/json' \
--header 'Cookie: <api-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"phoneNumberId": "<string>",
"agentId": "<string>",
"participantsIdentifiers": "<string>",
"lastEvaluatedKey": {},
"limit": 50
}
'import requests
url = "https://business.pingmee.co.il/tasks/list"
payload = {
"phoneNumberId": "<string>",
"agentId": "<string>",
"participantsIdentifiers": "<string>",
"lastEvaluatedKey": {},
"limit": 50
}
headers = {
"Cookie": "<api-key>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Cookie: '<api-key>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
phoneNumberId: '<string>',
agentId: '<string>',
participantsIdentifiers: '<string>',
lastEvaluatedKey: {},
limit: 50
})
};
fetch('https://business.pingmee.co.il/tasks/list', 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://business.pingmee.co.il/tasks/list",
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([
'phoneNumberId' => '<string>',
'agentId' => '<string>',
'participantsIdentifiers' => '<string>',
'lastEvaluatedKey' => [
],
'limit' => 50
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Cookie: <api-key>",
"x-api-key: <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://business.pingmee.co.il/tasks/list"
payload := strings.NewReader("{\n \"phoneNumberId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"participantsIdentifiers\": \"<string>\",\n \"lastEvaluatedKey\": {},\n \"limit\": 50\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Cookie", "<api-key>")
req.Header.Add("x-api-key", "<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://business.pingmee.co.il/tasks/list")
.header("Cookie", "<api-key>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phoneNumberId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"participantsIdentifiers\": \"<string>\",\n \"lastEvaluatedKey\": {},\n \"limit\": 50\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://business.pingmee.co.il/tasks/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Cookie"] = '<api-key>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phoneNumberId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"participantsIdentifiers\": \"<string>\",\n \"lastEvaluatedKey\": {},\n \"limit\": 50\n}"
response = http.request(request)
puts response.read_body{
"dbObject": [
{
"taskId": "<string>",
"title": "<string>",
"body": "<string>",
"associatedTo": "<string>",
"statusCase": "<string>",
"unreadCount": 123,
"agentIdentification": {},
"createdAt": 123,
"updatedAt": 123,
"dueDate": 123,
"assignedAgentIds": [
"<string>"
],
"viewedByAgentIds": [
"<string>"
],
"phoneNumberId": "<string>",
"participantsIdentifiers": "<string>",
"customer": {
"profileImage": "<string>",
"customerName": "<string>",
"customerNickname": "<string>",
"description": "<string>",
"createdAt": 123,
"lastActiveAt": 123,
"email": "jsmith@example.com",
"platform": "whatsapp",
"phoneNumberId": "<string>",
"countryCode": "<string>",
"associatedTo": "<string>",
"parsedPhoneNumber": "<string>"
}
}
],
"hasMoreItemsToFetch": true,
"lastEvaluatedKey": {}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Get Tasks
Returns tasks using cursor-based pagination. Default page size is 50; the maximum is 100.
curl --request POST \
--url https://business.pingmee.co.il/tasks/list \
--header 'Content-Type: application/json' \
--header 'Cookie: <api-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"phoneNumberId": "<string>",
"agentId": "<string>",
"participantsIdentifiers": "<string>",
"lastEvaluatedKey": {},
"limit": 50
}
'import requests
url = "https://business.pingmee.co.il/tasks/list"
payload = {
"phoneNumberId": "<string>",
"agentId": "<string>",
"participantsIdentifiers": "<string>",
"lastEvaluatedKey": {},
"limit": 50
}
headers = {
"Cookie": "<api-key>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Cookie: '<api-key>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
phoneNumberId: '<string>',
agentId: '<string>',
participantsIdentifiers: '<string>',
lastEvaluatedKey: {},
limit: 50
})
};
fetch('https://business.pingmee.co.il/tasks/list', 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://business.pingmee.co.il/tasks/list",
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([
'phoneNumberId' => '<string>',
'agentId' => '<string>',
'participantsIdentifiers' => '<string>',
'lastEvaluatedKey' => [
],
'limit' => 50
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Cookie: <api-key>",
"x-api-key: <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://business.pingmee.co.il/tasks/list"
payload := strings.NewReader("{\n \"phoneNumberId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"participantsIdentifiers\": \"<string>\",\n \"lastEvaluatedKey\": {},\n \"limit\": 50\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Cookie", "<api-key>")
req.Header.Add("x-api-key", "<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://business.pingmee.co.il/tasks/list")
.header("Cookie", "<api-key>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phoneNumberId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"participantsIdentifiers\": \"<string>\",\n \"lastEvaluatedKey\": {},\n \"limit\": 50\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://business.pingmee.co.il/tasks/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Cookie"] = '<api-key>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phoneNumberId\": \"<string>\",\n \"agentId\": \"<string>\",\n \"participantsIdentifiers\": \"<string>\",\n \"lastEvaluatedKey\": {},\n \"limit\": 50\n}"
response = http.request(request)
puts response.read_body{
"dbObject": [
{
"taskId": "<string>",
"title": "<string>",
"body": "<string>",
"associatedTo": "<string>",
"statusCase": "<string>",
"unreadCount": 123,
"agentIdentification": {},
"createdAt": 123,
"updatedAt": 123,
"dueDate": 123,
"assignedAgentIds": [
"<string>"
],
"viewedByAgentIds": [
"<string>"
],
"phoneNumberId": "<string>",
"participantsIdentifiers": "<string>",
"customer": {
"profileImage": "<string>",
"customerName": "<string>",
"customerNickname": "<string>",
"description": "<string>",
"createdAt": 123,
"lastActiveAt": 123,
"email": "jsmith@example.com",
"platform": "whatsapp",
"phoneNumberId": "<string>",
"countryCode": "<string>",
"associatedTo": "<string>",
"parsedPhoneNumber": "<string>"
}
}
],
"hasMoreItemsToFetch": true,
"lastEvaluatedKey": {}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{} for the first page. Page size defaults to 50 and is capped at 100. If lastEvaluatedKey is present in the response, pass it back in the next request to load the following page.Authorizations
Personal access token from Pingmee Settings → Developer Tools
Business API key from Pingmee Settings → Developer Tools
Body
Pagination and filter parameters. Send an empty object {} to use defaults.
Filter tasks by business phone number identifier.
Filter tasks assigned to this agent.
Filter tasks linked to this conversation (participantsIdentifiers).
Key returned from a previous request. Pass this value to fetch the next page of tasks.
Maximum number of tasks to return.
1 <= x <= 100Response
Tasks
List of tasks returned for this page of results.
Show child attributes
Show child attributes
If present, call the same endpoint again and pass this value as lastEvaluatedKey to retrieve the next page of results. Pagination is cursor-based, not page-number based.