Add custom property values ​
POST/api/v1/workspaces/{slug}/projects/{project_id}/work-items/{work_item_id}/work-item-properties/{property_id}/values/
Create or update the property value for a work item. Acts as an upsert operation since only one value is allowed per work item/property combination.
Path Parameters ​
project_id:requiredstringProject ID
property_id:requiredstringProperty ID
slug:requiredstringWorkspace slug
work_item_id:requiredstringWork item id.
Body Parameters ​
value:requiredobjectThe value to set for the property. Type depends on property type: string for text/url/email/file fields, string (UUID) or list of UUIDs for relations/options (list only when is_multi=True), string (YYYY-MM-DD) for dates, number for decimals, boolean for booleans
external_id:optionalstringOptional external identifier for syncing with external systems
external_source:optionalstringOptional external source identifier (e.g., 'github', 'jira')
Scopes ​
projects.work_item_property_values:write
Add custom property values
bash
curl -X POST \
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/550e8400-e29b-41d4-a716-446655440000/work-items/550e8400-e29b-41d4-a716-446655440001/work-item-properties/550e8400-e29b-41d4-a716-446655440001/values/" \
-H "X-API-Key: $PLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"value": "example text value",
"external_id": "550e8400-e29b-41d4-a716-446655440000",
"external_source": "github"
}'python
import requests
response = requests.post(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/550e8400-e29b-41d4-a716-446655440000/work-items/550e8400-e29b-41d4-a716-446655440001/work-item-properties/550e8400-e29b-41d4-a716-446655440001/values/",
headers={"X-API-Key": "your-api-key"},
json={
"value": "example text value",
"external_id": "550e8400-e29b-41d4-a716-446655440000",
"external_source": "github"
}
)
print(response.json())javascript
const response = await fetch(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/550e8400-e29b-41d4-a716-446655440000/work-items/550e8400-e29b-41d4-a716-446655440001/work-item-properties/550e8400-e29b-41d4-a716-446655440001/values/",
{
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
value: "example text value",
external_id: "550e8400-e29b-41d4-a716-446655440000",
external_source: "github",
}),
}
);
const data = await response.json();Response200
json
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"property_id": "550e8400-e29b-41d4-a716-446655440000",
"issue_id": "550e8400-e29b-41d4-a716-446655440000",
"value": "Example Name",
"value_type": "Example Name",
"external_id": "550e8400-e29b-41d4-a716-446655440000",
"external_source": "github",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
