curl --request PUT \
--url https://cloud.kaneo.app/api/task/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"status": "<string>",
"projectId": "<string>",
"position": 1073741823,
"description": "<string>",
"startDate": "<string>",
"dueDate": "<string>",
"userId": "<string>"
}
'import requests
url = "https://cloud.kaneo.app/api/task/{id}"
payload = {
"title": "<string>",
"status": "<string>",
"projectId": "<string>",
"position": 1073741823,
"description": "<string>",
"startDate": "<string>",
"dueDate": "<string>",
"userId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
status: '<string>',
projectId: '<string>',
position: 1073741823,
description: '<string>',
startDate: '<string>',
dueDate: '<string>',
userId: '<string>'
})
};
fetch('https://cloud.kaneo.app/api/task/{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://cloud.kaneo.app/api/task/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'status' => '<string>',
'projectId' => '<string>',
'position' => 1073741823,
'description' => '<string>',
'startDate' => '<string>',
'dueDate' => '<string>',
'userId' => '<string>'
]),
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://cloud.kaneo.app/api/task/{id}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"status\": \"<string>\",\n \"projectId\": \"<string>\",\n \"position\": 1073741823,\n \"description\": \"<string>\",\n \"startDate\": \"<string>\",\n \"dueDate\": \"<string>\",\n \"userId\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://cloud.kaneo.app/api/task/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"status\": \"<string>\",\n \"projectId\": \"<string>\",\n \"position\": 1073741823,\n \"description\": \"<string>\",\n \"startDate\": \"<string>\",\n \"dueDate\": \"<string>\",\n \"userId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.kaneo.app/api/task/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"status\": \"<string>\",\n \"projectId\": \"<string>\",\n \"position\": 1073741823,\n \"description\": \"<string>\",\n \"startDate\": \"<string>\",\n \"dueDate\": \"<string>\",\n \"userId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"projectId": "<string>",
"position": 123,
"number": 123,
"userId": "<string>",
"title": "<string>",
"description": "<string>",
"status": "<string>",
"priority": "<string>",
"startDate": "2023-11-07T05:31:56Z",
"dueDate": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"descriptionDeferred": true,
"recurrence": {
"frequency": "daily",
"interval": 50,
"timeZone": "<string>",
"weekdays": [
3
]
},
"customFields": [
{
"fieldId": "<string>",
"value": "<string>"
}
]
}{
"message": "Task not found",
"code": "NOT_FOUND",
"issues": [
{
"path": "body.title",
"message": "Required"
}
],
"missingPermissions": [
"task:update"
]
}{
"message": "Task not found",
"code": "NOT_FOUND",
"issues": [
{
"path": "body.title",
"message": "Required"
}
],
"missingPermissions": [
"task:update"
]
}{
"message": "Task not found",
"code": "NOT_FOUND",
"issues": [
{
"path": "body.title",
"message": "Required"
}
],
"missingPermissions": [
"task:update"
]
}{
"message": "Task not found",
"code": "NOT_FOUND",
"issues": [
{
"path": "body.title",
"message": "Required"
}
],
"missingPermissions": [
"task:update"
]
}{
"message": "Task not found",
"code": "NOT_FOUND",
"issues": [
{
"path": "body.title",
"message": "Required"
}
],
"missingPermissions": [
"task:update"
]
}Update task
Replace every field of a task. Use the single-field routes for narrower edits.
curl --request PUT \
--url https://cloud.kaneo.app/api/task/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"status": "<string>",
"projectId": "<string>",
"position": 1073741823,
"description": "<string>",
"startDate": "<string>",
"dueDate": "<string>",
"userId": "<string>"
}
'import requests
url = "https://cloud.kaneo.app/api/task/{id}"
payload = {
"title": "<string>",
"status": "<string>",
"projectId": "<string>",
"position": 1073741823,
"description": "<string>",
"startDate": "<string>",
"dueDate": "<string>",
"userId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
status: '<string>',
projectId: '<string>',
position: 1073741823,
description: '<string>',
startDate: '<string>',
dueDate: '<string>',
userId: '<string>'
})
};
fetch('https://cloud.kaneo.app/api/task/{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://cloud.kaneo.app/api/task/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'status' => '<string>',
'projectId' => '<string>',
'position' => 1073741823,
'description' => '<string>',
'startDate' => '<string>',
'dueDate' => '<string>',
'userId' => '<string>'
]),
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://cloud.kaneo.app/api/task/{id}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"status\": \"<string>\",\n \"projectId\": \"<string>\",\n \"position\": 1073741823,\n \"description\": \"<string>\",\n \"startDate\": \"<string>\",\n \"dueDate\": \"<string>\",\n \"userId\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://cloud.kaneo.app/api/task/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"status\": \"<string>\",\n \"projectId\": \"<string>\",\n \"position\": 1073741823,\n \"description\": \"<string>\",\n \"startDate\": \"<string>\",\n \"dueDate\": \"<string>\",\n \"userId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.kaneo.app/api/task/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"status\": \"<string>\",\n \"projectId\": \"<string>\",\n \"position\": 1073741823,\n \"description\": \"<string>\",\n \"startDate\": \"<string>\",\n \"dueDate\": \"<string>\",\n \"userId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"projectId": "<string>",
"position": 123,
"number": 123,
"userId": "<string>",
"title": "<string>",
"description": "<string>",
"status": "<string>",
"priority": "<string>",
"startDate": "2023-11-07T05:31:56Z",
"dueDate": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"descriptionDeferred": true,
"recurrence": {
"frequency": "daily",
"interval": 50,
"timeZone": "<string>",
"weekdays": [
3
]
},
"customFields": [
{
"fieldId": "<string>",
"value": "<string>"
}
]
}{
"message": "Task not found",
"code": "NOT_FOUND",
"issues": [
{
"path": "body.title",
"message": "Required"
}
],
"missingPermissions": [
"task:update"
]
}{
"message": "Task not found",
"code": "NOT_FOUND",
"issues": [
{
"path": "body.title",
"message": "Required"
}
],
"missingPermissions": [
"task:update"
]
}{
"message": "Task not found",
"code": "NOT_FOUND",
"issues": [
{
"path": "body.title",
"message": "Required"
}
],
"missingPermissions": [
"task:update"
]
}{
"message": "Task not found",
"code": "NOT_FOUND",
"issues": [
{
"path": "body.title",
"message": "Required"
}
],
"missingPermissions": [
"task:update"
]
}{
"message": "Task not found",
"code": "NOT_FOUND",
"issues": [
{
"path": "body.title",
"message": "Required"
}
],
"missingPermissions": [
"task:update"
]
}Authorizations
API key or session token (Bearer)
Path Parameters
Body
no-priority, low, medium, high, urgent 0 <= x <= 2147483646Omit to preserve the existing description when updating a list summary.
Response
The updated task
Order within its column, ascending.
Per-project counter shown as {projectSlug}-{number}.
The assignee, if any.
The slug of the column the task sits in.
One of: no-priority, low, medium, high, urgent.
True when the list omits a large description; load the task detail or description pages to read it. Do not replace stored text with this null summary.
When a task with this rule moves into a final column, the next task is created with its dates moved forward by one interval from the completed task's due date.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?