Get a property option
Retrieve one option by id. Reach for this when you already hold an option id — from a work item's property value, a webhook payload, or a stored mapping — and need its current label, description, or default flag.
Reads work in either work item type mode, so this endpoint keeps returning data even in a workspace where option writes live on the workspace surface. See Work item type modes.
Path Parameters
slug:requiredstringThe workspace slug. It appears in your Plane URLs — in https://app.plane.so/my-team/projects/, the slug is my-team.
project_id:requiredstring (uuid)The project that owns the property.
property_id:requiredstring (uuid)The OPTION property the option belongs to. See Work item properties.
pk:requiredstring (uuid)The id of the option to retrieve. Every ancestor in the path is enforced — an option id that belongs to a different property returns 404 rather than the option's data.
Scopes
projects.work_item_properties:read
Errors
| Status | Code | Cause |
|---|---|---|
401 | unauthorized | Missing or invalid credentials. |
403 | forbidden | Your role or token scope can't read this project's properties. |
404 | resource_not_found | No such option, property, project, or workspace — or the option belongs to a different property. |
429 | rate_limited | Throttled. Honor the Retry-After header before retrying. |
Existence is never leaked
An option outside your tenant returns 404, not 403. If a cached id starts returning 404, re-read the property's choices with List property options instead of retrying.
No expansion on options
Property options don't accept ?expand=. The response is the flat option object shown here.
curl -X GET \
"https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b/work-item-properties/c1a7f2d8-6b34-4e59-9f80-2d4a7c31e6b5/options/9d3b5c71-2e48-4a6f-b1c9-7f0e83d25a64/" \
-H "X-Api-Key: $PLANE_API_KEY"import requests
response = requests.get(
"https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b/work-item-properties/c1a7f2d8-6b34-4e59-9f80-2d4a7c31e6b5/options/9d3b5c71-2e48-4a6f-b1c9-7f0e83d25a64/",
headers={"X-Api-Key": "your-api-key"},
)
print(response.json())const response = await fetch(
"https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b/work-item-properties/c1a7f2d8-6b34-4e59-9f80-2d4a7c31e6b5/options/9d3b5c71-2e48-4a6f-b1c9-7f0e83d25a64/",
{
headers: {
"X-Api-Key": "your-api-key",
},
}
);
const data = await response.json();{
"id": "9d3b5c71-2e48-4a6f-b1c9-7f0e83d25a64",
"name": "Critical",
"description": "Customer-visible outage",
"is_default": false,
"sort_order": 15000,
"external_id": null,
"external_source": null
}{
"type": "https://api.plane.so/errors/resource-not-found",
"title": "Not Found",
"status": 404,
"code": "resource_not_found",
"detail": "No IssuePropertyOption matches the given query."
}
