Update a customer property
curl --request PATCH \
--url https://api.plane.so/api/v1/workspaces/{workspace_slug}/customer-properties/{property_id}/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"property_type": "<string>",
"relation_type": "<string>",
"is_required": true,
"is_multi": true,
"is_active": true,
"sort_order": 123,
"default_value": [
"<string>"
],
"settings": {},
"validation_rules": {},
"logo_props": {},
"external_source": "<string>",
"external_id": "<string>"
}
'import requests
url = "https://api.plane.so/api/v1/workspaces/{workspace_slug}/customer-properties/{property_id}/"
payload = {
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"property_type": "<string>",
"relation_type": "<string>",
"is_required": True,
"is_multi": True,
"is_active": True,
"sort_order": 123,
"default_value": ["<string>"],
"settings": {},
"validation_rules": {},
"logo_props": {},
"external_source": "<string>",
"external_id": "<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>',
display_name: '<string>',
description: '<string>',
property_type: '<string>',
relation_type: '<string>',
is_required: true,
is_multi: true,
is_active: true,
sort_order: 123,
default_value: ['<string>'],
settings: {},
validation_rules: {},
logo_props: {},
external_source: '<string>',
external_id: '<string>'
})
};
fetch('https://api.plane.so/api/v1/workspaces/{workspace_slug}/customer-properties/{property_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}/customer-properties/{property_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>',
'display_name' => '<string>',
'description' => '<string>',
'property_type' => '<string>',
'relation_type' => '<string>',
'is_required' => true,
'is_multi' => true,
'is_active' => true,
'sort_order' => 123,
'default_value' => [
'<string>'
],
'settings' => [
],
'validation_rules' => [
],
'logo_props' => [
],
'external_source' => '<string>',
'external_id' => '<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}/customer-properties/{property_id}/"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"property_type\": \"<string>\",\n \"relation_type\": \"<string>\",\n \"is_required\": true,\n \"is_multi\": true,\n \"is_active\": true,\n \"sort_order\": 123,\n \"default_value\": [\n \"<string>\"\n ],\n \"settings\": {},\n \"validation_rules\": {},\n \"logo_props\": {},\n \"external_source\": \"<string>\",\n \"external_id\": \"<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}/customer-properties/{property_id}/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"property_type\": \"<string>\",\n \"relation_type\": \"<string>\",\n \"is_required\": true,\n \"is_multi\": true,\n \"is_active\": true,\n \"sort_order\": 123,\n \"default_value\": [\n \"<string>\"\n ],\n \"settings\": {},\n \"validation_rules\": {},\n \"logo_props\": {},\n \"external_source\": \"<string>\",\n \"external_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.so/api/v1/workspaces/{workspace_slug}/customer-properties/{property_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 \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"property_type\": \"<string>\",\n \"relation_type\": \"<string>\",\n \"is_required\": true,\n \"is_multi\": true,\n \"is_active\": true,\n \"sort_order\": 123,\n \"default_value\": [\n \"<string>\"\n ],\n \"settings\": {},\n \"validation_rules\": {},\n \"logo_props\": {},\n \"external_source\": \"<string>\",\n \"external_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyCustomer Properties
Update a customer property
Updates an existing customer property definition by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
PATCH
/
api
/
v1
/
workspaces
/
{workspace_slug}
/
customer-properties
/
{property_id}
/
Update a customer property
curl --request PATCH \
--url https://api.plane.so/api/v1/workspaces/{workspace_slug}/customer-properties/{property_id}/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"property_type": "<string>",
"relation_type": "<string>",
"is_required": true,
"is_multi": true,
"is_active": true,
"sort_order": 123,
"default_value": [
"<string>"
],
"settings": {},
"validation_rules": {},
"logo_props": {},
"external_source": "<string>",
"external_id": "<string>"
}
'import requests
url = "https://api.plane.so/api/v1/workspaces/{workspace_slug}/customer-properties/{property_id}/"
payload = {
"name": "<string>",
"display_name": "<string>",
"description": "<string>",
"property_type": "<string>",
"relation_type": "<string>",
"is_required": True,
"is_multi": True,
"is_active": True,
"sort_order": 123,
"default_value": ["<string>"],
"settings": {},
"validation_rules": {},
"logo_props": {},
"external_source": "<string>",
"external_id": "<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>',
display_name: '<string>',
description: '<string>',
property_type: '<string>',
relation_type: '<string>',
is_required: true,
is_multi: true,
is_active: true,
sort_order: 123,
default_value: ['<string>'],
settings: {},
validation_rules: {},
logo_props: {},
external_source: '<string>',
external_id: '<string>'
})
};
fetch('https://api.plane.so/api/v1/workspaces/{workspace_slug}/customer-properties/{property_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}/customer-properties/{property_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>',
'display_name' => '<string>',
'description' => '<string>',
'property_type' => '<string>',
'relation_type' => '<string>',
'is_required' => true,
'is_multi' => true,
'is_active' => true,
'sort_order' => 123,
'default_value' => [
'<string>'
],
'settings' => [
],
'validation_rules' => [
],
'logo_props' => [
],
'external_source' => '<string>',
'external_id' => '<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}/customer-properties/{property_id}/"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"property_type\": \"<string>\",\n \"relation_type\": \"<string>\",\n \"is_required\": true,\n \"is_multi\": true,\n \"is_active\": true,\n \"sort_order\": 123,\n \"default_value\": [\n \"<string>\"\n ],\n \"settings\": {},\n \"validation_rules\": {},\n \"logo_props\": {},\n \"external_source\": \"<string>\",\n \"external_id\": \"<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}/customer-properties/{property_id}/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"property_type\": \"<string>\",\n \"relation_type\": \"<string>\",\n \"is_required\": true,\n \"is_multi\": true,\n \"is_active\": true,\n \"sort_order\": 123,\n \"default_value\": [\n \"<string>\"\n ],\n \"settings\": {},\n \"validation_rules\": {},\n \"logo_props\": {},\n \"external_source\": \"<string>\",\n \"external_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.so/api/v1/workspaces/{workspace_slug}/customer-properties/{property_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 \"display_name\": \"<string>\",\n \"description\": \"<string>\",\n \"property_type\": \"<string>\",\n \"relation_type\": \"<string>\",\n \"is_required\": true,\n \"is_multi\": true,\n \"is_active\": true,\n \"sort_order\": 123,\n \"default_value\": [\n \"<string>\"\n ],\n \"settings\": {},\n \"validation_rules\": {},\n \"logo_props\": {},\n \"external_source\": \"<string>\",\n \"external_id\": \"<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 customer property.
Body parameters
string
Name of the property.
string
Display name of the property.
string
Description of the property.
string
Type of the property.
string
Relation type of the property.
boolean
Whether the property is required.
boolean
Whether the property supports multiple values.
boolean
Whether the property is active.
number
Sort order for the property.
string[]
Default values for the property.
object
Settings for the property.
object
Validation rules for the property.
object
Logo properties for the property.
string
External source identifier.
string
External ID from the external source.

