Skip to content

Create a custom property

POST/api/v1/workspaces/{workspace_slug}/projects/{project_id}/work-item-types/{type_id}/work-item-properties/

Creates a new custom property for a work item type.

Path Parameters

workspace_slug:requiredstring

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.

project_id:requiredstring

The unique identifier of the project.

type_id:requiredstring

The unique identifier for the work item type.

Body Parameters

display_name:requiredstring

Display name shown in the UI.

description:optionalstring

Description of the custom property.

default_value:optionalstring[]

Default value(s) for the property.

validation_rules:optionalobject

Validation rules applied to property values.

is_required:optionalboolean

Whether this property is required when creating work items.

is_active:optionalboolean

Whether this property is currently active.

is_multi:optionalboolean

Whether this property allows multiple values.

options:optionalobject[]

Array of option objects for OPTION type properties. This field can be used while creating a property with type OPTION to set options on the custom property during creation itself. Each option object can contain:

  • name (string): Name of the option
  • description (string): Description of the option
  • is_active (boolean): Whether the option is active
  • sort_order (number): Sort order for the option
  • parent (string): Parent option ID for hierarchical options
  • is_default (boolean): Whether this is the default option
  • logo_props (object): Logo properties for the option

To add or update options on an OPTION property after creation, you can use the APIs from issue-types/options/add-dropdown-options.

Create a custom property
bash
curl -X POST \
  "https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/work-item-types/{type_id}/work-item-properties/" \
  -H "X-API-Key: $PLANE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "display_name": "example-display_name",
  "description": "example-description",
  "default_value": "example-default_value",
  "validation_rules": "example-validation_rules",
  "is_required": true,
  "is_active": true,
  "is_multi": true,
  "options": "example-options"
}'
Response201
json
{
  "id": "project-uuid",
  "name": "Project Name",
  "identifier": "PROJ",
  "description": "Project description",
  "created_at": "2024-01-01T00:00:00Z"
}