curl --request PATCH \
--url https://api.vendaze.com/v1/tasks/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Follow up with prospect.",
"due_date": "2026-06-20T14:00:00Z",
"notes": "Contract ready, awaiting signature.",
"type": "meeting",
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_email": "jane@company.com",
"priority": "medium",
"completed": true
}
'import requests
url = "https://api.vendaze.com/v1/tasks/{id}"
payload = {
"title": "Follow up with prospect.",
"due_date": "2026-06-20T14:00:00Z",
"notes": "Contract ready, awaiting signature.",
"type": "meeting",
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_email": "jane@company.com",
"priority": "medium",
"completed": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Follow up with prospect.',
due_date: '2026-06-20T14:00:00Z',
notes: 'Contract ready, awaiting signature.',
type: 'meeting',
person_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
company_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
deal_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
owner_email: 'jane@company.com',
priority: 'medium',
completed: true
})
};
fetch('https://api.vendaze.com/v1/tasks/{id}', 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://api.vendaze.com/v1/tasks/{id}",
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' => 'Follow up with prospect.',
'due_date' => '2026-06-20T14:00:00Z',
'notes' => 'Contract ready, awaiting signature.',
'type' => 'meeting',
'person_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'company_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'deal_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'owner_email' => 'jane@company.com',
'priority' => 'medium',
'completed' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.vendaze.com/v1/tasks/{id}"
payload := strings.NewReader("{\n \"title\": \"Follow up with prospect.\",\n \"due_date\": \"2026-06-20T14:00:00Z\",\n \"notes\": \"Contract ready, awaiting signature.\",\n \"type\": \"meeting\",\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"deal_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"owner_email\": \"jane@company.com\",\n \"priority\": \"medium\",\n \"completed\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.vendaze.com/v1/tasks/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Follow up with prospect.\",\n \"due_date\": \"2026-06-20T14:00:00Z\",\n \"notes\": \"Contract ready, awaiting signature.\",\n \"type\": \"meeting\",\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"deal_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"owner_email\": \"jane@company.com\",\n \"priority\": \"medium\",\n \"completed\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vendaze.com/v1/tasks/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Follow up with prospect.\",\n \"due_date\": \"2026-06-20T14:00:00Z\",\n \"notes\": \"Contract ready, awaiting signature.\",\n \"type\": \"meeting\",\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"deal_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"owner_email\": \"jane@company.com\",\n \"priority\": \"medium\",\n \"completed\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "Follow up with prospect",
"notes": "<string>",
"due_date": "2023-11-07T05:31:56Z",
"type": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "Call",
"color": "#463dfb",
"key": "call",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"person": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "Jane Doe",
"emails": [
{
"email": "<string>",
"type": "<string>"
}
],
"phones": [
{
"phone": "<string>",
"type": "<string>"
}
],
"ranking": 123,
"position": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "Acme Corp",
"emails": [
{
"email": "<string>",
"type": "<string>"
}
],
"phones": [
{
"phone": "<string>",
"type": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"deal": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Enterprise Plan Q3",
"amount": 250000,
"currency": "BRL",
"formatted_amount": "R$ 2.500,00",
"pipeline": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"stage": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"source": "<string>",
"forecast_date": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"owner": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "John Smith",
"email": "john@company.com"
},
"completed": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "bad_request",
"message": "Request body must be valid JSON.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "unauthorized",
"message": "Missing or invalid Authorization header.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "insufficient_scope",
"message": "This endpoint requires the 'webhooks:read' scope.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "not_found",
"message": "Webhook not found.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "validation_error",
"message": "Validation failed.",
"fields": {
"url": "url must use HTTPS.",
"events": "At least one event is required."
},
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 60 seconds.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}Update a task
Updates a task. Only the fields sent in the body are modified.
Required scope
Required scope
tasks:write
curl --request PATCH \
--url https://api.vendaze.com/v1/tasks/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Follow up with prospect.",
"due_date": "2026-06-20T14:00:00Z",
"notes": "Contract ready, awaiting signature.",
"type": "meeting",
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_email": "jane@company.com",
"priority": "medium",
"completed": true
}
'import requests
url = "https://api.vendaze.com/v1/tasks/{id}"
payload = {
"title": "Follow up with prospect.",
"due_date": "2026-06-20T14:00:00Z",
"notes": "Contract ready, awaiting signature.",
"type": "meeting",
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_email": "jane@company.com",
"priority": "medium",
"completed": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Follow up with prospect.',
due_date: '2026-06-20T14:00:00Z',
notes: 'Contract ready, awaiting signature.',
type: 'meeting',
person_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
company_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
deal_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
owner_email: 'jane@company.com',
priority: 'medium',
completed: true
})
};
fetch('https://api.vendaze.com/v1/tasks/{id}', 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://api.vendaze.com/v1/tasks/{id}",
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' => 'Follow up with prospect.',
'due_date' => '2026-06-20T14:00:00Z',
'notes' => 'Contract ready, awaiting signature.',
'type' => 'meeting',
'person_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'company_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'deal_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'owner_email' => 'jane@company.com',
'priority' => 'medium',
'completed' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.vendaze.com/v1/tasks/{id}"
payload := strings.NewReader("{\n \"title\": \"Follow up with prospect.\",\n \"due_date\": \"2026-06-20T14:00:00Z\",\n \"notes\": \"Contract ready, awaiting signature.\",\n \"type\": \"meeting\",\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"deal_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"owner_email\": \"jane@company.com\",\n \"priority\": \"medium\",\n \"completed\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.vendaze.com/v1/tasks/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Follow up with prospect.\",\n \"due_date\": \"2026-06-20T14:00:00Z\",\n \"notes\": \"Contract ready, awaiting signature.\",\n \"type\": \"meeting\",\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"deal_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"owner_email\": \"jane@company.com\",\n \"priority\": \"medium\",\n \"completed\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vendaze.com/v1/tasks/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Follow up with prospect.\",\n \"due_date\": \"2026-06-20T14:00:00Z\",\n \"notes\": \"Contract ready, awaiting signature.\",\n \"type\": \"meeting\",\n \"person_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"company_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"deal_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"owner_email\": \"jane@company.com\",\n \"priority\": \"medium\",\n \"completed\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "Follow up with prospect",
"notes": "<string>",
"due_date": "2023-11-07T05:31:56Z",
"type": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "Call",
"color": "#463dfb",
"key": "call",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"person": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "Jane Doe",
"emails": [
{
"email": "<string>",
"type": "<string>"
}
],
"phones": [
{
"phone": "<string>",
"type": "<string>"
}
],
"ranking": 123,
"position": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "Acme Corp",
"emails": [
{
"email": "<string>",
"type": "<string>"
}
],
"phones": [
{
"phone": "<string>",
"type": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"deal": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Enterprise Plan Q3",
"amount": 250000,
"currency": "BRL",
"formatted_amount": "R$ 2.500,00",
"pipeline": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"stage": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"source": "<string>",
"forecast_date": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"owner": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "John Smith",
"email": "john@company.com"
},
"completed": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "bad_request",
"message": "Request body must be valid JSON.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "unauthorized",
"message": "Missing or invalid Authorization header.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "insufficient_scope",
"message": "This endpoint requires the 'webhooks:read' scope.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "not_found",
"message": "Webhook not found.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "validation_error",
"message": "Validation failed.",
"fields": {
"url": "url must use HTTPS.",
"events": "At least one event is required."
},
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 60 seconds.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}Authorizations
OAuth 2.1 access token.
Path Parameters
UUID of the resource.
Body
All fields are optional. Only fields included in the body are modified. Send null to clear a field.
New task title.
1 - 200"Follow up with prospect."
New due date in ISO 8601 UTC.
"2026-06-20T14:00:00Z"
New notes. Send null to clear.
3000"Contract ready, awaiting signature."
Task type id (UUID) or key (string). Send null to remove the type. The API resolves it to the internal type ID.
"meeting"
New person UUID. Send null to remove.
New company UUID. Send null to remove.
New deal UUID. Send null to remove.
Email of the new owner. Send null to remove the owner.
"jane@company.com"
New priority. Send null to clear.
high, medium, low "medium"
Mark the task as completed or not.
true
Response
Task updated successfully.
Task object returned by POST and PATCH. Includes full embedded objects for person, company, and deal instead of plain IDs.
Show child attributes
Show child attributes
Was this page helpful?