curl --request POST \
--url https://api.vendaze.com/v1/tasks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Follow up with prospect",
"due_date": "2026-06-15T09:00:00Z",
"notes": "Send the proposal by Friday.",
"type": "call",
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_email": "john@company.com",
"priority": "high"
}
'import requests
url = "https://api.vendaze.com/v1/tasks"
payload = {
"title": "Follow up with prospect",
"due_date": "2026-06-15T09:00:00Z",
"notes": "Send the proposal by Friday.",
"type": "call",
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_email": "john@company.com",
"priority": "high"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Follow up with prospect',
due_date: '2026-06-15T09:00:00Z',
notes: 'Send the proposal by Friday.',
type: 'call',
person_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
company_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
deal_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
owner_email: 'john@company.com',
priority: 'high'
})
};
fetch('https://api.vendaze.com/v1/tasks', 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",
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([
'title' => 'Follow up with prospect',
'due_date' => '2026-06-15T09:00:00Z',
'notes' => 'Send the proposal by Friday.',
'type' => 'call',
'person_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'company_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'deal_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'owner_email' => 'john@company.com',
'priority' => 'high'
]),
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"
payload := strings.NewReader("{\n \"title\": \"Follow up with prospect\",\n \"due_date\": \"2026-06-15T09:00:00Z\",\n \"notes\": \"Send the proposal by Friday.\",\n \"type\": \"call\",\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\": \"john@company.com\",\n \"priority\": \"high\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.vendaze.com/v1/tasks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Follow up with prospect\",\n \"due_date\": \"2026-06-15T09:00:00Z\",\n \"notes\": \"Send the proposal by Friday.\",\n \"type\": \"call\",\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\": \"john@company.com\",\n \"priority\": \"high\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vendaze.com/v1/tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Follow up with prospect\",\n \"due_date\": \"2026-06-15T09:00:00Z\",\n \"notes\": \"Send the proposal by Friday.\",\n \"type\": \"call\",\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\": \"john@company.com\",\n \"priority\": \"high\"\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": "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"
}
}Create a task
Creates a new task in the workspace.
Required scope
Required scope
tasks:write
curl --request POST \
--url https://api.vendaze.com/v1/tasks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Follow up with prospect",
"due_date": "2026-06-15T09:00:00Z",
"notes": "Send the proposal by Friday.",
"type": "call",
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_email": "john@company.com",
"priority": "high"
}
'import requests
url = "https://api.vendaze.com/v1/tasks"
payload = {
"title": "Follow up with prospect",
"due_date": "2026-06-15T09:00:00Z",
"notes": "Send the proposal by Friday.",
"type": "call",
"person_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner_email": "john@company.com",
"priority": "high"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Follow up with prospect',
due_date: '2026-06-15T09:00:00Z',
notes: 'Send the proposal by Friday.',
type: 'call',
person_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
company_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
deal_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
owner_email: 'john@company.com',
priority: 'high'
})
};
fetch('https://api.vendaze.com/v1/tasks', 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",
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([
'title' => 'Follow up with prospect',
'due_date' => '2026-06-15T09:00:00Z',
'notes' => 'Send the proposal by Friday.',
'type' => 'call',
'person_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'company_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'deal_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'owner_email' => 'john@company.com',
'priority' => 'high'
]),
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"
payload := strings.NewReader("{\n \"title\": \"Follow up with prospect\",\n \"due_date\": \"2026-06-15T09:00:00Z\",\n \"notes\": \"Send the proposal by Friday.\",\n \"type\": \"call\",\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\": \"john@company.com\",\n \"priority\": \"high\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.vendaze.com/v1/tasks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Follow up with prospect\",\n \"due_date\": \"2026-06-15T09:00:00Z\",\n \"notes\": \"Send the proposal by Friday.\",\n \"type\": \"call\",\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\": \"john@company.com\",\n \"priority\": \"high\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vendaze.com/v1/tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Follow up with prospect\",\n \"due_date\": \"2026-06-15T09:00:00Z\",\n \"notes\": \"Send the proposal by Friday.\",\n \"type\": \"call\",\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\": \"john@company.com\",\n \"priority\": \"high\"\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": "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.
Body
Task title.
1 - 200"Follow up with prospect"
ISO 8601 UTC datetime when the task is due.
"2026-06-15T09:00:00Z"
Optional notes.
3000"Send the proposal by Friday."
Task type id (UUID) or key (string). The API resolves it to the internal type ID. Use GET /v1/task-types to list available types.
"call"
UUID of the person to associate with this task.
UUID of the company to associate with this task.
UUID of the deal to associate with this task.
Email of the workspace member to set as owner. The API resolves it to the internal user ID.
"john@company.com"
Priority level.
high, medium, low "high"
Response
Task created 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?