Update an initiative
curl --request PATCH \
--url https://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_id}/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"description": "<string>",
"description_html": "<string>",
"description_stripped": "<string>",
"description_binary": "<string>",
"lead": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"logo_props": {},
"state": "<string>"
}
'import requests
url = "https://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_id}/"
payload = {
"name": "<string>",
"description": "<string>",
"description_html": "<string>",
"description_stripped": "<string>",
"description_binary": "<string>",
"lead": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"logo_props": {},
"state": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
description_html: '<string>',
description_stripped: '<string>',
description_binary: '<string>',
lead: '<string>',
start_date: '<string>',
end_date: '<string>',
logo_props: {},
state: '<string>'
})
};
fetch('https://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_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.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_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([
'name' => '<string>',
'description' => '<string>',
'description_html' => '<string>',
'description_stripped' => '<string>',
'description_binary' => '<string>',
'lead' => '<string>',
'start_date' => '<string>',
'end_date' => '<string>',
'logo_props' => [
],
'state' => '<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://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_id}/"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"description_html\": \"<string>\",\n \"description_stripped\": \"<string>\",\n \"description_binary\": \"<string>\",\n \"lead\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"logo_props\": {},\n \"state\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_id}/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"description_html\": \"<string>\",\n \"description_stripped\": \"<string>\",\n \"description_binary\": \"<string>\",\n \"lead\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"logo_props\": {},\n \"state\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"description_html\": \"<string>\",\n \"description_stripped\": \"<string>\",\n \"description_binary\": \"<string>\",\n \"lead\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"logo_props\": {},\n \"state\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyInitiatives
Update an initiative
Updates an existing initiative by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
PATCH
/
api
/
v1
/
workspaces
/
{workspace_slug}
/
initiatives
/
{initiative_id}
/
Update an initiative
curl --request PATCH \
--url https://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_id}/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"description": "<string>",
"description_html": "<string>",
"description_stripped": "<string>",
"description_binary": "<string>",
"lead": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"logo_props": {},
"state": "<string>"
}
'import requests
url = "https://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_id}/"
payload = {
"name": "<string>",
"description": "<string>",
"description_html": "<string>",
"description_stripped": "<string>",
"description_binary": "<string>",
"lead": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"logo_props": {},
"state": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
description_html: '<string>',
description_stripped: '<string>',
description_binary: '<string>',
lead: '<string>',
start_date: '<string>',
end_date: '<string>',
logo_props: {},
state: '<string>'
})
};
fetch('https://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_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.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_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([
'name' => '<string>',
'description' => '<string>',
'description_html' => '<string>',
'description_stripped' => '<string>',
'description_binary' => '<string>',
'lead' => '<string>',
'start_date' => '<string>',
'end_date' => '<string>',
'logo_props' => [
],
'state' => '<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://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_id}/"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"description_html\": \"<string>\",\n \"description_stripped\": \"<string>\",\n \"description_binary\": \"<string>\",\n \"lead\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"logo_props\": {},\n \"state\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_id}/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"description_html\": \"<string>\",\n \"description_stripped\": \"<string>\",\n \"description_binary\": \"<string>\",\n \"lead\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"logo_props\": {},\n \"state\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.so/api/v1/workspaces/{workspace_slug}/initiatives/{initiative_id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"description_html\": \"<string>\",\n \"description_stripped\": \"<string>\",\n \"description_binary\": \"<string>\",\n \"lead\": \"<string>\",\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"logo_props\": {},\n \"state\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyPath parameters
string
required
The workspace_slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL
https://app.plane.so/my-team/projects/, the workspace slug is my-team.string
required
The unique identifier for the initiative.
Body parameters
string
required
Name of the initiative.
string
Plain text description of the initiative.
string
HTML-formatted description of the initiative.
string
Stripped version of the HTML description.
string
Binary representation of the description.
string
ID of the user who leads the initiative.
string
Start date in YYYY-MM-DD format.
string
End date in YYYY-MM-DD format.
object
Logo properties for the initiative
string
Current state of the initiative. Possible values:
DRAFT, PLANNED, ACTIVE, COMPLETED, CLOSED.
