Skip to content

Get a property context ​

GET/api/v2/workspaces/{slug}/work-item-properties/{property_id}/contexts/{pk}/

Retrieve one context by id. Use it to confirm the scope and overrides you just wrote, or to read the current state before sending a PATCH.

The response is the full context: the two wildcard flags, the resolved project_ids and issue_type_ids, the values this context imposes on the property, and the options it offers.

Path Parameters ​

slug:requiredstring

The workspace slug. It appears in your Plane URLs — in https://app.plane.so/my-team/projects/, the slug is my-team.

property_id:requiredstring (uuid)

The workspace-level property the context belongs to. A project-level property id is not addressable here and returns 404 not_found.

pk:requiredstring (uuid)

The id of the context to retrieve. A context that belongs to a different property returns 404, even if the id exists.

Response shaping ​

fields:optionalstring

Comma-separated list of fields to return. Unrequested keys are omitted from the response, not returned as null, so absent means "not requested" and null means "actually null". id always comes back whether or not you name it.

Pass all for every requestable field. An unknown name is a 400 that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving.

Requestable here: applies_to_all_projects, applies_to_all_work_item_types, created_at, default_value, external_id, external_source, id, is_default, is_multi, is_required, issue_type_ids, name, options, project_ids, settings, sort_order.

See Sparse fields.

Scopes ​

workspaces.work_item_properties:read

Errors ​

StatusCodeCause
401unauthorizedMissing or invalid credentials.
402payment_requiredThe feature this endpoint belongs to isn't enabled on your plan, or is switched off.
403forbiddenYour role or token scope can't read workspace property settings.
404not_foundNo such context, property, or workspace — or it's outside your tenant.
406not_acceptableThe Accept header asks for a representation the API can't produce.
429rate_limitedThrottled. Honor the Retry-After header before retrying.

Reads work in either mode

Retrieving a context does not depend on how the workspace manages work item types. Only POST, PATCH, and DELETE are mode-gated — see Work item type modes.

Get a property context
bash
curl -X GET \
  "https://api.plane.so/api/v2/workspaces/my-team/work-item-properties/d1f7a3c9-5b62-4e08-9a41-7c3e2f8b6d05/contexts/6e2b90d4-1c73-4f58-a09e-3d8b5c14e7f2/" \
  -H "X-Api-Key: $PLANE_API_KEY"
Response200
json
{
  "id": "6e2b90d4-1c73-4f58-a09e-3d8b5c14e7f2",
  "name": "Bug severity",
  "is_required": true,
  "is_multi": false,
  "is_default": false,
  "default_value": [],
  "settings": {},
  "sort_order": 75535,
  "applies_to_all_projects": false,
  "applies_to_all_work_item_types": false,
  "external_id": null,
  "external_source": null,
  "created_at": "2026-02-03T11:05:17.204918Z",
  "project_ids": ["4af68566-94a4-4eb3-94aa-50dc9427067b", "9c3d7e21-6b45-4a80-8f19-2e0c7b5d3a64"],
  "issue_type_ids": ["b7e04a95-2f18-4c63-9d57-8a12e6b0f439"],
  "options": [
    {
      "id": "c58e2f01-4d97-4b3a-8e26-1f0b7a9c5d34",
      "name": "S1 — Critical",
      "is_default": false,
      "sort_order": 10000
    },
    {
      "id": "a49b6c72-8e15-4d30-b57c-2f81e0a6d938",
      "name": "S2 — Major",
      "is_default": true,
      "sort_order": 20000
    },
    {
      "id": "f13c8a60-7d24-4e59-9b02-6a5f1c3e8d47",
      "name": "S3 — Minor",
      "is_default": false,
      "sort_order": 30000
    }
  ]
}
Response404
json
{
  "type": "not_found",
  "code": "not_found",
  "detail": "No work item property context matches the given query."
}

Reading the response ​

The scope is two pairs of fields, and each pair has to be read in order:

  • applies_to_all_projects, then project_ids. The context above lists two projects. Had the flag been true, project_ids would be [] and the context would cover every project — an empty list is never "no projects".
  • applies_to_all_work_item_types, then issue_type_ids, on the same principle.

is_required, is_multi, default_value, settings, and options are what this context imposes on the property inside that scope. They replace the property's own values rather than combining with them, so reading the property alone will not tell you how it behaves on a given work item — you need the context that resolves for that work item's project and type.

A single context is also not enough to predict behavior on its own, because a more specific context can outrank it. List property contexts returns every context on the property, which is what you need to rank them.