Create a task
curl --request POST \
--url https://n-api.leadstaker.com/v1/tasks \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"dealId": "<string>",
"title": "<string>",
"dueAt": "2023-11-07T05:31:56Z",
"responsibleId": "<string>"
}
'import requests
url = "https://n-api.leadstaker.com/v1/tasks"
payload = {
"dealId": "<string>",
"title": "<string>",
"dueAt": "2023-11-07T05:31:56Z",
"responsibleId": "<string>"
}
headers = {
"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: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
dealId: '<string>',
title: '<string>',
dueAt: '2023-11-07T05:31:56Z',
responsibleId: '<string>'
})
};
fetch('https://n-api.leadstaker.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://n-api.leadstaker.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([
'dealId' => '<string>',
'title' => '<string>',
'dueAt' => '2023-11-07T05:31:56Z',
'responsibleId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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://n-api.leadstaker.com/v1/tasks"
payload := strings.NewReader("{\n \"dealId\": \"<string>\",\n \"title\": \"<string>\",\n \"dueAt\": \"2023-11-07T05:31:56Z\",\n \"responsibleId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://n-api.leadstaker.com/v1/tasks")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"dealId\": \"<string>\",\n \"title\": \"<string>\",\n \"dueAt\": \"2023-11-07T05:31:56Z\",\n \"responsibleId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://n-api.leadstaker.com/v1/tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"dealId\": \"<string>\",\n \"title\": \"<string>\",\n \"dueAt\": \"2023-11-07T05:31:56Z\",\n \"responsibleId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "68b8f1c2a4d3e50017b2c9a1",
"projectId": "665f1c2e8a94b70012d4e9a1",
"dealId": "6715be3a9c40aa0013d8e5c2",
"title": "Ligar para confirmar a proposta",
"dueAt": "2026-09-04T14:00:00.000Z",
"responsibleId": "664d9e0b7c83aa0010f1c2d3",
"createdBy": "664d9e0b7c83aa0010f1c2d3",
"createdAt": "2026-09-03T12:00:00.000Z",
"updatedAt": "2026-09-03T12:00:00.000Z"
}{
"errorCode": "<string>",
"message": "<string>",
"status": 123,
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"status": 123,
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}Tasks
Create a task
Creates the task in the project of the API key and answers 201 with the created record. dueAt is an ISO 8601 instant and needs an explicit offset (Z or ±hh:mm), so a local time with no offset is rejected. createdBy is filled only when a user creates the task, so it stays absent for an API key. responsibleId may name another user only when the caller is a project owner or admin: any other user must send their own id, otherwise answers 403 UNAUTHORIZED_ACCESS. An API key is not restricted. Answers 404 DEAL when dealId is not in the project.
POST
/
v1
/
tasks
Create a task
curl --request POST \
--url https://n-api.leadstaker.com/v1/tasks \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"dealId": "<string>",
"title": "<string>",
"dueAt": "2023-11-07T05:31:56Z",
"responsibleId": "<string>"
}
'import requests
url = "https://n-api.leadstaker.com/v1/tasks"
payload = {
"dealId": "<string>",
"title": "<string>",
"dueAt": "2023-11-07T05:31:56Z",
"responsibleId": "<string>"
}
headers = {
"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: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
dealId: '<string>',
title: '<string>',
dueAt: '2023-11-07T05:31:56Z',
responsibleId: '<string>'
})
};
fetch('https://n-api.leadstaker.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://n-api.leadstaker.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([
'dealId' => '<string>',
'title' => '<string>',
'dueAt' => '2023-11-07T05:31:56Z',
'responsibleId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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://n-api.leadstaker.com/v1/tasks"
payload := strings.NewReader("{\n \"dealId\": \"<string>\",\n \"title\": \"<string>\",\n \"dueAt\": \"2023-11-07T05:31:56Z\",\n \"responsibleId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://n-api.leadstaker.com/v1/tasks")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"dealId\": \"<string>\",\n \"title\": \"<string>\",\n \"dueAt\": \"2023-11-07T05:31:56Z\",\n \"responsibleId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://n-api.leadstaker.com/v1/tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"dealId\": \"<string>\",\n \"title\": \"<string>\",\n \"dueAt\": \"2023-11-07T05:31:56Z\",\n \"responsibleId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "68b8f1c2a4d3e50017b2c9a1",
"projectId": "665f1c2e8a94b70012d4e9a1",
"dealId": "6715be3a9c40aa0013d8e5c2",
"title": "Ligar para confirmar a proposta",
"dueAt": "2026-09-04T14:00:00.000Z",
"responsibleId": "664d9e0b7c83aa0010f1c2d3",
"createdBy": "664d9e0b7c83aa0010f1c2d3",
"createdAt": "2026-09-03T12:00:00.000Z",
"updatedAt": "2026-09-03T12:00:00.000Z"
}{
"errorCode": "<string>",
"message": "<string>",
"status": 123,
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"status": 123,
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}Authorizations
Body
application/json
Response
Success
Minimum string length:
1Minimum string length:
1Minimum string length:
1Minimum string length:
1Minimum string length:
1Minimum string length:
1Show child attributes
Show child attributes