curl --request PATCH \
--url https://business.pingmee.co.il/tasks/{taskId} \
--header 'Content-Type: application/json' \
--header 'Cookie: <api-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "<string>",
"body": "<string>",
"statusCase": "<string>",
"assignedAgentIds": [
"<string>"
],
"viewedByAgentIds": [
"<string>"
],
"dueDate": 123,
"participantsIdentifiers": "<string>",
"phoneNumberId": "<string>"
}
'import requests
url = "https://business.pingmee.co.il/tasks/{taskId}"
payload = {
"title": "<string>",
"body": "<string>",
"statusCase": "<string>",
"assignedAgentIds": ["<string>"],
"viewedByAgentIds": ["<string>"],
"dueDate": 123,
"participantsIdentifiers": "<string>",
"phoneNumberId": "<string>"
}
headers = {
"Cookie": "<api-key>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
Cookie: '<api-key>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
title: '<string>',
body: JSON.stringify('<string>'),
statusCase: '<string>',
assignedAgentIds: ['<string>'],
viewedByAgentIds: ['<string>'],
dueDate: 123,
participantsIdentifiers: '<string>',
phoneNumberId: '<string>'
})
};
fetch('https://business.pingmee.co.il/tasks/{taskId}', 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/{taskId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'body' => '<string>',
'statusCase' => '<string>',
'assignedAgentIds' => [
'<string>'
],
'viewedByAgentIds' => [
'<string>'
],
'dueDate' => 123,
'participantsIdentifiers' => '<string>',
'phoneNumberId' => '<string>'
]),
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/{taskId}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"body\": \"<string>\",\n \"statusCase\": \"<string>\",\n \"assignedAgentIds\": [\n \"<string>\"\n ],\n \"viewedByAgentIds\": [\n \"<string>\"\n ],\n \"dueDate\": 123,\n \"participantsIdentifiers\": \"<string>\",\n \"phoneNumberId\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://business.pingmee.co.il/tasks/{taskId}")
.header("Cookie", "<api-key>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"body\": \"<string>\",\n \"statusCase\": \"<string>\",\n \"assignedAgentIds\": [\n \"<string>\"\n ],\n \"viewedByAgentIds\": [\n \"<string>\"\n ],\n \"dueDate\": 123,\n \"participantsIdentifiers\": \"<string>\",\n \"phoneNumberId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://business.pingmee.co.il/tasks/{taskId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Cookie"] = '<api-key>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"body\": \"<string>\",\n \"statusCase\": \"<string>\",\n \"assignedAgentIds\": [\n \"<string>\"\n ],\n \"viewedByAgentIds\": [\n \"<string>\"\n ],\n \"dueDate\": 123,\n \"participantsIdentifiers\": \"<string>\",\n \"phoneNumberId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"task": {
"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>"
}
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Update Task
Partial update — send only the fields you want to change. The server always refreshes updatedAt and agentIdentification, and increments unreadCount.
Updatable fields: title, body, statusCase, assignedAgentIds, viewedByAgentIds, dueDate, participantsIdentifiers, phoneNumberId.
curl --request PATCH \
--url https://business.pingmee.co.il/tasks/{taskId} \
--header 'Content-Type: application/json' \
--header 'Cookie: <api-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "<string>",
"body": "<string>",
"statusCase": "<string>",
"assignedAgentIds": [
"<string>"
],
"viewedByAgentIds": [
"<string>"
],
"dueDate": 123,
"participantsIdentifiers": "<string>",
"phoneNumberId": "<string>"
}
'import requests
url = "https://business.pingmee.co.il/tasks/{taskId}"
payload = {
"title": "<string>",
"body": "<string>",
"statusCase": "<string>",
"assignedAgentIds": ["<string>"],
"viewedByAgentIds": ["<string>"],
"dueDate": 123,
"participantsIdentifiers": "<string>",
"phoneNumberId": "<string>"
}
headers = {
"Cookie": "<api-key>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
Cookie: '<api-key>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
title: '<string>',
body: JSON.stringify('<string>'),
statusCase: '<string>',
assignedAgentIds: ['<string>'],
viewedByAgentIds: ['<string>'],
dueDate: 123,
participantsIdentifiers: '<string>',
phoneNumberId: '<string>'
})
};
fetch('https://business.pingmee.co.il/tasks/{taskId}', 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/{taskId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'body' => '<string>',
'statusCase' => '<string>',
'assignedAgentIds' => [
'<string>'
],
'viewedByAgentIds' => [
'<string>'
],
'dueDate' => 123,
'participantsIdentifiers' => '<string>',
'phoneNumberId' => '<string>'
]),
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/{taskId}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"body\": \"<string>\",\n \"statusCase\": \"<string>\",\n \"assignedAgentIds\": [\n \"<string>\"\n ],\n \"viewedByAgentIds\": [\n \"<string>\"\n ],\n \"dueDate\": 123,\n \"participantsIdentifiers\": \"<string>\",\n \"phoneNumberId\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://business.pingmee.co.il/tasks/{taskId}")
.header("Cookie", "<api-key>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"body\": \"<string>\",\n \"statusCase\": \"<string>\",\n \"assignedAgentIds\": [\n \"<string>\"\n ],\n \"viewedByAgentIds\": [\n \"<string>\"\n ],\n \"dueDate\": 123,\n \"participantsIdentifiers\": \"<string>\",\n \"phoneNumberId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://business.pingmee.co.il/tasks/{taskId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Cookie"] = '<api-key>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"body\": \"<string>\",\n \"statusCase\": \"<string>\",\n \"assignedAgentIds\": [\n \"<string>\"\n ],\n \"viewedByAgentIds\": [\n \"<string>\"\n ],\n \"dueDate\": 123,\n \"participantsIdentifiers\": \"<string>\",\n \"phoneNumberId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"task": {
"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>"
}
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"title": "Call back tomorrow",
"statusCase": "standby"
}
title, body, statusCase, assignedAgentIds, viewedByAgentIds, dueDate, participantsIdentifiers, phoneNumberId.
The server always refreshes updatedAt and agentIdentification, and increments unreadCount.Authorizations
Personal access token from Pingmee Settings → Developer Tools
Business API key from Pingmee Settings → Developer Tools
Path Parameters
Task identifier returned when the task was created.
Body
Fields to update. Omit fields you do not want to change.
Partial task update. Include only the fields you want to change. unreadCount, updatedAt, and agentIdentification are set by the server.
Task title.
Task description / notes.
Task status. Built-in values are open, standby (in progress), and completed. Custom task status IDs defined for the business are also accepted.
Agent IDs assigned to this task. Replaces the full assignment list.
Agent IDs that have viewed this task.
Unix timestamp (seconds) for the due date. 0 to unset.
Conversation participants identifiers this task is linked to.
Business phone number identifier used to scope the task.
Response
Task updated
Show child attributes
Show child attributes