Skip to main content
POST
/
v2
/
tasks
Create a new task
curl --request POST \
  --url https://app.tarefy.com/nodeapi/v2/tasks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "Document task creation",
  "description": "Add request fields, response schema, and examples for POST /v2/tasks.",
  "client_id": 42,
  "responsible_id": 17,
  "project_id": 8,
  "column_id": 31,
  "due_date": "2026-05-20T18:00:00.000Z",
  "start_date": "2026-05-19T12:00:00.000Z",
  "urgency": "Alta",
  "estimated_time": "008:00",
  "budget": "012:00",
  "type_id": 5,
  "contract_id": 19,
  "competence": 202605,
  "tagsSelect": 3813,
  "task_followers": [
    {
      "user": 21
    },
    {
      "user": 24
    }
  ],
  "task_tags": [
    {
      "tag": 8
    },
    {
      "tag": 13
    }
  ],
  "task_responsible": [
    {
      "user": 17
    },
    {
      "user": 29
    }
  ],
  "custom_fields_value": [
    {
      "uuid": "cf_priority",
      "value": "High"
    },
    {
      "uuid": "cf_story_points",
      "value": 5
    }
  ]
}
'
import requests

url = "https://app.tarefy.com/nodeapi/v2/tasks"

payload = {
"title": "Document task creation",
"description": "Add request fields, response schema, and examples for POST /v2/tasks.",
"client_id": 42,
"responsible_id": 17,
"project_id": 8,
"column_id": 31,
"due_date": "2026-05-20T18:00:00.000Z",
"start_date": "2026-05-19T12:00:00.000Z",
"urgency": "Alta",
"estimated_time": "008:00",
"budget": "012:00",
"type_id": 5,
"contract_id": 19,
"competence": 202605,
"tagsSelect": 3813,
"task_followers": [{ "user": 21 }, { "user": 24 }],
"task_tags": [{ "tag": 8 }, { "tag": 13 }],
"task_responsible": [{ "user": 17 }, { "user": 29 }],
"custom_fields_value": [
{
"uuid": "cf_priority",
"value": "High"
},
{
"uuid": "cf_story_points",
"value": 5
}
]
}
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: 'Document task creation',
description: 'Add request fields, response schema, and examples for POST /v2/tasks.',
client_id: 42,
responsible_id: 17,
project_id: 8,
column_id: 31,
due_date: '2026-05-20T18:00:00.000Z',
start_date: '2026-05-19T12:00:00.000Z',
urgency: 'Alta',
estimated_time: '008:00',
budget: '012:00',
type_id: 5,
contract_id: 19,
competence: 202605,
tagsSelect: 3813,
task_followers: [{user: 21}, {user: 24}],
task_tags: [{tag: 8}, {tag: 13}],
task_responsible: [{user: 17}, {user: 29}],
custom_fields_value: [{uuid: 'cf_priority', value: 'High'}, {uuid: 'cf_story_points', value: 5}]
})
};

fetch('https://app.tarefy.com/nodeapi/v2/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://app.tarefy.com/nodeapi/v2/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' => 'Document task creation',
'description' => 'Add request fields, response schema, and examples for POST /v2/tasks.',
'client_id' => 42,
'responsible_id' => 17,
'project_id' => 8,
'column_id' => 31,
'due_date' => '2026-05-20T18:00:00.000Z',
'start_date' => '2026-05-19T12:00:00.000Z',
'urgency' => 'Alta',
'estimated_time' => '008:00',
'budget' => '012:00',
'type_id' => 5,
'contract_id' => 19,
'competence' => 202605,
'tagsSelect' => 3813,
'task_followers' => [
[
'user' => 21
],
[
'user' => 24
]
],
'task_tags' => [
[
'tag' => 8
],
[
'tag' => 13
]
],
'task_responsible' => [
[
'user' => 17
],
[
'user' => 29
]
],
'custom_fields_value' => [
[
'uuid' => 'cf_priority',
'value' => 'High'
],
[
'uuid' => 'cf_story_points',
'value' => 5
]
]
]),
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://app.tarefy.com/nodeapi/v2/tasks"

payload := strings.NewReader("{\n \"title\": \"Document task creation\",\n \"description\": \"Add request fields, response schema, and examples for POST /v2/tasks.\",\n \"client_id\": 42,\n \"responsible_id\": 17,\n \"project_id\": 8,\n \"column_id\": 31,\n \"due_date\": \"2026-05-20T18:00:00.000Z\",\n \"start_date\": \"2026-05-19T12:00:00.000Z\",\n \"urgency\": \"Alta\",\n \"estimated_time\": \"008:00\",\n \"budget\": \"012:00\",\n \"type_id\": 5,\n \"contract_id\": 19,\n \"competence\": 202605,\n \"tagsSelect\": 3813,\n \"task_followers\": [\n {\n \"user\": 21\n },\n {\n \"user\": 24\n }\n ],\n \"task_tags\": [\n {\n \"tag\": 8\n },\n {\n \"tag\": 13\n }\n ],\n \"task_responsible\": [\n {\n \"user\": 17\n },\n {\n \"user\": 29\n }\n ],\n \"custom_fields_value\": [\n {\n \"uuid\": \"cf_priority\",\n \"value\": \"High\"\n },\n {\n \"uuid\": \"cf_story_points\",\n \"value\": 5\n }\n ]\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://app.tarefy.com/nodeapi/v2/tasks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Document task creation\",\n \"description\": \"Add request fields, response schema, and examples for POST /v2/tasks.\",\n \"client_id\": 42,\n \"responsible_id\": 17,\n \"project_id\": 8,\n \"column_id\": 31,\n \"due_date\": \"2026-05-20T18:00:00.000Z\",\n \"start_date\": \"2026-05-19T12:00:00.000Z\",\n \"urgency\": \"Alta\",\n \"estimated_time\": \"008:00\",\n \"budget\": \"012:00\",\n \"type_id\": 5,\n \"contract_id\": 19,\n \"competence\": 202605,\n \"tagsSelect\": 3813,\n \"task_followers\": [\n {\n \"user\": 21\n },\n {\n \"user\": 24\n }\n ],\n \"task_tags\": [\n {\n \"tag\": 8\n },\n {\n \"tag\": 13\n }\n ],\n \"task_responsible\": [\n {\n \"user\": 17\n },\n {\n \"user\": 29\n }\n ],\n \"custom_fields_value\": [\n {\n \"uuid\": \"cf_priority\",\n \"value\": \"High\"\n },\n {\n \"uuid\": \"cf_story_points\",\n \"value\": 5\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://app.tarefy.com/nodeapi/v2/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\": \"Document task creation\",\n \"description\": \"Add request fields, response schema, and examples for POST /v2/tasks.\",\n \"client_id\": 42,\n \"responsible_id\": 17,\n \"project_id\": 8,\n \"column_id\": 31,\n \"due_date\": \"2026-05-20T18:00:00.000Z\",\n \"start_date\": \"2026-05-19T12:00:00.000Z\",\n \"urgency\": \"Alta\",\n \"estimated_time\": \"008:00\",\n \"budget\": \"012:00\",\n \"type_id\": 5,\n \"contract_id\": 19,\n \"competence\": 202605,\n \"tagsSelect\": 3813,\n \"task_followers\": [\n {\n \"user\": 21\n },\n {\n \"user\": 24\n }\n ],\n \"task_tags\": [\n {\n \"tag\": 8\n },\n {\n \"tag\": 13\n }\n ],\n \"task_responsible\": [\n {\n \"user\": 17\n },\n {\n \"user\": 29\n }\n ],\n \"custom_fields_value\": [\n {\n \"uuid\": \"cf_priority\",\n \"value\": \"High\"\n },\n {\n \"uuid\": \"cf_story_points\",\n \"value\": 5\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "id": 1532,
  "task_id": 1532,
  "title": "Document task creation",
  "description": "Add request fields, response schema, and examples for POST /v2/tasks.",
  "status": 0,
  "due_date": "2026-05-20T18:00:00.000Z",
  "start_date": "2026-05-19T12:00:00.000Z",
  "end_date": null,
  "created_at": "2026-05-19T13:40:00.000Z",
  "updated_at": "2026-05-19T13:40:00.000Z",
  "finished_at": null,
  "urgency": "Alta",
  "bug": false,
  "estimated_time": "008:00",
  "worked_time": "000:00",
  "budget": "012:00",
  "type_id": 5,
  "contract_id": 19,
  "contract_service_id": null,
  "parent_task_id": null,
  "project_id": 8,
  "project_name": "API Documentation",
  "column_id": 31,
  "column_name": "Backlog",
  "client": {
    "id": 42,
    "name": "Acme Ltda",
    "cnpj": "12.345.678/0001-90",
    "cpf": null
  },
  "responsibles": [
    {
      "id": 17,
      "name": "Ana Silva",
      "isDelivered": false,
      "deliveredAt": null
    },
    {
      "id": 29,
      "name": "Bruno Costa",
      "isDelivered": false,
      "deliveredAt": null
    }
  ],
  "tags": [
    {
      "id": 8,
      "name": "API"
    },
    {
      "id": 13,
      "name": "Documentation"
    }
  ]
}

Authorizations

Authorization
string
header
required

JWT token obtained from /v2/auth/login. Send it in the header: Authorization: Bearer <your_token>

Body

application/json
title
string
required

Title shown on the task card.

Example:

"Document task creation"

description
string

Detailed task description.

Example:

"Add request fields, response schema, and examples for POST /v2/tasks."

client_id
integer

Client ID linked to the task. It must belong to the authenticated account.

Example:

42

responsible_id
integer

Primary responsible user ID.

Example:

17

due_date
string<date-time>

Desired due date in ISO 8601 format.

Example:

"2026-05-20T18:00:00.000Z"

start_date
string<date-time>

Planned start date in ISO 8601 format.

Example:

"2026-05-19T12:00:00.000Z"

finished_at
string<date-time>

Completion timestamp in ISO 8601 format.

Example:

"2026-05-21T21:30:00.000Z"

end_date
string<date-time>

Planned end date in ISO 8601 format.

Example:

"2026-05-30T18:00:00.000Z"

status
integer

Numeric task status. When omitted, the API uses 0.

Example:

0

urgency
string

Urgency label. When omitted, the API uses the raw value Baixa.

Example:

"Alta"

estimated_time
string

Estimated effort in HHH:MM format.

Example:

"008:00"

budget
string

Budgeted effort in HHH:MM format.

Example:

"012:00"

project_id
integer

Project ID for the task.

Example:

8

column_id
integer

Column ID where the task should be created. If omitted with project_id, the API uses the first project column.

Example:

31

competence
integer

Competence linked to the task, when applicable.

Example:

202605

type_id
integer

Task type ID.

Example:

5

contract_id
integer

Related contract ID.

Example:

19

parent_task_id
integer

Parent task ID. When provided, the new task is created as a subtask.

Example:

1201

bug
boolean

Marks the task as a bug.

Example:

false

tags
string

Legacy raw tags field persisted on the task record.

Example:

"fiscal,api"

tagsSelect
string

Comma-separated tag IDs used to create task_tags relationships.

Example:

3813

checklist
string

Checklist payload persisted as a string.

Example:
[
{ "text": "Validate payload", "done": false }
]
received_form_id
integer

ID of the received form that originated the task.

Example:

77

task_followers
object[]

Explicit task followers.

task_tags
object[]

Tags to be attached to the task.

task_responsible
object[]

Additional responsible users. During creation, the API uses the user field to create the relationships.

custom_fields_value
object[]

Custom field values. Each item must include uuid and value.

Response

Task created successfully

id
integer
required

Internal task ID.

Example:

1532

task_id
integer
required

Public numeric task identifier.

Example:

1532

title
string
required
Example:

"Document task creation"

description
string | null
Example:

"Add request fields, response schema, and examples for POST /v2/tasks."

status
integer
Example:

0

due_date
string<date-time> | null
Example:

"2026-05-20T18:00:00.000Z"

delivery_date
string<date-time> | null
Example:

null

start_date
string<date-time> | null
Example:

"2026-05-19T12:00:00.000Z"

end_date
string<date-time> | null
Example:

null

created_at
string<date-time> | null
updated_at
string<date-time> | null
finished_at
string<date-time> | null
urgency
string | null
Example:

"Alta"

bug
boolean
Example:

false

estimated_time
string
Example:

"008:00"

worked_time
string
Example:

"000:00"

budget
string
Example:

"012:00"

type_id
integer | null
Example:

5

contract_id
integer | null
Example:

19

contract_service_id
integer | null
Example:

null

parent_task_id
integer | null
Example:

null

project_id
integer | null
Example:

8

project_name
string | null
Example:

"API Documentation"

column_id
integer | null
Example:

31

column_name
string | null
Example:

"Backlog"

client
object | null
responsibles
object[]
tags
object[]