Skip to main content
POST
https://api.plane.so
/
api
/
v1
/
workspaces
/
{workspace_slug}
/
projects
/
{project_id}
/
work-item-types
/
{type_id}
/
work-item-properties
Create a custom property
curl --request POST \
  --url https://api.plane.so/api/v1/workspaces/{workspace_slug}/projects/{project_id}/work-item-types/{type_id}/work-item-properties/ \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "display_name": "<string>",
  "description": "<string>",
  "property_type": "<string>",
  "relation_type": "<string>",
  "default_value": [
    "<string>"
  ],
  "validation_rules": {},
  "is_required": true,
  "is_active": true,
  "is_multi": true,
  "options": [
    {}
  ]
}
'

Path parameters

workspace_slug
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.
project_id
string
required
The unique identifier of the project.
type_id
string
required
The unique identifier for the work item type.

Body parameters

display_name
string
required
Display name shown in the UI.
description
string
Description of the custom property.
property_type
string
Type of the property. Possible values: TEXT, DATETIME, DECIMAL, BOOLEAN, OPTION, RELATION.
relation_type
string
Relation type if the property links to other entities. Possible values: null, USER.
default_value
string[]
Default value(s) for the property.
validation_rules
object
Validation rules applied to property values.
is_required
boolean
Whether this property is required when creating work items.
is_active
boolean
Whether this property is currently active.
is_multi
boolean
Whether this property allows multiple values.
options
object[]
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.