Plane

Plane manages projects, work items, and team planning.

With the Plane block, you can:

  • Manage work: Create and update projects, work items, states, labels, comments, and attachments.
  • Plan delivery: Organize cycles and modules, and summarize project progress.
  • Keep knowledge current: Manage pages and sync project work items or pages into a Sim knowledge base.
  • React to changes: Start agents from authenticated Plane webhook events.

Create a personal access token in Plane's profile settings and enter it as the API token. API v2 is the default. For Community Edition or an older self-hosted instance, select API v1 in the advanced settings and set the instance origin, optionally including its reverse-proxy path prefix. Omit /api/v1 and /api/v2 from the instance URL. The block exposes core workflow actions. Supported self-hosted actions use the same operation list. Resource availability depends on the instance's edition and version.

Explicit empty strings, nulls, and empty arrays can be supplied through Body Overrides using the action's canonical input names. Clearing work item labels and assignees is verified through API v1 because Plane v2 can continue returning deleted relationship IDs. The update action returns the verified cleared state; subsequent v2 reads may still include those IDs. Use API v1 when reading active relationships after a clear.

For webhooks, automatic registration requires API v2, an API token, and the workspace slug. Manual setup requires the webhook signing secret; it does not require an API token or workspace slug. On instances using API v1, create a webhook in Plane's settings and configure its signing secret in Sim. The trigger tables mark only unconditional requirements as required. Project-filtered legacy deletion events that omit their project cannot be matched and are skipped.

The knowledge connector reads API v1 to include full descriptions. It preserves existing documents when a listing is capped and disables automatic deletion reconciliation because offset listings can shift during concurrent changes. Project pages require an edition that exposes the pages API.

In Sim, the Plane block lets your agents triage work, plan delivery, and keep project knowledge available.

Usage Instructions

Connect Plane Cloud or a self-hosted Plane instance. API v2 is the default; choose API v1 for Community Edition or older instances. Actions with a current successor are consolidated. Unsupported version-specific inputs fail explicitly. Manage work items, projects, cycles, modules, states, labels, comments, links, attachments, pages, and webhooks. API v1 compatibility is available within supported current actions.

Actions

Plane Archive a project

Archive a project in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
pkstringYesThe project id.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Archive a work item

Archive a work item in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the work item belongs to.
pkstringYesThe work item's UUID. This lookup is UUID-only — a PROJ-142 identifier here returns 404.
fieldsstringNoComma-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: archived_at, assignee_ids, created_at, created_by_id, custom_fields, cycle_id, id, identifier, is_draft, label_ids, module_ids, name, parent_id, priority, project_id, sequence_id, start_date, state_id, target_date, type_id. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: assignees (the assigned users), cycle (the cycle it belongs to), labels (the applied labels), modules (the modules it belongs to), parent (its parent work item), state (the work item's state object), type (its work item type). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Items
↳ idstringUnique identifier for the work item. This is the \{pk\} on every project-scoped detail route.
↳ namestringName
↳ identifierstringIdentifier
↳ sequence_idnumberSequence id
↳ prioritystringPriority
↳ state_idstringState id
↳ type_idstringType id
↳ assignee_idsarrayAssignee ids
↳ label_idsarrayLabel ids
↳ parent_idstringParent id
↳ start_datestringStart date
↳ target_datestringTarget date
↳ is_draftbooleanIs draft
↳ archived_atstringArchived at
↳ created_atstringCreated at
↳ created_by_idstringCreated by id
↳ custom_fieldsjsonCustom fields
↳ assigneesarrayAssignees
↳ idstringAsset Id
↳ display_namestringAsset Id
↳ avatar_urlstringAsset Id
↳ emailstringAsset Id
↳ cyclejsonCycle
↳ labelsarrayLabels
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ modulesarrayModules
↳ parentobjectParent
↳ idstringAsset Id
↳ namestringAsset Id
↳ sequence_idnumberAccess
↳ stateobjectState
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ groupstringAsset Id
↳ typeobjectType
↳ idstringAsset Id
↳ namestringAsset Id
↳ logo_propsjsonLogo Props
↳ is_epicbooleanHas Pages
↳ cycle_idstringCycle id
↳ module_idsarrayModule ids
↳ project_idstringProject id

Plane Confirm a work item attachment upload

Confirm a work item attachment upload in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
work_item_idstringYesThe work item the resource hangs off. Accepts the work item UUID or its PROJ-123 identifier.
pkstringYesThe attachment id.
is_uploadedbooleanNoWhether is uploaded.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: asset_url, attributes, content_type, created_at, created_by_id, external_id, external_source, id, is_uploaded, name, size, work_item_id.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Item- Attachments
↳ asset_urlstringAsset url
↳ attributesjsonAttributes
↳ content_typestringContent type
↳ created_atstringCreated at
↳ created_by_idstringCreated by id
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ idstringUnique identifier.
↳ is_uploadedbooleanIs uploaded
↳ namestringName
↳ sizejsonSize
↳ work_item_idstringWork item id
successbooleanOperation completed successfully.

Plane Create a work item attachment upload

Create a work item attachment upload in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
work_item_idstringYesThe work item the resource hangs off. Accepts the work item UUID or its PROJ-123 identifier.
namestringYesDisplay name.
sizenumberYesAttachment size in bytes. For signed form uploads, allow room for multipart overhead in the storage policy.
external_idstringNoYour system's identifier for this record, for sync and import correlation. Nullable.
external_sourcestringNoThe system external_id came from, for example github or jira. Nullable.
typestringNoRequired with API v1: attachment type, for example work_item_attachment. Optional with API v2.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: asset_url, attributes, content_type, created_at, created_by_id, external_id, external_source, id, is_uploaded, name, size, work_item_id.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Item- Attachments
↳ asset_urlstringThe asset url.
↳ attributesstringAttributes
↳ content_typestringThe content type.
↳ created_atstringWhen the record was created.
↳ created_by_idstringThe user who created the record.
↳ external_idjsonExternal id
↳ external_sourcejsonExternal source
↳ idstringUnique identifier.
↳ is_uploadedbooleanWhether is uploaded.
↳ namestringDisplay name.
↳ sizejsonSize
↳ work_item_idstringThe related work item.
↳ asset_idstringAsset id
↳ upload_datajsonUpload data
↳ urlstringAsset Id
↳ fieldsjsonFields
↳ attachmentobjectAttachment
↳ idjsonId
↳ asset_urlstringAsset url
↳ attributesjsonAttributes
↳ content_typestringContent type
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ is_uploadedbooleanIs uploaded
↳ namestringName
↳ sizejsonSize
↳ work_item_idstringWork item id
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ assetstringAsset
↳ entity_typestringEntity type
↳ entity_identifierstringEntity identifier
↳ is_deletedbooleanIs deleted
↳ is_archivedbooleanIs archived
↳ storage_metadatajsonStorage metadata
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ userstringUser
↳ workspacestringWorkspace
↳ draft_issuestringDraft issue
↳ projectstringProject
↳ issuestringIssue
↳ commentstringComment
↳ pagestringPage
↳ deleted_byjsonDeleted by
↳ detailstringProvider confirmation message.

Plane Create a comment

Create a comment in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the work item belongs to.
work_item_idstringYesThe work item to comment on.
comment_htmlstringNoHTML comment content. Required with API v2; API v1 also supports comment_json.
accessstringNoVisibility of the comment. - INTERNAL — visible to the project team - EXTERNAL — marked as visible outside the team, for example on a published project Omit it to take the server's default. Change it later with a PATCH.
external_idstringNoYour system's identifier for this comment, for sync and import correlation. Maximum 255 characters. Accepts null.
external_sourcestringNoThe system external_id came from, for example github or zendesk. Maximum 255 characters. Accepts null.
fieldsstringNoComma-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: access, actor_id, comment_html, comment_stripped, created_at, created_by_id, edited_at, external_id, external_source, id, work_item_id. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: actor (the comment author). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
comment_jsonjsonNov1 compatibility only. Comment json.
created_atstringNov1 compatibility only. Creation timestamp for imports.
created_bystringNov1 compatibility only. Original creator user ID for imports.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Item- Comments
↳ idjsonId
↳ work_item_idstringWork item id
↳ comment_htmljsonComment html
↳ comment_strippedjsonComment stripped
↳ accessjsonAccess
↳ actor_idstringActor id
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ edited_atstringEdited at
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ actorjsonActor
↳ is_memberbooleanIs member
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ attachmentsarrayAttachments
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ issuestringIssue
↳ parentstringParent
↳ descriptionstringDescription
↳ comment_jsonobjectComment json
↳ typestringType
↳ contentarrayContent
↳ typestringAsset Id
↳ contentarrayContent
↳ typestringAsset Id
↳ textstringAsset Id
↳ deleted_byjsonDeleted by
↳ is_hiddenbooleanIs hidden
↳ created_viajsonCreated via
↳ updated_viajsonUpdated via
↳ hidden_reasonjsonHidden reason
↳ hidden_atjsonHidden at
↳ hidden_byjsonHidden by
↳ sourcejsonSource

Plane Create a cycle

Create a cycle in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project to add the cycle to.
namestringYesDisplay name for the cycle, unique within the project. Maximum 255 characters.
descriptionstringNoFree-form description of what the cycle covers.
start_datestringNoWhen the cycle opens, as an ISO 8601 date-time. Nullable — omit it or send null for an unscheduled cycle.
end_datestringNoWhen the cycle closes, as an ISO 8601 date-time. Nullable.
timezonestringNoThe IANA time zone the cycle's dates are interpreted in, for example America/New_York, Asia/Kolkata, Europe/London, or UTC. Set it to the team's working zone so a cycle boundary lands at local midnight instead of UTC midnight. Any value outside the IANA list is rejected with 400 invalid_request.
sort_ordernumberNoOrdering weight for the cycle within the project. Lower values sort first when you list with ?order_by=sort_order.
logo_propsjsonNoJSON blob holding the cycle's icon configuration, as written by Plane clients. Stored and returned unchanged.
external_idstringNoYour system's identifier for this cycle, for sync and import correlation. Maximum 255 characters. You can find the cycle again later with ?external_id= on [List cycles](https://developers.plane.so/api-reference/v2/cycles/list-cycles).
external_sourcestringNoThe system external_id came from, for example jira or linear. Maximum 255 characters.
fieldsstringNoComma-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: created_at, created_by_id, description, end_date, external_id, external_source, id, logo_props, name, owned_by_id, sort_order, start_date, timezone. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: owned_by (the cycle owner). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
owned_bystringNov1 compatibility only. Cycle owner user ID; defaults to the authenticated user.

Output

ParameterTypeDescription
resultobjectPlane V2 Cycles
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ start_datestringStart date
↳ end_datestringEnd date
↳ timezonejsonTimezone
↳ owned_by_idstringOwned by id
↳ sort_orderjsonSort order
↳ logo_propsjsonLogo props
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ owned_byjsonOwned by
↳ total_issuesjsonTotal issues
↳ cancelled_issuesjsonCancelled issues
↳ completed_issuesjsonCompleted issues
↳ started_issuesjsonStarted issues
↳ unstarted_issuesjsonUnstarted issues
↳ backlog_issuesjsonBacklog issues
↳ total_estimatesnumberTotal estimates
↳ completed_estimatesnumberCompleted estimates
↳ started_estimatesnumberStarted estimates
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ view_propsjsonView props
↳ progress_snapshotjsonProgress snapshot
↳ archived_atstringArchived at
↳ versionjsonVersion
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ statusstringStatus
↳ deleted_byjsonDeleted by

Plane Create a label

Create a label in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project to add the label to.
namestringYesDisplay name for the label, unique within the project. Maximum 255 characters.
colorstringNoHex color used wherever the label is rendered, for example #e5484d. Maximum 255 characters. Send one if the label needs to be recognizable at a glance on a board.
descriptionstringNoFree-form note about what the label is for and when to apply it.
parent_idstringNoThe label this one nests under, for grouping related tags such as Billing and Search beneath an Area label. The parent must be a label in the same project — an id from another project is a 400, not a silent link. Omit it, or send null, for a top-level label.
sort_ordernumberNoOrdering weight within the project. Lower values sort first. Assigned automatically when omitted, so send it only when you are recreating a specific order.
external_idstringNoYour system's identifier for this label, for sync and import correlation. Maximum 255 characters. Store it here and you can find the label later with ?external_id=, without keeping a map of Plane ids.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters.
fieldsstringNoComma-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: color, created_at, created_by_id, description, external_id, external_source, id, name, parent_id, sort_order. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).

Output

ParameterTypeDescription
resultobjectPlane V2 Labels
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ colorjsonColor
↳ sort_orderjsonSort order
↳ parent_idstringParent id
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ workspacestringWorkspace
↳ projectstringProject
↳ parentstringParent
↳ deleted_byjsonDeleted by

Create a link in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
work_item_idstringYesThe work item the resource hangs off. Accepts the work item UUID or its PROJ-123 identifier.
urlstringYesTarget URL.
metadatajsonNoJSON metadata object for the link. API v2 only.
titlestringNoTitle. Maximum 255 characters. Nullable.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: created_at, created_by_id, id, metadata, title, url, work_item_id.
created_bystringNov1 compatibility only. Original creator user ID for imports.
issue_idstringNov1 compatibility only. Work item ID for the link.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Item- Links
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ idjsonId
↳ metadatajsonMetadata
↳ titlejsonTitle
↳ urljsonUrl
↳ work_item_idstringWork item id
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ issuestringIssue
↳ deleted_byjsonDeleted by

Plane Create a module

Create a module in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project to create the module in.
namestringYesDisplay name for the module, unique within the project. Maximum 255 characters.
descriptionstringNoPlain-text summary of what the module covers.
statusstringNoWhere the module sits in its lifecycle. - backlog — Captured, not yet committed to - planned — Committed to but not started - in-progress — Actively being worked on - paused — Started, then put on hold - completed — Delivered - cancelled — Dropped without delivering Defaults to planned when omitted. A value outside this list is a 400 invalid_request.
start_datestringNoDate the module is scheduled to begin, as YYYY-MM-DD. Nullable.
target_datestringNoDate the module is expected to land, as YYYY-MM-DD. Nullable, and must not be earlier than start_date.
lead_idstringNoThe user accountable for the module. Must be a member of this project — any other user id is rejected with a 400 naming lead_id, never linked silently. Nullable.
sort_ordernumberNoOrdering weight used when modules are listed. Lower values sort first. In a project that already has modules, Plane positions the new module ahead of them on create, so send sort_order in a follow-up PATCH if you need a specific slot.
logo_propsjsonNoFree-form JSON object holding the icon Plane renders for the module.
external_idstringNoYour system's identifier for this module, for sync and import correlation. Maximum 255 characters. Nullable.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters. Nullable.
fieldsstringNoComma-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: archived_at, created_at, created_by_id, description, external_id, external_source, id, lead_id, logo_props, member_ids, name, sort_order, start_date, status, target_date. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: lead (the module lead), members (the module members). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
membersjsonNov1 compatibility only. Members.

Output

ParameterTypeDescription
resultobjectPlane V2 Modules
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ statusjsonStatus
↳ start_datestringStart date
↳ target_datestringTarget date
↳ lead_idstringLead id
↳ member_idsarrayMember ids
↳ sort_orderjsonSort order
↳ logo_propsjsonLogo props
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ archived_atstringArchived at
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ leadjsonLead
↳ membersarrayMembers
↳ total_issuesjsonTotal issues
↳ cancelled_issuesjsonCancelled issues
↳ completed_issuesjsonCompleted issues
↳ started_issuesjsonStarted issues
↳ unstarted_issuesjsonUnstarted issues
↳ backlog_issuesjsonBacklog issues
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ description_textjsonDescription text
↳ description_htmljsonDescription html
↳ view_propsjsonView props
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ deleted_byjsonDeleted by

Plane Create a project

Create a project in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
identifierstringYesShort project key used to prefix work item numbers, for example ENG in ENG-142. Maximum 255 characters.
namestringYesDisplay name. Maximum 255 characters.
archive_innumberNoThe archive in.
close_innumberNoThe close in.
cover_imagestringNoURL of the cover image. Nullable.
cycle_viewbooleanNoWhether cycle view.
default_assignee_idstringNoId of the related default assignee. Nullable.
default_state_idstringNoId of the related default state. Nullable.
descriptionstringNoFree-form description.
emojistringNoEmoji shown alongside the name. Maximum 255 characters. Nullable.
estimate_idstringNoId of the related estimate. Nullable.
external_idstringNoYour system's identifier for this record, for sync and import correlation. Maximum 255 characters. Nullable.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters. Nullable.
guest_view_all_featuresbooleanNoWhether guest view all features.
icon_propstringNoThe icon prop. Nullable.
intake_viewbooleanNoWhether intake view.
is_issue_type_enabledbooleanNoWhether is issue type enabled.
is_time_tracking_enabledbooleanNoWhether is time tracking enabled.
issue_views_viewbooleanNoWhether issue views view.
logo_propsstringNoEditor-owned logo descriptor. Pass back what you read rather than composing it by hand.
module_viewbooleanNoWhether module view.
networkstringNoProject visibility: 0 is private to members, 2 is visible to the whole workspace.
page_viewbooleanNoWhether page view.
prioritystringNo- none - None - low - Low - medium - Medium - high - High - urgent - Urgent One of none, low, medium, high, urgent.
project_lead_idstringNoId of the related project lead. Nullable.
start_datestringNoPlanned start date, as YYYY-MM-DD. Nullable.
state_idstringNoId of the related state. Nullable.
target_datestringNoPlanned due date, as YYYY-MM-DD. Nullable.
timezonestringNo- Africa/Abidjan - Africa/Abidjan - Africa/Accra - Africa/Accra - Africa/Addis_Ababa - Africa/Addis_Ababa - Africa/Algiers - Africa/Algiers - Africa/Asmara - Africa/Asmara - Africa/Bamako - Africa/Bamako - Africa/Bangui - Africa/Bangui - Africa/Banjul - Africa/Banjul - Africa/Bissau - Africa/Bissau - Africa/Blantyre - Africa/Blantyre - Africa/Brazzaville - Africa/Brazzaville - Africa/Bujumbura - Africa/Bujumbura - Africa/Cairo - Africa/Cairo - Africa/Casablanca - Africa/Casablanca - Africa/Ceuta - Africa/Ceuta - Africa/Conakry - Africa/Conakry - Africa/Dakar - Africa/Dakar - Africa/Dar_es_Salaam - Africa/Dar_es_Salaam - Africa/Djibouti - Africa/Djibouti - Africa/Douala - Africa/Douala - Africa/El_Aaiun - Africa/El_Aaiun - Africa/Freetown - Africa/Freetown - Africa/Gaborone - Africa/Gaborone - Africa/Harare - Africa/Harare - Africa/Johannesburg - Africa/Johannesburg - Africa/Juba - Africa/Juba - Africa/Kampala - Africa/Kampala - Africa/Khartoum - Africa/Khartoum - Africa/Kigali - Africa/Kigali - Africa/Kinshasa - Africa/Kinshasa - Africa/Lagos - Africa/Lagos - Africa/Libreville - Africa/Libreville - Africa/Lome - Africa/Lome - Africa/Luanda - Africa/Luanda - Africa/Lubumbashi - Africa/Lubumbashi - Africa/Lusaka - Africa/Lusaka - Africa/Malabo - Africa/Malabo - Africa/Maputo - Africa/Maputo - Africa/Maseru - Africa/Maseru - Africa/Mbabane - Africa/Mbabane - Africa/Mogadishu - Africa/Mogadishu - Africa/Monrovia - Africa/Monrovia - Africa/Nairobi - Africa/Nairobi - Africa/Ndjamena - Africa/Ndjamena - Africa/Niamey - Africa/Niamey - Africa/Nouakchott - Africa/Nouakchott - Africa/Ouagadougou - Africa/Ouagadougou - Africa/Porto-Novo - Africa/Porto-Novo - Africa/Sao_Tome - Africa/Sao_Tome - Africa/Tripoli - Africa/Tripoli - Africa/Tunis - Africa/Tunis - Africa/Windhoek - Africa/Windhoek - America/Adak - America/Adak - America/Anchorage - America/Anchorage - America/Anguilla - America/Anguilla - America/Antigua - America/Antigua - America/Araguaina - America/Araguaina - America/Argentina/Buenos_Aires - America/Argentina/Buenos_Aires - America/Argentina/Catamarca - America/Argentina/Catamarca - America/Argentina/Cordoba - America/Argentina/Cordoba - America/Argentina/Jujuy - America/Argentina/Jujuy - America/Argentina/La_Rioja - America/Argentina/La_Rioja - America/Argentina/Mendoza - America/Argentina/Mendoza - America/Argentina/Rio_Gallegos - America/Argentina/Rio_Gallegos - America/Argentina/Salta - America/Argentina/Salta - America/Argentina/San_Juan - America/Argentina/San_Juan - America/Argentina/San_Luis - America/Argentina/San_Luis - America/Argentina/Tucuman - America/Argentina/Tucuman - America/Argentina/Ushuaia - America/Argentina/Ushuaia - America/Aruba - America/Aruba - America/Asuncion - America/Asuncion - America/Atikokan - America/Atikokan - America/Bahia - America/Bahia - America/Bahia_Banderas - America/Bahia_Banderas - America/Barbados - America/Barbados - America/Belem - America/Belem - America/Belize - America/Belize - America/Blanc-Sablon - America/Blanc-Sablon - America/Boa_Vista - America/Boa_Vista - America/Bogota - America/Bogota - America/Boise - America/Boise - America/Cambridge_Bay - America/Cambridge_Bay - America/Campo_Grande - America/Campo_Grande - America/Cancun - America/Cancun - America/Caracas - America/Caracas - America/Cayenne - America/Cayenne - America/Cayman - America/Cayman - America/Chicago - America/Chicago - America/Chihuahua - America/Chihuahua - America/Ciudad_Juarez - America/Ciudad_Juarez - America/Costa_Rica - America/Costa_Rica - America/Creston - America/Creston - America/Cuiaba - America/Cuiaba - America/Curacao - America/Curacao - America/Danmarkshavn - America/Danmarkshavn - America/Dawson - America/Dawson - America/Dawson_Creek - America/Dawson_Creek - America/Denver - America/Denver - America/Detroit - America/Detroit - America/Dominica - America/Dominica - America/Edmonton - America/Edmonton - America/Eirunepe - America/Eirunepe - America/El_Salvador - America/El_Salvador - America/Fort_Nelson - America/Fort_Nelson - America/Fortaleza - America/Fortaleza - America/Glace_Bay - America/Glace_Bay - America/Goose_Bay - America/Goose_Bay - America/Grand_Turk - America/Grand_Turk - America/Grenada - America/Grenada - America/Guadeloupe - America/Guadeloupe - America/Guatemala - America/Guatemala - America/Guayaquil - America/Guayaquil - America/Guyana - America/Guyana - America/Halifax - America/Halifax - America/Havana - America/Havana - America/Hermosillo - America/Hermosillo - America/Indiana/Indianapolis - America/Indiana/Indianapolis - America/Indiana/Knox - America/Indiana/Knox - America/Indiana/Marengo - America/Indiana/Marengo - America/Indiana/Petersburg - America/Indiana/Petersburg - America/Indiana/Tell_City - America/Indiana/Tell_City - America/Indiana/Vevay - America/Indiana/Vevay - America/Indiana/Vincennes - America/Indiana/Vincennes - America/Indiana/Winamac - America/Indiana/Winamac - America/Inuvik - America/Inuvik - America/Iqaluit - America/Iqaluit - America/Jamaica - America/Jamaica - America/Juneau - America/Juneau - America/Kentucky/Louisville - America/Kentucky/Louisville - America/Kentucky/Monticello - America/Kentucky/Monticello - America/Kralendijk - America/Kralendijk - America/La_Paz - America/La_Paz - America/Lima - America/Lima - America/Los_Angeles - America/Los_Angeles - America/Lower_Princes - America/Lower_Princes - America/Maceio - America/Maceio - America/Managua - America/Managua - America/Manaus - America/Manaus - America/Marigot - America/Marigot - America/Martinique - America/Martinique - America/Matamoros - America/Matamoros - America/Mazatlan - America/Mazatlan - America/Menominee - America/Menominee - America/Merida - America/Merida - America/Metlakatla - America/Metlakatla - America/Mexico_City - America/Mexico_City - America/Miquelon - America/Miquelon - America/Moncton - America/Moncton - America/Monterrey - America/Monterrey - America/Montevideo - America/Montevideo - America/Montserrat - America/Montserrat - America/Nassau - America/Nassau - America/New_York - America/New_York - America/Nome - America/Nome - America/Noronha - America/Noronha - America/North_Dakota/Beulah - America/North_Dakota/Beulah - America/North_Dakota/Center - America/North_Dakota/Center - America/North_Dakota/New_Salem - America/North_Dakota/New_Salem - America/Nuuk - America/Nuuk - America/Ojinaga - America/Ojinaga - America/Panama - America/Panama - America/Paramaribo - America/Paramaribo - America/Phoenix - America/Phoenix - America/Port-au-Prince - America/Port-au-Prince - America/Port_of_Spain - America/Port_of_Spain - America/Porto_Velho - America/Porto_Velho - America/Puerto_Rico - America/Puerto_Rico - America/Punta_Arenas - America/Punta_Arenas - America/Rankin_Inlet - America/Rankin_Inlet - America/Recife - America/Recife - America/Regina - America/Regina - America/Resolute - America/Resolute - America/Rio_Branco - America/Rio_Branco - America/Santarem - America/Santarem - America/Santiago - America/Santiago - America/Santo_Domingo - America/Santo_Domingo - America/Sao_Paulo - America/Sao_Paulo - America/Scoresbysund - America/Scoresbysund - America/Sitka - America/Sitka - America/St_Barthelemy - America/St_Barthelemy - America/St_Johns - America/St_Johns - America/St_Kitts - America/St_Kitts - America/St_Lucia - America/St_Lucia - America/St_Thomas - America/St_Thomas - America/St_Vincent - America/St_Vincent - America/Swift_Current - America/Swift_Current - America/Tegucigalpa - America/Tegucigalpa - America/Thule - America/Thule - America/Tijuana - America/Tijuana - America/Toronto - America/Toronto - America/Tortola - America/Tortola - America/Vancouver - America/Vancouver - America/Whitehorse - America/Whitehorse - America/Winnipeg - America/Winnipeg - America/Yakutat - America/Yakutat - Antarctica/Casey - Antarctica/Casey - Antarctica/Davis - Antarctica/Davis - Antarctica/DumontDUrville - Antarctica/DumontDUrville - Antarctica/Macquarie - Antarctica/Macquarie - Antarctica/Mawson - Antarctica/Mawson - Antarctica/McMurdo - Antarctica/McMurdo - Antarctica/Palmer - Antarctica/Palmer - Antarctica/Rothera - Antarctica/Rothera - Antarctica/Syowa - Antarctica/Syowa - Antarctica/Troll - Antarctica/Troll - Antarctica/Vostok - Antarctica/Vostok - Arctic/Longyearbyen - Arctic/Longyearbyen - Asia/Aden - Asia/Aden - Asia/Almaty - Asia/Almaty - Asia/Amman - Asia/Amman - Asia/Anadyr - Asia/Anadyr - Asia/Aqtau - Asia/Aqtau - Asia/Aqtobe - Asia/Aqtobe - Asia/Ashgabat - Asia/Ashgabat - Asia/Atyrau - Asia/Atyrau - Asia/Baghdad - Asia/Baghdad - Asia/Bahrain - Asia/Bahrain - Asia/Baku - Asia/Baku - Asia/Bangkok - Asia/Bangkok - Asia/Barnaul - Asia/Barnaul - Asia/Beirut - Asia/Beirut - Asia/Bishkek - Asia/Bishkek - Asia/Brunei - Asia/Brunei - Asia/Chita - Asia/Chita - Asia/Choibalsan - Asia/Choibalsan - Asia/Colombo - Asia/Colombo - Asia/Damascus - Asia/Damascus - Asia/Dhaka - Asia/Dhaka - Asia/Dili - Asia/Dili - Asia/Dubai - Asia/Dubai - Asia/Dushanbe - Asia/Dushanbe - Asia/Famagusta - Asia/Famagusta - Asia/Gaza - Asia/Gaza - Asia/Hebron - Asia/Hebron - Asia/Ho_Chi_Minh - Asia/Ho_Chi_Minh - Asia/Hong_Kong - Asia/Hong_Kong - Asia/Hovd - Asia/Hovd - Asia/Irkutsk - Asia/Irkutsk - Asia/Jakarta - Asia/Jakarta - Asia/Jayapura - Asia/Jayapura - Asia/Jerusalem - Asia/Jerusalem - Asia/Kabul - Asia/Kabul - Asia/Kamchatka - Asia/Kamchatka - Asia/Karachi - Asia/Karachi - Asia/Kathmandu - Asia/Kathmandu - Asia/Khandyga - Asia/Khandyga - Asia/Kolkata - Asia/Kolkata - Asia/Krasnoyarsk - Asia/Krasnoyarsk - Asia/Kuala_Lumpur - Asia/Kuala_Lumpur - Asia/Kuching - Asia/Kuching - Asia/Kuwait - Asia/Kuwait - Asia/Macau - Asia/Macau - Asia/Magadan - Asia/Magadan - Asia/Makassar - Asia/Makassar - Asia/Manila - Asia/Manila - Asia/Muscat - Asia/Muscat - Asia/Nicosia - Asia/Nicosia - Asia/Novokuznetsk - Asia/Novokuznetsk - Asia/Novosibirsk - Asia/Novosibirsk - Asia/Omsk - Asia/Omsk - Asia/Oral - Asia/Oral - Asia/Phnom_Penh - Asia/Phnom_Penh - Asia/Pontianak - Asia/Pontianak - Asia/Pyongyang - Asia/Pyongyang - Asia/Qatar - Asia/Qatar - Asia/Qostanay - Asia/Qostanay - Asia/Qyzylorda - Asia/Qyzylorda - Asia/Riyadh - Asia/Riyadh - Asia/Sakhalin - Asia/Sakhalin - Asia/Samarkand - Asia/Samarkand - Asia/Seoul - Asia/Seoul - Asia/Shanghai - Asia/Shanghai - Asia/Singapore - Asia/Singapore - Asia/Srednekolymsk - Asia/Srednekolymsk - Asia/Taipei - Asia/Taipei - Asia/Tashkent - Asia/Tashkent - Asia/Tbilisi - Asia/Tbilisi - Asia/Tehran - Asia/Tehran - Asia/Thimphu - Asia/Thimphu - Asia/Tokyo - Asia/Tokyo - Asia/Tomsk - Asia/Tomsk - Asia/Ulaanbaatar - Asia/Ulaanbaatar - Asia/Urumqi - Asia/Urumqi - Asia/Ust-Nera - Asia/Ust-Nera - Asia/Vientiane - Asia/Vientiane - Asia/Vladivostok - Asia/Vladivostok - Asia/Yakutsk - Asia/Yakutsk - Asia/Yangon - Asia/Yangon - Asia/Yekaterinburg - Asia/Yekaterinburg - Asia/Yerevan - Asia/Yerevan - Atlantic/Azores - Atlantic/Azores - Atlantic/Bermuda - Atlantic/Bermuda - Atlantic/Canary - Atlantic/Canary - Atlantic/Cape_Verde - Atlantic/Cape_Verde - Atlantic/Faroe - Atlantic/Faroe - Atlantic/Madeira - Atlantic/Madeira - Atlantic/Reykjavik - Atlantic/Reykjavik - Atlantic/South_Georgia - Atlantic/South_Georgia - Atlantic/St_Helena - Atlantic/St_Helena - Atlantic/Stanley - Atlantic/Stanley - Australia/Adelaide - Australia/Adelaide - Australia/Brisbane - Australia/Brisbane - Australia/Broken_Hill - Australia/Broken_Hill - Australia/Darwin - Australia/Darwin - Australia/Eucla - Australia/Eucla - Australia/Hobart - Australia/Hobart - Australia/Lindeman - Australia/Lindeman - Australia/Lord_Howe - Australia/Lord_Howe - Australia/Melbourne - Australia/Melbourne - Australia/Perth - Australia/Perth - Australia/Sydney - Australia/Sydney - Canada/Atlantic - Canada/Atlantic - Canada/Central - Canada/Central - Canada/Eastern - Canada/Eastern - Canada/Mountain - Canada/Mountain - Canada/Newfoundland - Canada/Newfoundland - Canada/Pacific - Canada/Pacific - Europe/Amsterdam - Europe/Amsterdam - Europe/Andorra - Europe/Andorra - Europe/Astrakhan - Europe/Astrakhan - Europe/Athens - Europe/Athens - Europe/Belgrade - Europe/Belgrade - Europe/Berlin - Europe/Berlin - Europe/Bratislava - Europe/Bratislava - Europe/Brussels - Europe/Brussels - Europe/Bucharest - Europe/Bucharest - Europe/Budapest - Europe/Budapest - Europe/Busingen - Europe/Busingen - Europe/Chisinau - Europe/Chisinau - Europe/Copenhagen - Europe/Copenhagen - Europe/Dublin - Europe/Dublin - Europe/Gibraltar - Europe/Gibraltar - Europe/Guernsey - Europe/Guernsey - Europe/Helsinki - Europe/Helsinki - Europe/Isle_of_Man - Europe/Isle_of_Man - Europe/Istanbul - Europe/Istanbul - Europe/Jersey - Europe/Jersey - Europe/Kaliningrad - Europe/Kaliningrad - Europe/Kirov - Europe/Kirov - Europe/Kyiv - Europe/Kyiv - Europe/Lisbon - Europe/Lisbon - Europe/Ljubljana - Europe/Ljubljana - Europe/London - Europe/London - Europe/Luxembourg - Europe/Luxembourg - Europe/Madrid - Europe/Madrid - Europe/Malta - Europe/Malta - Europe/Mariehamn - Europe/Mariehamn - Europe/Minsk - Europe/Minsk - Europe/Monaco - Europe/Monaco - Europe/Moscow - Europe/Moscow - Europe/Oslo - Europe/Oslo - Europe/Paris - Europe/Paris - Europe/Podgorica - Europe/Podgorica - Europe/Prague - Europe/Prague - Europe/Riga - Europe/Riga - Europe/Rome - Europe/Rome - Europe/Samara - Europe/Samara - Europe/San_Marino - Europe/San_Marino - Europe/Sarajevo - Europe/Sarajevo - Europe/Saratov - Europe/Saratov - Europe/Simferopol - Europe/Simferopol - Europe/Skopje - Europe/Skopje - Europe/Sofia - Europe/Sofia - Europe/Stockholm - Europe/Stockholm - Europe/Tallinn - Europe/Tallinn - Europe/Tirane - Europe/Tirane - Europe/Ulyanovsk - Europe/Ulyanovsk - Europe/Vaduz - Europe/Vaduz - Europe/Vatican - Europe/Vatican - Europe/Vienna - Europe/Vienna - Europe/Vilnius - Europe/Vilnius - Europe/Volgograd - Europe/Volgograd - Europe/Warsaw - Europe/Warsaw - Europe/Zagreb - Europe/Zagreb - Europe/Zurich - Europe/Zurich - GMT - GMT - Indian/Antananarivo - Indian/Antananarivo - Indian/Chagos - Indian/Chagos - Indian/Christmas - Indian/Christmas - Indian/Cocos - Indian/Cocos - Indian/Comoro - Indian/Comoro - Indian/Kerguelen - Indian/Kerguelen - Indian/Mahe - Indian/Mahe - Indian/Maldives - Indian/Maldives - Indian/Mauritius - Indian/Mauritius - Indian/Mayotte - Indian/Mayotte - Indian/Reunion - Indian/Reunion - Pacific/Apia - Pacific/Apia - Pacific/Auckland - Pacific/Auckland - Pacific/Bougainville - Pacific/Bougainville - Pacific/Chatham - Pacific/Chatham - Pacific/Chuuk - Pacific/Chuuk - Pacific/Easter - Pacific/Easter - Pacific/Efate - Pacific/Efate - Pacific/Fakaofo - Pacific/Fakaofo - Pacific/Fiji - Pacific/Fiji - Pacific/Funafuti - Pacific/Funafuti - Pacific/Galapagos - Pacific/Galapagos - Pacific/Gambier - Pacific/Gambier - Pacific/Guadalcanal - Pacific/Guadalcanal - Pacific/Guam - Pacific/Guam - Pacific/Honolulu - Pacific/Honolulu - Pacific/Kanton - Pacific/Kanton - Pacific/Kiritimati - Pacific/Kiritimati - Pacific/Kosrae - Pacific/Kosrae - Pacific/Kwajalein - Pacific/Kwajalein - Pacific/Majuro - Pacific/Majuro - Pacific/Marquesas - Pacific/Marquesas - Pacific/Midway - Pacific/Midway - Pacific/Nauru - Pacific/Nauru - Pacific/Niue - Pacific/Niue - Pacific/Norfolk - Pacific/Norfolk - Pacific/Noumea - Pacific/Noumea - Pacific/Pago_Pago - Pacific/Pago_Pago - Pacific/Palau - Pacific/Palau - Pacific/Pitcairn - Pacific/Pitcairn - Pacific/Pohnpei - Pacific/Pohnpei - Pacific/Port_Moresby - Pacific/Port_Moresby - Pacific/Rarotonga - Pacific/Rarotonga - Pacific/Saipan - Pacific/Saipan - Pacific/Tahiti - Pacific/Tahiti - Pacific/Tarawa - Pacific/Tarawa - Pacific/Tongatapu - Pacific/Tongatapu - Pacific/Wake - Pacific/Wake - Pacific/Wallis - Pacific/Wallis - US/Alaska - US/Alaska - US/Arizona - US/Arizona - US/Central - US/Central - US/Eastern - US/Eastern - US/Hawaii - US/Hawaii - US/Mountain - US/Mountain - US/Pacific - US/Pacific - UTC - UTC One of Africa/Abidjan, Africa/Accra, Africa/Addis_Ababa, Africa/Algiers, Africa/Asmara, Africa/Bamako, Africa/Bangui, Africa/Banjul, Africa/Bissau, Africa/Blantyre, Africa/Brazzaville, Africa/Bujumbura, Africa/Cairo, Africa/Casablanca, Africa/Ceuta, Africa/Conakry, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Douala, Africa/El_Aaiun, Africa/Freetown, Africa/Gaborone, Africa/Harare, Africa/Johannesburg, Africa/Juba, Africa/Kampala, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Libreville, Africa/Lome, Africa/Luanda, Africa/Lubumbashi, Africa/Lusaka, Africa/Malabo, Africa/Maputo, Africa/Maseru, Africa/Mbabane, Africa/Mogadishu, Africa/Monrovia, Africa/Nairobi, Africa/Ndjamena, Africa/Niamey, Africa/Nouakchott, Africa/Ouagadougou, Africa/Porto-Novo, Africa/Sao_Tome, Africa/Tripoli, Africa/Tunis, Africa/Windhoek, America/Adak, America/Anchorage, America/Anguilla, America/Antigua, America/Araguaina, America/Argentina/Buenos_Aires, America/Argentina/Catamarca, America/Argentina/Cordoba, America/Argentina/Jujuy, America/Argentina/La_Rioja, America/Argentina/Mendoza, America/Argentina/Rio_Gallegos, America/Argentina/Salta, America/Argentina/San_Juan, America/Argentina/San_Luis, America/Argentina/Tucuman, America/Argentina/Ushuaia, America/Aruba, America/Asuncion, America/Atikokan, America/Bahia, America/Bahia_Banderas, America/Barbados, America/Belem, America/Belize, America/Blanc-Sablon, America/Boa_Vista, America/Bogota, America/Boise, America/Cambridge_Bay, America/Campo_Grande, America/Cancun, America/Caracas, America/Cayenne, America/Cayman, America/Chicago, America/Chihuahua, America/Ciudad_Juarez, America/Costa_Rica, America/Creston, America/Cuiaba, America/Curacao, America/Danmarkshavn, America/Dawson, America/Dawson_Creek, America/Denver, America/Detroit, America/Dominica, America/Edmonton, America/Eirunepe, America/El_Salvador, America/Fort_Nelson, America/Fortaleza, America/Glace_Bay, America/Goose_Bay, America/Grand_Turk, America/Grenada, America/Guadeloupe, America/Guatemala, America/Guayaquil, America/Guyana, America/Halifax, America/Havana, America/Hermosillo, America/Indiana/Indianapolis, America/Indiana/Knox, America/Indiana/Marengo, America/Indiana/Petersburg, America/Indiana/Tell_City, America/Indiana/Vevay, America/Indiana/Vincennes, America/Indiana/Winamac, America/Inuvik, America/Iqaluit, America/Jamaica, America/Juneau, America/Kentucky/Louisville, America/Kentucky/Monticello, America/Kralendijk, America/La_Paz, America/Lima, America/Los_Angeles, America/Lower_Princes, America/Maceio, America/Managua, America/Manaus, America/Marigot, America/Martinique, America/Matamoros, America/Mazatlan, America/Menominee, America/Merida, America/Metlakatla, America/Mexico_City, America/Miquelon, America/Moncton, America/Monterrey, America/Montevideo, America/Montserrat, America/Nassau, America/New_York, America/Nome, America/Noronha, America/North_Dakota/Beulah, America/North_Dakota/Center, America/North_Dakota/New_Salem, America/Nuuk, America/Ojinaga, America/Panama, America/Paramaribo, America/Phoenix, America/Port-au-Prince, America/Port_of_Spain, America/Porto_Velho, America/Puerto_Rico, America/Punta_Arenas, America/Rankin_Inlet, America/Recife, America/Regina, America/Resolute, America/Rio_Branco, America/Santarem, America/Santiago, America/Santo_Domingo, America/Sao_Paulo, America/Scoresbysund, America/Sitka, America/St_Barthelemy, America/St_Johns, America/St_Kitts, America/St_Lucia, America/St_Thomas, America/St_Vincent, America/Swift_Current, America/Tegucigalpa, America/Thule, America/Tijuana, America/Toronto, America/Tortola, America/Vancouver, America/Whitehorse, America/Winnipeg, America/Yakutat, Antarctica/Casey, Antarctica/Davis, Antarctica/DumontDUrville, Antarctica/Macquarie, Antarctica/Mawson, Antarctica/McMurdo, Antarctica/Palmer, Antarctica/Rothera, Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok, Arctic/Longyearbyen, Asia/Aden, Asia/Almaty, Asia/Amman, Asia/Anadyr, Asia/Aqtau, Asia/Aqtobe, Asia/Ashgabat, Asia/Atyrau, Asia/Baghdad, Asia/Bahrain, Asia/Baku, Asia/Bangkok, Asia/Barnaul, Asia/Beirut, Asia/Bishkek, Asia/Brunei, Asia/Chita, Asia/Choibalsan, Asia/Colombo, Asia/Damascus, Asia/Dhaka, Asia/Dili, Asia/Dubai, Asia/Dushanbe, Asia/Famagusta, Asia/Gaza, Asia/Hebron, Asia/Ho_Chi_Minh, Asia/Hong_Kong, Asia/Hovd, Asia/Irkutsk, Asia/Jakarta, Asia/Jayapura, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Kathmandu, Asia/Khandyga, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuching, Asia/Kuwait, Asia/Macau, Asia/Magadan, Asia/Makassar, Asia/Manila, Asia/Muscat, Asia/Nicosia, Asia/Novokuznetsk, Asia/Novosibirsk, Asia/Omsk, Asia/Oral, Asia/Phnom_Penh, Asia/Pontianak, Asia/Pyongyang, Asia/Qatar, Asia/Qostanay, Asia/Qyzylorda, Asia/Riyadh, Asia/Sakhalin, Asia/Samarkand, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Thimphu, Asia/Tokyo, Asia/Tomsk, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Ust-Nera, Asia/Vientiane, Asia/Vladivostok, Asia/Yakutsk, Asia/Yangon, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Bermuda, Atlantic/Canary, Atlantic/Cape_Verde, Atlantic/Faroe, Atlantic/Madeira, Atlantic/Reykjavik, Atlantic/South_Georgia, Atlantic/St_Helena, Atlantic/Stanley, Australia/Adelaide, Australia/Brisbane, Australia/Broken_Hill, Australia/Darwin, Australia/Eucla, Australia/Hobart, Australia/Lindeman, Australia/Lord_Howe, Australia/Melbourne, Australia/Perth, Australia/Sydney, Canada/Atlantic, Canada/Central, Canada/Eastern, Canada/Mountain, Canada/Newfoundland, Canada/Pacific, Europe/Amsterdam, Europe/Andorra, Europe/Astrakhan, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Busingen, Europe/Chisinau, Europe/Copenhagen, Europe/Dublin, Europe/Gibraltar, Europe/Guernsey, Europe/Helsinki, Europe/Isle_of_Man, Europe/Istanbul, Europe/Jersey, Europe/Kaliningrad, Europe/Kirov, Europe/Kyiv, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/Luxembourg, Europe/Madrid, Europe/Malta, Europe/Mariehamn, Europe/Minsk, Europe/Monaco, Europe/Moscow, Europe/Oslo, Europe/Paris, Europe/Podgorica, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/San_Marino, Europe/Sarajevo, Europe/Saratov, Europe/Simferopol, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Tirane, Europe/Ulyanovsk, Europe/Vaduz, Europe/Vatican, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Europe/Zurich, GMT, Indian/Antananarivo, Indian/Chagos, Indian/Christmas, Indian/Cocos, Indian/Comoro, Indian/Kerguelen, Indian/Mahe, Indian/Maldives, Indian/Mauritius, Indian/Mayotte, Indian/Reunion, Pacific/Apia, Pacific/Auckland, Pacific/Bougainville, Pacific/Chatham, Pacific/Chuuk, Pacific/Easter, Pacific/Efate, Pacific/Fakaofo, Pacific/Fiji, Pacific/Funafuti, Pacific/Galapagos, Pacific/Gambier, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Kanton, Pacific/Kiritimati, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro, Pacific/Marquesas, Pacific/Midway, Pacific/Nauru, Pacific/Niue, Pacific/Norfolk, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Palau, Pacific/Pitcairn, Pacific/Pohnpei, Pacific/Port_Moresby, Pacific/Rarotonga, Pacific/Saipan, Pacific/Tahiti, Pacific/Tarawa, Pacific/Tongatapu, Pacific/Wake, Pacific/Wallis, US/Alaska, US/Arizona, US/Central, US/Eastern, US/Hawaii, US/Mountain, US/Pacific, UTC.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: archive_in, archived_at, close_in, cover_image, cover_image_url, created_at, created_by_id, cycle_view, default_assignee_id, default_state_id, description, emoji, estimate_id, external_id, external_source, guest_view_all_features, icon_prop, id, identifier, intake_view, is_issue_type_enabled, is_time_tracking_enabled, issue_views_view, logo_props, module_view, name, network, page_view, priority, project_lead_id, start_date, state_id, target_date, timezone.
expandstringNoComma-separated relations to embed: default_assignee, project_lead. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
v1_icon_propjsonNov1 compatibility only. Icon prop.

Output

ParameterTypeDescription
resultobjectPlane V2 Projects
↳ archive_injsonArchive in
↳ archived_atstringArchived at
↳ close_injsonClose in
↳ cover_imagejsonCover image
↳ cover_image_urljsonCover image url
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ cycle_viewjsonCycle view
↳ default_assignee_idstringDefault assignee id
↳ default_state_idstringDefault state id
↳ descriptionjsonDescription
↳ emojijsonEmoji
↳ estimate_idstringEstimate id
↳ external_idjsonExternal id
↳ external_sourcejsonExternal source
↳ guest_view_all_featuresjsonGuest view all features
↳ icon_propjsonIcon prop
↳ idjsonId
↳ identifierjsonIdentifier
↳ intake_viewjsonIntake view
↳ is_issue_type_enabledjsonIs issue type enabled
↳ is_time_tracking_enabledjsonIs time tracking enabled
↳ issue_views_viewjsonIssue views view
↳ logo_propsjsonLogo props
↳ module_viewjsonModule view
↳ namejsonName
↳ networkjsonNetwork
↳ page_viewjsonPage view
↳ priorityjsonPriority
↳ project_lead_idstringProject lead id
↳ start_datestringStart date
↳ state_idstringState id
↳ target_datestringTarget date
↳ timezonejsonTimezone
↳ default_assigneejsonDefault assignee
↳ project_leadjsonProject lead
↳ total_membersjsonTotal members
↳ total_cyclesjsonTotal cycles
↳ total_modulesjsonTotal modules
↳ is_memberbooleanIs member
↳ sort_ordernumberSort order
↳ member_rolejsonMember role
↳ is_deployedbooleanIs deployed
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ description_textjsonDescription text
↳ description_htmljsonDescription html
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ workspacestringWorkspace
↳ cover_image_assetstringCover image asset
↳ estimatestringEstimate
↳ default_statestringDefault state
↳ deleted_byjsonDeleted by
↳ is_voting_enabledbooleanIs voting enabled
↳ auto_reminder_daysnumberAuto reminder days
↳ statestringState

Plane Create a project page

Create a project page in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
namestringYesDisplay name.
accessstringNoWho can see this.
archived_atstringNoThe archived at. Nullable.
collection_idstringNoId of the related collection. Nullable.
colorstringNoHex color used wherever this is rendered, for example #3f76ff. Maximum 255 characters.
description_htmlstringNoRich-text body as HTML. This is the field the Plane editor round-trips.
external_idstringNoYour system's identifier for this record, for sync and import correlation. Maximum 255 characters. Nullable.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters. Nullable.
is_lockedbooleanNoPrevents further edits to the content.
logo_propsstringNoEditor-owned logo descriptor. Pass back what you read rather than composing it by hand.
parent_idstringNoId of the related parent. Nullable.
sort_ordernumberNoManual ordering weight. Lower sorts first.
view_propsstringNoEditor-owned layout descriptor. Pass back what you read.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: access, archived_at, collection_id, color, created_at, created_by_id, description_html, description_stripped, external_id, external_source, id, is_global, is_locked, logo_props, name, owned_by_id, parent_id, sort_order, view_props.
expandstringNoComma-separated relations to embed: owned_by, parent. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
v1_accessnumberNov1 compatibility only. - 0 - Public - 1 - Private
v1_view_propsjsonNov1 compatibility only. View props.
v1_logo_propsjsonNov1 compatibility only. Logo props.

Output

ParameterTypeDescription
resultobjectPlane V2 Project- Pages
↳ accessjsonAccess
↳ archived_atstringArchived at
↳ collection_idjsonCollection id
↳ colorjsonColor
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ description_htmljsonDescription html
↳ description_strippedjsonDescription stripped
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ idjsonId
↳ is_globalbooleanIs global
↳ is_lockedjsonIs locked
↳ logo_propsjsonLogo props
↳ namejsonName
↳ owned_by_idstringOwned by id
↳ parent_idjsonParent id
↳ sort_orderjsonSort order
↳ view_propsjsonView props
↳ owned_byjsonOwned by
↳ parentjsonParent
↳ description_binarystringDescription binary
↳ descriptionjsonDescription
↳ updated_atstringUpdated at
↳ anchorstringAnchor
↳ workspacestringWorkspace
↳ projectsarrayProjects
↳ page_collection_idstringPage collection id
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ description_jsonobjectDescription json
↳ typestringType
↳ contentarrayContent
↳ typestringAsset Id
↳ attrsobjectAttrs
↳ idjsonId
↳ textAlignjsonId
↳ aiSuggestionjsonId
↳ contentarrayContent
↳ textstringAsset Id
↳ typestringAsset Id

Plane Create a state

Create a state in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project to add the state to.
namestringYesDisplay name for the state, unique within the project. Maximum 255 characters.
colorstringYesHex color used wherever the state is rendered, for example #3f76ff. Maximum 255 characters.
groupstringNoThe workflow group the state belongs to. Determines how the state is treated by boards, charts, and cycle progress. - backlog — Not yet scheduled - unstarted — Scheduled but not begun - started — Actively in progress - completed — Finished successfully - cancelled — Closed without completion - triage — Awaiting intake review Defaults to backlog when omitted.
descriptionstringNoFree-form description of what the state means in this workflow.
sequencenumberNoOrdering weight within the project. Lower values sort first. Assigned automatically when omitted.
is_defaultbooleanNoMake this the project's default state — where work items land when no state_id is supplied. Setting it clears the flag on the previous default.
external_idstringNoYour system's identifier for this state, for sync and import correlation. Maximum 255 characters.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters.
fieldsstringNoComma-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: color, created_at, created_by_id, description, external_id, external_source, group, id, is_default, is_triage, name, sequence. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
is_triagebooleanNov1 compatibility only. Is triage.
defaultbooleanNov1 compatibility only. Default.

Output

ParameterTypeDescription
resultobjectPlane V2 States
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ colorjsonColor
↳ groupjsonGroup
↳ sequencejsonSequence
↳ is_defaultbooleanIs default
↳ is_triagejsonIs triage
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ defaultbooleanDefault
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ slugstringSlug
↳ deleted_byjsonDeleted by

Plane Create a webhook

Create a webhook in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
content_typestringNo- application/json - application/json - application/x-www-form-urlencoded - application/x-www-form-urlencoded One of application/json, application/x-www-form-urlencoded.
is_activebooleanNoWhether the record is active.
namestringNoDisplay name. Maximum 255 characters. Nullable.
scopesjsonNoThe scopes.
urlstringYesTarget URL.
versionstringNoVersion string, for example 1.4.0. Maximum 10 characters.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: content_type, created_at, created_by_id, id, is_active, name, scopes, url, version.

Output

ParameterTypeDescription
resultobjectPlane V2 Webhooks
↳ content_typestringContent type
↳ created_atstringCreated at
↳ created_by_idstringCreated by id
↳ idstringUnique identifier.
↳ is_activebooleanIs active
↳ namestringName
↳ scopesarrayScopes
↳ urlstringUrl
↳ versionstringVersion
↳ secret_keystringSecret key

Plane Create a work item

Create a work item in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project to create the work item in.
namestringYesTitle of the work item. Maximum 255 characters. The only required field.
description_htmlstringNoRich-text body as HTML, for example Steps to reproduce…. The HTML is sanitized on the way in; content that can't be sanitized is rejected with a 400. description_html is not part of the read shape, so it will not appear in the response.
prioritystringNoOne of urgent, high, medium, low, none. Defaults to none.
state_idstringNoThe workflow state to create the work item in. Must be a state of this project. Omit it and the work item lands in the project's default state.
statestringNoThe state's name instead of its id, for example In Progress. Matched case-insensitively within the project. Write-only. Unknown name or a name that matches more than one state is a 400. Sending both state and state_id is a 400.
type_idstringNoThe work item type. Accepts a type owned by the project and a workspace-level type imported into it. Requires work item types to be enabled.
typestringNoThe type's name instead of its id, for example Bug. Matched case-insensitively among the project's non-epic types. Write-only.
parent_idstringNoThe parent work item. The parent must be in the same workspace, but it may live in a different project.
parentstringNoThe parent's identifier instead of its id, for example PROJ-118. Resolved within the workspace. Write-only.
assignee_idsjsonNoUser ids to assign. Each must be an active, assignable member of the project. Leave it out and the project's default assignee is applied, if one is configured. Send \[\] to create the work item with no assignee at all.
assigneesjsonNoMember email addresses instead of ids, for example \["ana@example.com"\]. Every address must belong to an active, assignable project member — any that don't are named in the 400. Write-only.
label_idsjsonNoLabel ids to apply. Each must be a label of this project, or a workspace-level label available to it.
labelsjsonNoLabel names instead of ids, for example \["regression", "auth"\]. Matched case-insensitively against the project's labels and the workspace-level labels available to it. A name that exists at both levels is ambiguous and returns a 400 telling you to use label_ids. Write-only.
estimate_point_idstringNoThe estimate point to assign, from the project's active estimate system.
estimatestringNoThe estimate point's value instead of its id, for example 5 or L. Resolved against the project's active estimate. Write-only.
start_datestringNoPlanned start, for example 2026-01-12. Must not be after target_date.
target_datestringNoPlanned due date, for example 2026-01-20.
external_idstringNoYour system's identifier for this work item, for sync and import correlation. Maximum 255 characters. Stored and filterable on [List work items](https://developers.plane.so/api-reference/v2/work-items/list-work-items), but not returned on reads.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters.
fieldsstringNoComma-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: archived_at, assignee_ids, created_at, created_by_id, custom_fields, cycle_id, id, identifier, is_draft, label_ids, module_ids, name, parent_id, priority, project_id, sequence_id, start_date, state_id, target_date, type_id. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: assignees (the assigned users), cycle (the cycle it belongs to), labels (the applied labels), modules (the modules it belongs to), parent (its parent work item), state (the work item's state object), type (its work item type). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
deleted_atstringNov1 compatibility only. Deleted at.
pointnumberNov1 compatibility only. Point.
sequence_idnumberNov1 compatibility only. Sequence id.
sort_ordernumberNov1 compatibility only. Sort order.
archived_atstringNov1 compatibility only. Archived at.
is_draftbooleanNov1 compatibility only. Is draft.
created_bystringNov1 compatibility only. Created by.
created_atstringNov1 compatibility only. Creation timestamp for imports.
custom_fieldsjsonNoJSON custom field values. API v2 only.
cycle_idstringNoCycle ID. API v2 only.
module_idsjsonNoModule IDs. API v2 only.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Items
↳ idjsonId
↳ namejsonName
↳ identifierstringIdentifier
↳ sequence_idjsonSequence id
↳ priorityjsonPriority
↳ state_idstringState id
↳ type_idstringType id
↳ assignee_idsarrayAssignee ids
↳ label_idsarrayLabel ids
↳ parent_idstringParent id
↳ start_datestringStart date
↳ target_datestringTarget date
↳ is_draftjsonIs draft
↳ archived_atstringArchived at
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ custom_fieldsjsonCustom fields
↳ assigneesarrayAssignees
↳ idstringAsset Id
↳ display_namestringAsset Id
↳ avatar_urlstringAsset Id
↳ emailstringAsset Id
↳ first_namestringAsset Id
↳ last_namestringAsset Id
↳ avatarstringAsset Id
↳ cyclejsonCycle
↳ labelsarrayLabels
↳ idstringAsset Id
↳ deleted_byjsonId
↳ created_atstringAsset Id
↳ updated_atstringAsset Id
↳ deleted_atjsonId
↳ namestringAsset Id
↳ descriptionstringAsset Id
↳ colorstringAsset Id
↳ sort_ordernumberSort Order
↳ external_sourcejsonId
↳ external_idjsonId
↳ created_bystringAsset Id
↳ updated_byjsonId
↳ workspacestringAsset Id
↳ projectstringAsset Id
↳ parentjsonId
↳ modulesarrayModules
↳ parentjsonParent
↳ idstringAsset Id
↳ namestringAsset Id
↳ sequence_idnumberAccess
↳ statejsonState
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ groupjsonGroup
↳ typejsonType
↳ idstringAsset Id
↳ namestringAsset Id
↳ logo_propsjsonLogo Props
↳ is_epicbooleanHas Pages
↳ project_idstringProject id
↳ cycle_idstringCycle id
↳ module_idsarrayModule ids
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ pointnumberPoint
↳ description_htmlstringDescription html
↳ description_strippedstringDescription stripped
↳ description_binarystringDescription binary
↳ sort_ordernumberSort order
↳ completed_atstringCompleted at
↳ external_sourcestringExternal source
↳ external_idstringExternal id
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectjsonProject
↳ workspacestringWorkspace
↳ estimate_pointstringEstimate point
↳ descriptionstringDescription
↳ deleted_byjsonDeleted by
↳ created_viajsonCreated via
↳ updated_viajsonUpdated via
↳ last_activity_atstringLast activity at
↳ min_assignee_first_namestringMin assignee first name
↳ min_label_namestringMin label name
↳ min_module_namestringMin module name
↳ priority_ranknumberPriority rank
↳ state_groupstringState group

Plane Delete an attachment

Delete an attachment in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
work_item_idstringYesThe work item the resource hangs off. Accepts the work item UUID or its PROJ-123 identifier.
pkstringYesThe attachment id.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Delete a comment

Delete a comment in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the work item belongs to.
work_item_idstringYesThe work item the comment is attached to.
pkstringYesThe comment to delete.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Delete a cycle

Delete a cycle in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the cycle belongs to.
pkstringYesThe cycle to delete.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Delete a label

Delete a label in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the label belongs to.
pkstringYesThe label id to delete.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Delete a link in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
work_item_idstringYesThe work item the resource hangs off. Accepts the work item UUID or its PROJ-123 identifier.
pkstringYesThe link id.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Delete a module

Delete a module in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the module belongs to.
pkstringYesThe module to delete.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Delete a project

Delete a project in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
pkstringYesThe project id.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Delete a project page

Delete a project page in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
pkstringYesThe project page id.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Delete a state

Delete a state in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the state belongs to.
pkstringYesThe id of the state to delete.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Delete a webhook

Delete a webhook in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
pkstringYesThe webhook id.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Delete a work item

Delete a work item in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the work item belongs to.
pkstringYesThe work item's UUID. This lookup is UUID-only — a PROJ-142 identifier here returns 404.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Get an attachment

Get an attachment in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
work_item_idstringYesThe work item the resource hangs off. Accepts the work item UUID or its PROJ-123 identifier.
pkstringYesThe attachment id.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: asset_url, attributes, content_type, created_at, created_by_id, external_id, external_source, id, is_uploaded, name, size, work_item_id.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Item- Attachments
↳ asset_urlstringAsset url
↳ attributesjsonAttributes
↳ content_typestringContent type
↳ created_atstringCreated at
↳ created_by_idstringCreated by id
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ idstringUnique identifier.
↳ is_uploadedbooleanIs uploaded
↳ namestringName
↳ sizejsonSize
↳ work_item_idstringWork item id

Plane Get a comment

Get a comment in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the work item belongs to.
work_item_idstringYesThe work item the comment is attached to.
pkstringYesThe comment to retrieve.
fieldsstringNoComma-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: access, actor_id, comment_html, comment_stripped, created_at, created_by_id, edited_at, external_id, external_source, id, work_item_id. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: actor (the comment author). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Item- Comments
↳ idjsonId
↳ work_item_idstringWork item id
↳ comment_htmljsonComment html
↳ comment_strippedjsonComment stripped
↳ accessjsonAccess
↳ actor_idstringActor id
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ edited_atstringEdited at
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ actorjsonActor
↳ is_memberbooleanIs member
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ attachmentsarrayAttachments
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ issuestringIssue
↳ parentstringParent
↳ descriptionstringDescription
↳ comment_jsonobjectComment json
↳ typestringType
↳ contentarrayContent
↳ typestringAsset Id
↳ contentarrayContent
↳ typestringAsset Id
↳ textstringAsset Id
↳ deleted_byjsonDeleted by
↳ is_hiddenbooleanIs hidden
↳ created_viajsonCreated via
↳ updated_viajsonUpdated via
↳ hidden_reasonjsonHidden reason
↳ hidden_atjsonHidden at
↳ hidden_byjsonHidden by
↳ sourcejsonSource

Plane Get current user

Get current user in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 Get Current Userresult
↳ idstringId
↳ emailstringEmail
↳ display_namestringDisplay name
↳ principal_kindstringPrincipal kind
↳ scopesarrayScopes
↳ first_namestringFirst name
↳ last_namestringLast name
↳ avatarstringAvatar
↳ avatar_urlstringAvatar URL

Plane Get a cycle

Get a cycle in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the cycle belongs to. A cycle id from a different project returns 404, not the record.
pkstringYesThe cycle to retrieve.
fieldsstringNoComma-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: created_at, created_by_id, description, end_date, external_id, external_source, id, logo_props, name, owned_by_id, sort_order, start_date, timezone. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: owned_by (the cycle owner). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.

Output

ParameterTypeDescription
resultobjectPlane V2 Cycles
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ start_datestringStart date
↳ end_datestringEnd date
↳ timezonejsonTimezone
↳ owned_by_idstringOwned by id
↳ sort_orderjsonSort order
↳ logo_propsjsonLogo props
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ owned_byjsonOwned by
↳ total_issuesjsonTotal issues
↳ cancelled_issuesjsonCancelled issues
↳ completed_issuesjsonCompleted issues
↳ started_issuesjsonStarted issues
↳ unstarted_issuesjsonUnstarted issues
↳ backlog_issuesjsonBacklog issues
↳ total_estimatesnumberTotal estimates
↳ completed_estimatesnumberCompleted estimates
↳ started_estimatesnumberStarted estimates
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ view_propsjsonView props
↳ progress_snapshotjsonProgress snapshot
↳ archived_atstringArchived at
↳ versionjsonVersion
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ statusstringStatus
↳ deleted_byjsonDeleted by

Plane Get a label

Get a label in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the label belongs to.
pkstringYesThe label id.
fieldsstringNoComma-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: color, created_at, created_by_id, description, external_id, external_source, id, name, parent_id, sort_order. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).

Output

ParameterTypeDescription
resultobjectPlane V2 Labels
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ colorjsonColor
↳ sort_orderjsonSort order
↳ parent_idstringParent id
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ workspacestringWorkspace
↳ projectstringProject
↳ parentstringParent
↳ deleted_byjsonDeleted by

Get a link in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
work_item_idstringYesThe work item the resource hangs off. Accepts the work item UUID or its PROJ-123 identifier.
pkstringYesThe link id.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: created_at, created_by_id, id, metadata, title, url, work_item_id.
cursorstringNov1 compatibility only. Pagination cursor for getting next set of results
expandstringNov1 compatibility only. Comma-separated list of related fields to expand in response Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
per_pagenumberNov1 compatibility only. Number of results per page (default: 20, max: 100)

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Item- Links
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ idjsonId
↳ metadatajsonMetadata
↳ urlstringAsset Id
↳ titlestringAsset Id
↳ faviconstringAsset Id
↳ favicon_urljsonLogo Props
↳ titlejsonTitle
↳ urljsonUrl
↳ work_item_idstringWork item id
↳ namestringLegacy link name.
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ issuestringIssue
↳ grouped_bystringGrouped by
↳ sub_grouped_bystringSub grouped by
↳ total_countnumberTotal count
↳ next_cursorstringNext cursor
↳ prev_cursorstringPrev cursor
↳ next_page_resultsbooleanNext page results
↳ prev_page_resultsbooleanPrev page results
↳ countnumberCount
↳ total_pagesnumberTotal pages
↳ total_resultsnumberTotal results
↳ extra_statsjsonExtra stats (nullable provider value).
↳ resultsarrayResults
↳ idstringAsset Id
↳ namestringAsset Id
↳ created_atstringAsset Id
↳ deleted_byjsonDeleted by

Plane Get a module

Get a module in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the module belongs to.
pkstringYesThe module to retrieve.
fieldsstringNoComma-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: archived_at, created_at, created_by_id, description, external_id, external_source, id, lead_id, logo_props, member_ids, name, sort_order, start_date, status, target_date. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: lead (the module lead), members (the module members). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.

Output

ParameterTypeDescription
resultobjectPlane V2 Modules
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ statusjsonStatus
↳ start_datestringStart date
↳ target_datestringTarget date
↳ lead_idstringLead id
↳ member_idsarrayMember ids
↳ sort_orderjsonSort order
↳ logo_propsjsonLogo props
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ archived_atstringArchived at
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ leadjsonLead
↳ membersarrayMembers
↳ total_issuesjsonTotal issues
↳ cancelled_issuesjsonCancelled issues
↳ completed_issuesjsonCompleted issues
↳ started_issuesjsonStarted issues
↳ unstarted_issuesjsonUnstarted issues
↳ backlog_issuesjsonBacklog issues
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ description_textjsonDescription text
↳ description_htmljsonDescription html
↳ view_propsjsonView props
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ deleted_byjsonDeleted by

Plane Get a project

Get a project in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
pkstringYesThe project id.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: archive_in, archived_at, close_in, cover_image, cover_image_url, created_at, created_by_id, cycle_view, default_assignee_id, default_state_id, description, emoji, estimate_id, external_id, external_source, guest_view_all_features, icon_prop, id, identifier, intake_view, is_issue_type_enabled, is_time_tracking_enabled, issue_views_view, logo_props, module_view, name, network, page_view, priority, project_lead_id, start_date, state_id, target_date, timezone.
expandstringNoComma-separated relations to embed: default_assignee, project_lead. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.

Output

ParameterTypeDescription
resultobjectPlane V2 Projects
↳ archive_injsonArchive in
↳ archived_atstringArchived at
↳ close_injsonClose in
↳ cover_imagejsonCover image
↳ cover_image_urljsonCover image url
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ cycle_viewjsonCycle view
↳ default_assignee_idstringDefault assignee id
↳ default_state_idstringDefault state id
↳ descriptionjsonDescription
↳ emojijsonEmoji
↳ estimate_idstringEstimate id
↳ external_idjsonExternal id
↳ external_sourcejsonExternal source
↳ guest_view_all_featuresjsonGuest view all features
↳ icon_propjsonIcon prop
↳ idjsonId
↳ identifierjsonIdentifier
↳ intake_viewjsonIntake view
↳ is_issue_type_enabledjsonIs issue type enabled
↳ is_time_tracking_enabledjsonIs time tracking enabled
↳ issue_views_viewjsonIssue views view
↳ logo_propsjsonLogo props
↳ module_viewjsonModule view
↳ namejsonName
↳ networkjsonNetwork
↳ page_viewjsonPage view
↳ priorityjsonPriority
↳ project_lead_idstringProject lead id
↳ start_datestringStart date
↳ state_idstringState id
↳ target_datestringTarget date
↳ timezonejsonTimezone
↳ default_assigneejsonDefault assignee
↳ project_leadjsonProject lead
↳ total_membersjsonTotal members
↳ total_cyclesjsonTotal cycles
↳ total_modulesjsonTotal modules
↳ is_memberbooleanIs member
↳ sort_ordernumberSort order
↳ member_rolejsonMember role
↳ is_deployedbooleanIs deployed
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ description_textjsonDescription text
↳ description_htmljsonDescription html
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ workspacestringWorkspace
↳ cover_image_assetstringCover image asset
↳ estimatestringEstimate
↳ default_statestringDefault state
↳ deleted_byjsonDeleted by
↳ is_voting_enabledbooleanIs voting enabled
↳ auto_reminder_daysnumberAuto reminder days
↳ statestringState

Plane Get a project page

Get a project page in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
pkstringYesThe project page id.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: access, archived_at, collection_id, color, created_at, created_by_id, description_html, description_stripped, external_id, external_source, id, is_global, is_locked, logo_props, name, owned_by_id, parent_id, sort_order, view_props.
expandstringNoComma-separated relations to embed: owned_by, parent. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
external_idstringNov1 compatibility only. External system identifier for filtering or lookup
external_sourcestringNov1 compatibility only. External system source name for filtering or lookup
order_bystringNov1 compatibility only. Field to order results by. Prefix with '-' for descending order

Output

ParameterTypeDescription
resultobjectPlane V2 Project- Pages
↳ accessjsonAccess
↳ archived_atstringArchived at
↳ collection_idjsonCollection id
↳ colorjsonColor
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ description_htmljsonDescription html
↳ description_strippedjsonDescription stripped
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ idjsonId
↳ is_globalbooleanIs global
↳ is_lockedjsonIs locked
↳ logo_propsjsonLogo props
↳ namejsonName
↳ owned_by_idstringOwned by id
↳ parent_idjsonParent id
↳ sort_orderjsonSort order
↳ view_propsjsonView props
↳ owned_byjsonOwned by
↳ parentjsonParent
↳ description_binarystringDescription binary
↳ descriptionjsonDescription
↳ updated_atstringUpdated at
↳ anchorstringAnchor
↳ workspacestringWorkspace
↳ projectsarrayProjects
↳ page_collection_idstringPage collection id
↳ created_bystringCreated by
↳ updated_byjsonUpdated by
↳ description_jsonobjectDescription json
↳ typestringType
↳ contentarrayContent
↳ typestringAsset Id
↳ attrsobjectAttrs
↳ idjsonId
↳ textAlignjsonId
↳ aiSuggestionjsonId
↳ contentarrayContent
↳ textstringAsset Id
↳ typestringAsset Id

Plane Get a project summary

Get a project summary in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
pkstringYesProject ID or bare project identifier whose summary to retrieve.
countsstringNoComma-separated count keys to include. Allowed: members, states, labels, cycles, modules, issues, intakes, work_item_types, work_item_properties, pages. Omitting returns all. Unknown keys are a 400.
fieldsstringNov1 compatibility only. Comma-separated list of fields.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 Get Project Summaryresult
↳ countsobjectCounts
↳ modulesnumberModules
↳ work_item_typesnumberWork item types
↳ issuesnumberIssues
↳ membersnumberMembers
↳ work_item_propertiesnumberWork item properties
↳ statesnumberStates
↳ intakesnumberIntakes
↳ cyclesnumberCycles
↳ labelsnumberLabels
↳ pagesnumberPages
↳ idstringId
↳ identifierstringIdentifier
↳ namestringName

Plane Get a state

Get a state in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the state belongs to. A state id from a different project returns 404, even inside the same workspace.
pkstringYesThe id of the state to retrieve.
fieldsstringNoComma-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: color, created_at, created_by_id, description, external_id, external_source, group, id, is_default, is_triage, name, sequence. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).

Output

ParameterTypeDescription
resultobjectPlane V2 States
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ colorjsonColor
↳ groupjsonGroup
↳ sequencejsonSequence
↳ is_defaultbooleanIs default
↳ is_triagejsonIs triage
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ defaultbooleanDefault
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ slugstringSlug
↳ deleted_byjsonDeleted by

Plane Get a webhook

Get a webhook in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
pkstringYesThe webhook id.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: content_type, created_at, created_by_id, id, is_active, name, scopes, url, version.

Output

ParameterTypeDescription
resultobjectPlane V2 Webhooks
↳ content_typestringContent type
↳ created_atstringCreated at
↳ created_by_idstringCreated by id
↳ idstringUnique identifier.
↳ is_activebooleanIs active
↳ namestringName
↳ scopesarrayScopes
↳ urlstringUrl
↳ versionstringVersion

Plane Get a work item

Get a work item in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the work item belongs to.
pkstringYesThe work item's UUID. This lookup is UUID-only — a PROJ-142 identifier here returns 404.
expandstringNoComma-separated relations to embed alongside the ids: assignees (the assigned users), cycle (the cycle it belongs to), labels (the applied labels), modules (the modules it belongs to), parent (its parent work item), state (the work item's state object), type (its work item type). Expansion is separate-key: ?expand=state keeps state_id and adds a state object next to it, so an id is never replaced by an object. An unknown value is a 400. ?fields= and ?expand= are independent namespaces. Relation names are not valid ?fields= tokens (and vice versa), and an expanded object survives field filtering — ?fields=id,name&expand=state returns id, name and state. See [Expanding relations](https://developers.plane.so/api-reference/v2/expanding-relations). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
fieldsstringNoComma-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: archived_at, assignee_ids, created_at, created_by_id, custom_fields, cycle_id, id, identifier, is_draft, label_ids, module_ids, name, parent_id, priority, project_id, sequence_id, start_date, state_id, target_date, type_id. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
external_idstringNov1 compatibility only. External system identifier for filtering or lookup
external_sourcestringNov1 compatibility only. External system source name for filtering or lookup
order_bystringNov1 compatibility only. Field to order results by. Prefix with '-' for descending order

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Items
↳ idjsonId
↳ namejsonName
↳ identifierstringIdentifier
↳ sequence_idjsonSequence id
↳ priorityjsonPriority
↳ state_idstringState id
↳ type_idstringType id
↳ assignee_idsarrayAssignee ids
↳ label_idsarrayLabel ids
↳ parent_idstringParent id
↳ start_datestringStart date
↳ target_datestringTarget date
↳ is_draftjsonIs draft
↳ archived_atstringArchived at
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ custom_fieldsjsonCustom fields
↳ statejsonState
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ groupjsonGroup
↳ assigneesarrayAssignees
↳ idstringAsset Id
↳ display_namestringAsset Id
↳ avatar_urlstringAsset Id
↳ emailstringAsset Id
↳ first_namestringAsset Id
↳ last_namestringAsset Id
↳ avatarstringAsset Id
↳ cyclejsonCycle
↳ labelsarrayLabels
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ deleted_byjsonId
↳ created_atstringAsset Id
↳ updated_atstringAsset Id
↳ deleted_atstringAsset Id
↳ descriptionstringAsset Id
↳ sort_ordernumberSort Order
↳ external_sourcestringAsset Id
↳ external_idstringAsset Id
↳ created_bystringAsset Id
↳ updated_bystringAsset Id
↳ workspacestringAsset Id
↳ projectstringAsset Id
↳ parentstringAsset Id
↳ modulesarrayModules
↳ parentjsonParent
↳ idstringAsset Id
↳ namestringAsset Id
↳ sequence_idnumberAccess
↳ typejsonType
↳ idstringAsset Id
↳ namestringAsset Id
↳ logo_propsjsonLogo Props
↳ is_epicbooleanHas Pages
↳ project_idstringProject id
↳ cycle_idstringCycle id
↳ module_idsarrayModule ids
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ pointnumberPoint
↳ description_htmlstringDescription html
↳ description_strippedstringDescription stripped
↳ description_binarystringDescription binary
↳ sort_ordernumberSort order
↳ completed_atstringCompleted at
↳ external_sourcestringExternal source
↳ external_idstringExternal id
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectjsonProject
↳ workspacestringWorkspace
↳ estimate_pointstringEstimate point
↳ descriptionstringDescription
↳ deleted_byjsonDeleted by
↳ created_viajsonCreated via
↳ updated_viajsonUpdated via
↳ last_activity_atstringLast activity at
↳ min_assignee_first_namestringMin assignee first name
↳ min_label_namestringMin label name
↳ min_module_namestringMin module name
↳ priority_ranknumberPriority rank
↳ state_groupstringState group

Plane Get a work item by identifier

Get a work item by identifier in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
identifierstringYesThe work item's human key: the project identifier, a hyphen, and the work item's number — PROJ-142. The project part must start with a letter, and it is upper-cased before lookup, so proj-142 resolves the same work item as PROJ-142. A project identifier is unique within a workspace, which is what makes this key unambiguous.
expandstringNoComma-separated relations to embed alongside the ids: assignees (the assigned users), cycle (the cycle it belongs to), labels (the applied labels), modules (the modules it belongs to), parent (its parent work item), state (the work item's state object), type (its work item type). Expansion is separate-key: ?expand=state keeps state_id and adds a state object next to it, so an id is never replaced by an object. An unknown value is a 400. ?fields= and ?expand= are independent namespaces. Relation names are not valid ?fields= tokens (and vice versa), and an expanded object survives field filtering — ?fields=id,name&expand=state returns id, name and state. See [Expanding relations](https://developers.plane.so/api-reference/v2/expanding-relations). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
fieldsstringNoComma-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: archived_at, assignee_ids, created_at, created_by_id, custom_fields, cycle_id, id, identifier, is_draft, label_ids, module_ids, name, parent_id, priority, project_id, sequence_id, start_date, state_id, target_date, type_id. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Items
↳ idstringUnique identifier for the work item. This is the \{pk\} on every project-scoped detail route.
↳ namestringName
↳ identifierstringIdentifier
↳ sequence_idjsonSequence id
↳ prioritystringPriority
↳ state_idstringState id
↳ type_idstringType id
↳ assignee_idsarrayAssignee ids
↳ label_idsarrayLabel ids
↳ parent_idstringParent id
↳ start_datestringStart date
↳ target_datestringTarget date
↳ is_draftbooleanIs draft
↳ archived_atstringArchived at
↳ created_atstringCreated at
↳ created_by_idstringCreated by id
↳ custom_fieldsjsonCustom fields
↳ assigneesarrayAssignees
↳ idstringAsset Id
↳ display_namestringAsset Id
↳ avatar_urlstringAsset Id
↳ emailstringAsset Id
↳ cyclejsonCycle
↳ labelsarrayLabels
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ modulesarrayModules
↳ parentobjectParent
↳ idstringAsset Id
↳ namestringAsset Id
↳ sequence_idnumberAccess
↳ stateobjectState
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ groupstringAsset Id
↳ typeobjectType
↳ idstringAsset Id
↳ namestringAsset Id
↳ logo_propsjsonLogo Props
↳ is_epicbooleanHas Pages
↳ project_idstringProject id
↳ cycle_idstringCycle id
↳ module_idsarrayModule ids

Plane List attachments

List attachments in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
work_item_idstringYesThe work item the resource hangs off. Accepts the work item UUID or its PROJ-123 identifier.
countbooleanNoSet to false to skip the total_count COUNT(*) (omits total_count).
external_idstringNoFilter by external_id.
external_sourcestringNoFilter by external_source.
is_uploadedbooleanNoFilter by is_uploaded.
offsetnumberNoNumber of rows to skip from the start of the result set.
order_bystringNoField to order the list by. Prefix with '-' for descending (e.g. '-created_at'). Annotation-backed orders sort semantically and ride the default offset page.
paginatestringNoSet to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total_count. One of cursor.
per_pagenumberNoAPI v2 only. Page size (maximum 200).
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted from each row, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400 that names the valid set, so a typo can't silently cost you the saving. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: asset_url, attributes, content_type, created_at, created_by_id, external_id, external_source, id, is_uploaded, name, size, work_item_id.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Attachmentsresult
↳ dataarrayData
↳ asset_urlstringThe asset url.
↳ attributesjsonView Props
↳ content_typestringThe content type.
↳ created_atstringWhen the record was created.
↳ created_by_idstringThe user who created the record.
↳ external_idstringYour system's identifier for this record, for sync and import correlation.
↳ external_sourcestringThe system external_id came from, for example github or jira.
↳ idstringUnique identifier.
↳ is_uploadedbooleanWhether is uploaded.
↳ namestringDisplay name.
↳ sizejsonSize
↳ work_item_idstringThe related work item.
↳ nextnumberNext
↳ paginationobjectPagination
↳ stylestringStyle
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more
resultsarrayReturned Plane records.
↳ idstringId
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ attributesjsonAttributes
↳ assetstringAsset
↳ entity_typestringEntity type
↳ entity_identifierstringEntity identifier
↳ is_deletedbooleanIs deleted
↳ is_archivedbooleanIs archived
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ sizejsonSize
↳ is_uploadedbooleanIs uploaded
↳ storage_metadatajsonStorage metadata
↳ ETagstringAsset Id
↳ MetadatajsonProgress Snapshot
↳ ContentTypestringAsset Id
↳ LastModifiedstringAsset Id
↳ ContentLengthnumberSort Order
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ userstringUser
↳ workspacestringWorkspace
↳ draft_issuestringDraft issue
↳ projectstringProject
↳ issuestringIssue
↳ commentstringComment
↳ pagestringPage
↳ namestringName
↳ asset_urlstringAsset url
↳ deleted_byjsonDeleted by
detailstringProvider message when no records are returned.

Plane List comments

List comments in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the work item belongs to.
work_item_idstringYesThe work item whose comments you want. Comments never span work items, so this narrows the result set by itself.
accessstringNoReturn only comments with this visibility. - INTERNAL — visible to the project team - EXTERNAL — marked as visible outside the team
external_idstringNoReturn comments carrying this identifier from your system. external_id is not a unique key, so this can match more than one comment — pair it with external_source and handle a multi-row result.
external_sourcestringNoReturn comments that came from this system, for example github or zendesk.
searchstringNoMatch comments against their plain-text body (comment_stripped), so HTML markup in comment_html never affects whether a term hits.
order_bystringNoField to sort by. Prefix with - for descending. Send it explicitly whenever order matters — a thread you render should not depend on the server's unstated default. - created_at — oldest first - -created_at — newest first - id - -id
per_pagenumberNoPage size. Maximum 200 for API v2 and 100 for API v1.
offsetnumberNoNumber of rows to skip from the start of the result set. Maximum 10000 — for deeper traversal switch to cursor pagination.
paginatestringNoSet to cursor to opt into the COUNT-free keyset envelope instead of the default offset envelope. The response then carries next_cursor and has_more; send the value of next_cursor back as ?cursor= to fetch the next page. See [Pagination](https://developers.plane.so/api-reference/v2/pagination) for the full envelope.
countbooleanNoDefaults to true. Set to false to skip the COUNT\(*\) and omit total_count from the offset envelope.
fieldsstringNoComma-separated list of fields to return on each row. 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: access, actor_id, comment_html, comment_stripped, created_at, created_by_id, edited_at, external_id, external_source, id, work_item_id. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: actor (the comment author). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Commentsresult
↳ dataarrayData
↳ idstringUnique identifier for the comment.
↳ work_item_idstringThe work item this comment is attached to. Always matches the work_item_id in the request path.
↳ comment_htmlstringThe comment body, as HTML. This is the field you write.
↳ comment_strippedstringThe plain-text version of comment_html, derived server-side. It is what ?search= matches, so markup never affects a search hit. Read-only — you never send it.
↳ accessstringVisibility of the comment. One of INTERNAL or EXTERNAL. INTERNAL keeps the comment inside the project team; EXTERNAL marks it as visible outside the team, for example on a published project.
↳ actor_idstringAsset Id
↳ external_idstringAsset Id
↳ external_sourcestringAsset Id
↳ edited_atstringAsset Id
↳ created_atstringWhen the comment was created.
↳ created_by_idstringAsset Id
↳ actorjsonLogo Props
↳ nextnumberNext
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ paginationobjectPagination
↳ stylestringStyle
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more
resultsarrayReturned Plane records.
↳ idstringId
↳ is_memberbooleanIs member
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ comment_strippedstringComment stripped
↳ comment_htmlstringComment html
↳ attachmentsarrayAttachments
↳ accessstringAccess
↳ external_sourcestringExternal source
↳ external_idstringExternal id
↳ edited_atstringEdited at
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ issuestringIssue
↳ actorstringActor
↳ parentstringParent
↳ descriptionstringDescription
↳ namestringName
↳ deleted_byjsonDeleted by
↳ is_hiddenbooleanIs hidden
↳ created_viajsonCreated via
↳ updated_viajsonUpdated via
↳ hidden_reasonjsonHidden reason
↳ hidden_atjsonHidden at
↳ hidden_byjsonHidden by
↳ sourcejsonSource
detailstringProvider message when no records are returned.
paginationobjectCursor pagination information. Bare-array responses have empty pagination.
↳ next_cursorstringCursor for the next page.
↳ prev_cursorstringCursor for the previous page.
↳ next_page_resultsbooleanWhether a next page exists.
↳ prev_page_resultsbooleanWhether a previous page exists.
↳ countnumberRecords on this page.
↳ total_pagesnumberTotal pages.
↳ total_resultsnumberTotal records.
↳ total_countnumberTotal records when supplied by this endpoint.
↳ extra_statsjsonEndpoint-specific aggregate statistics.
↳ grouped_bystringGrouping field.
↳ sub_grouped_bystringSecondary grouping field.
↳ total_groupsnumberTotal primary groups.
↳ next_group_offsetnumberNext primary group offset.
↳ sub_total_groupsnumberTotal secondary groups.
↳ sub_next_group_offsetnumberNext secondary group offset.

Plane List cycles

List cycles in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project whose cycles you want.
owned_by_idstringNoReturn only cycles owned by this user. This is how you build a "my cycles" view — pass the authenticated user's id. Ownership is assigned by Plane, so this is a read-side filter only.
external_idstringNoReturn only cycles whose external_id matches exactly. Pair it with external_source when the same identifier could come from more than one system.
external_sourcestringNoReturn only cycles imported from this source, for example jira.
searchstringNoFree-text search term matched against the cycle.
order_bystringNoField to sort by. Prefix with - for descending. - sort_order / -sort_order — the project's manual cycle ordering - created_at / -created_at — newest or oldest first - id / -id
per_pagenumberNoPage size. Maximum 200 for API v2 and 100 for API v1.
offsetnumberNoNumber of rows to skip from the start of the result set. Maximum 10000 — past that, switch to cursor pagination.
paginatestringNoSet to cursor to opt into the COUNT-free keyset envelope instead of the default offset envelope. The response then carries next_cursor and has_more rather than next, previous, and total_count; pass next_cursor back as cursor to walk to the following page. Use it for deep traversal, where offset paging gets expensive.
countbooleanNoDefaults to true. Set to false to skip the COUNT\(*\) behind total_count — the field is then omitted from the envelope. Worth doing when you only need the rows.
fieldsstringNoComma-separated list of fields to return on each row. 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: created_at, created_by_id, description, end_date, external_id, external_source, id, logo_props, name, owned_by_id, sort_order, start_date, timezone. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: owned_by (the cycle owner). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.
cycle_viewstringNov1 compatibility only. Filter cycles by status

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Cyclesresult
↳ dataarrayData
↳ idstringUnique identifier for the cycle.
↳ namestringDisplay name, unique within the project. Maximum 255 characters.
↳ descriptionstringFree-form description of what the cycle covers.
↳ start_datestringAsset Id
↳ end_datestringAsset Id
↳ timezonestringThe IANA time zone the cycle's dates are interpreted in, for example America/New_York or UTC. This is what makes a cycle boundary land at local midnight rather than UTC midnight for a distributed team.
↳ owned_by_idstringThe user who owns the cycle. Read-only — assigned by Plane and not settable through the API. Use it to filter cycles on list.
↳ sort_orderjsonSort Order
↳ logo_propsjsonView Props
↳ external_idstringAsset Id
↳ external_sourcestringAsset Id
↳ created_atstringWhen the cycle was created.
↳ created_by_idstringThe user who created the cycle.
↳ owned_byjsonLogo Props
↳ nextnumberNext
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ paginationobjectPagination
↳ stylestringStyle
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more
resultsarrayReturned Plane records.
↳ idstringId
↳ total_issuesjsonTotal issues
↳ cancelled_issuesjsonCancelled issues
↳ completed_issuesjsonCompleted issues
↳ started_issuesjsonStarted issues
↳ unstarted_issuesjsonUnstarted issues
↳ backlog_issuesjsonBacklog issues
↳ total_estimatesnumberTotal estimates
↳ completed_estimatesnumberCompleted estimates
↳ started_estimatesnumberStarted estimates
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ namestringName
↳ descriptionstringDescription
↳ start_datestringStart date
↳ end_datestringEnd date
↳ view_propsjsonView props
↳ sort_ordernumberSort order
↳ external_sourcestringExternal source
↳ external_idstringExternal id
↳ progress_snapshotjsonProgress snapshot
↳ archived_atstringArchived at
↳ logo_propsjsonLogo props
↳ timezonestringTimezone
↳ versionjsonVersion
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ owned_byjsonOwned by
↳ idstringAsset Id
↳ first_namestringAsset Id
↳ last_namestringAsset Id
↳ emailstringEmail
↳ avatarstringAsset Id
↳ avatar_urlstringAvatar URL
↳ display_namestringDisplay name
↳ statusstringStatus
↳ deleted_byjsonDeleted by
detailstringProvider message when no records are returned.
paginationobjectCursor pagination information. Bare-array responses have empty pagination.
↳ next_cursorstringCursor for the next page.
↳ prev_cursorstringCursor for the previous page.
↳ next_page_resultsbooleanWhether a next page exists.
↳ prev_page_resultsbooleanWhether a previous page exists.
↳ countnumberRecords on this page.
↳ total_pagesnumberTotal pages.
↳ total_resultsnumberTotal records.
↳ total_countnumberTotal records when supplied by this endpoint.
↳ extra_statsjsonEndpoint-specific aggregate statistics.
↳ grouped_bystringGrouping field.
↳ sub_grouped_bystringSecondary grouping field.
↳ total_groupsnumberTotal primary groups.
↳ next_group_offsetnumberNext primary group offset.
↳ sub_total_groupsnumberTotal secondary groups.
↳ sub_next_group_offsetnumberNext secondary group offset.

Plane List labels

List labels in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project whose labels you want.
parent_idstringNoReturn only the labels nested under this label. Pair it with parent_id__isnull=true to get the opposite view — every top-level label in the project. Use parent_id__isnull=false for every label that has a parent.
external_idstringNoReturn labels whose external_id matches. Combine with external_source to resolve a record from another system to its Plane label without keeping a local id map.
external_sourcestringNoReturn labels that came from this system, for example github or jira.
searchstringNoA search term matched against the label name. Use it to power type-ahead in a picker rather than downloading every page and filtering client-side.
order_bystringNoField to sort by. Prefix with - for descending. Defaults to sort_order. - sort_order , -sort_order — the project's own label ordering - created_at , -created_at — newest or oldest first - id , -id A value outside this list is not rejected — it silently falls back to the default sort_order. Check your spelling: a typo in order_by fails silently and shows up as a differently sorted page, not as an error.
per_pagenumberNoPage size. Maximum 200 for API v2 and 100 for API v1.
offsetnumberNoNumber of rows to skip from the start of the result set. Maximum 10000. Read the next value from the response and send it back as offset to walk forward.
paginatestringNoSet to cursor to switch from the default offset envelope to the keyset cursor envelope, which skips the COUNT\(*\) and returns next_cursor and has_more instead of next and total_count. Send the returned next_cursor back as cursor to fetch the following page. Only created_at and id are cursor-eligible, because a keyset needs a strictly ordered column and sort_order is neither unique nor monotonic. Pair paginate=cursor with order_by=created_at or order_by=id — the default sort_order ordering is rejected with 400 ordering_not_cursor_eligible. Most projects have few enough labels that the default offset envelope is all you need.
countbooleanNoDefaults to true. Set to false to omit total_count and skip the count query.
fieldsstringNoComma-separated list of fields to return on each row. 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: color, created_at, created_by_id, description, external_id, external_source, id, name, parent_id, sort_order. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.
expandstringNoAPI v1 only. Comma-separated relations: created_by, updated_by, workspace, project, parent. Expansion replaces each relation ID with an object. Include the relation in fields when also requesting sparse fields.
parent_id__isnullbooleanNoAPI v2: true selects top-level labels, false selects labels with a parent.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Labelsresult
↳ dataarrayData
↳ idstringUnique identifier for the label. This is the value you send in a work item's label_ids.
↳ namestringDisplay name, unique within the project. Maximum 255 characters.
↳ descriptionstringFree-form note about what the label is for. Useful when a team needs a convention written down next to the tag.
↳ colorstringHex color used wherever the label is rendered, for example #e5484d.
↳ sort_orderjsonSort Order
↳ parent_idstringAsset Id
↳ external_idstringAsset Id
↳ external_sourcestringAsset Id
↳ created_atstringWhen the label was created.
↳ created_by_idstringAsset Id
↳ nextnumberNext
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ paginationobjectPagination
↳ stylestringStyle
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more
resultsarrayReturned Plane records.
↳ idstringId
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ namestringName
↳ descriptionstringDescription
↳ colorstringColor
↳ sort_ordernumberSort order
↳ external_sourcestringExternal source
↳ external_idstringExternal id
↳ created_byjsonCreator ID or expanded user.
↳ idstringAsset Id
↳ first_namestringAsset Id
↳ last_namestringAsset Id
↳ emailstringEmail
↳ avatarstringAsset Id
↳ avatar_urlstringAvatar URL
↳ display_namestringDisplay name
↳ updated_byjsonUpdater ID or expanded user.
↳ idstringAsset Id
↳ first_namestringAsset Id
↳ last_namestringAsset Id
↳ emailstringEmail
↳ avatarstringAsset Id
↳ avatar_urlstringAvatar URL
↳ display_namestringDisplay name
↳ workspacejsonWorkspace ID or expanded workspace.
↳ idstringAsset Id
↳ namestringAsset Id
↳ slugstringSlug
↳ projectjsonProject ID or expanded project.
↳ idstringAsset Id
↳ identifierstringIdentifier
↳ namestringAsset Id
↳ cover_imagestringAsset Id
↳ icon_propjsonLogo Props
↳ emojistringAsset Id
↳ descriptionstringAsset Id
↳ cover_image_urlstringAsset Id
↳ archived_atstringAsset Id
↳ parentjsonParent ID or expanded parent reference.
↳ idstringAsset Id
↳ sequence_idnumberSequence ID
↳ project_idstringAsset Id
↳ deleted_byjsonDeleted by
detailstringProvider message when no records are returned.
paginationobjectCursor pagination information. Bare-array responses have empty pagination.
↳ next_cursorstringCursor for the next page.
↳ prev_cursorstringCursor for the previous page.
↳ next_page_resultsbooleanWhether a next page exists.
↳ prev_page_resultsbooleanWhether a previous page exists.
↳ countnumberRecords on this page.
↳ total_pagesnumberTotal pages.
↳ total_resultsnumberTotal records.
↳ total_countnumberTotal records when supplied by this endpoint.
↳ extra_statsjsonEndpoint-specific aggregate statistics.
↳ grouped_bystringGrouping field.
↳ sub_grouped_bystringSecondary grouping field.
↳ total_groupsnumberTotal primary groups.
↳ next_group_offsetnumberNext primary group offset.
↳ sub_total_groupsnumberTotal secondary groups.
↳ sub_next_group_offsetnumberNext secondary group offset.

List links in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
work_item_idstringYesThe work item the resource hangs off. Accepts the work item UUID or its PROJ-123 identifier.
countbooleanNoSet to false to skip the total_count COUNT(*) (omits total_count).
offsetnumberNoNumber of rows to skip from the start of the result set.
order_bystringNoField to order the list by. Prefix with '-' for descending (e.g. '-created_at'). Annotation-backed orders sort semantically and ride the default offset page.
paginatestringNoSet to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total_count. One of cursor.
per_pagenumberNoPage size. Maximum 200 for API v2 and 100 for API v1.
searchstringNoA search term.
titlestringNoFilter by title.
urlstringNoFilter by url.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted from each row, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400 that names the valid set, so a typo can't silently cost you the saving. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: created_at, created_by_id, id, metadata, title, url, work_item_id.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.
expandstringNov1 compatibility only. Comma-separated list of related fields to expand in response Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Linksresult
↳ dataarrayData
↳ created_atstringWhen the record was created.
↳ created_by_idstringThe user who created the record.
↳ idstringUnique identifier.
↳ metadatajsonMetadata
↳ titlestringTitle.
↳ urlstringTarget URL.
↳ work_item_idstringThe related work item.
↳ nextnumberNext
↳ paginationobjectPagination
↳ stylestringStyle
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more
resultsarrayReturned Plane records.
↳ idstringId
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ titlestringTitle
↳ urlstringUrl
↳ metadatajsonMetadata
↳ urlstringAsset Id
↳ titlestringAsset Id
↳ faviconstringAsset Id
↳ favicon_urljsonLogo Props
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ issuestringIssue
↳ namestringName
↳ deleted_byjsonDeleted by
detailstringProvider message when no records are returned.
paginationobjectCursor pagination information. Bare-array responses have empty pagination.
↳ next_cursorstringCursor for the next page.
↳ prev_cursorstringCursor for the previous page.
↳ next_page_resultsbooleanWhether a next page exists.
↳ prev_page_resultsbooleanWhether a previous page exists.
↳ countnumberRecords on this page.
↳ total_pagesnumberTotal pages.
↳ total_resultsnumberTotal records.
↳ total_countnumberTotal records when supplied by this endpoint.
↳ extra_statsjsonEndpoint-specific aggregate statistics.
↳ grouped_bystringGrouping field.
↳ sub_grouped_bystringSecondary grouping field.
↳ total_groupsnumberTotal primary groups.
↳ next_group_offsetnumberNext primary group offset.
↳ sub_total_groupsnumberTotal secondary groups.
↳ sub_next_group_offsetnumberNext secondary group offset.

Plane List modules

List modules in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project whose modules you want.
statusstringNoReturn only modules in this lifecycle position. One of backlog, planned, in-progress, paused, completed, or cancelled. Use status__in with a comma-separated list to match several at once, for example ?status__in=planned,in-progress.
lead_idstringNoReturn only modules led by this user. Match is exact on the module's lead_id.
external_idstringNoReturn only modules carrying this external identifier. Pair it with external_source to resolve a record you imported from another system.
external_sourcestringNoReturn only modules that came from this system, for example github or jira.
searchstringNoFree-text match on the module name.
order_bystringNoField to sort by. Prefix with - for descending. - sort_order , -sort_order - created_at , -created_at - id , -id Defaults to sort_order.
per_pagenumberNoPage size. Maximum 200 for API v2 and 100 for API v1.
offsetnumberNoNumber of rows to skip from the start of the result set. Maximum 10000 — go deeper with cursor pagination.
paginatestringNoSet to cursor to opt into the COUNT-free keyset envelope, then follow next_cursor with ?cursor=.
countbooleanNoSet to false to skip the count query and omit total_count from the offset envelope. Defaults to true.
fieldsstringNoComma-separated list of fields to return on each row. 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: archived_at, created_at, created_by_id, description, external_id, external_source, id, lead_id, logo_props, member_ids, name, sort_order, start_date, status, target_date. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
status__instringNoDocumented filter variant. Return only modules in this lifecycle position. One of backlog, planned, in-progress, paused, completed, or cancelled. Use status__in with a comma-separated list to match several at once, for example ?status__in=planned,in-progress.
expandstringNoComma-separated relations to embed alongside the ids: lead (the module lead), members (the module members). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Modulesresult
↳ dataarrayData
↳ idstringUnique identifier for the module.
↳ namestringDisplay name, unique within the project. Maximum 255 characters.
↳ descriptionstringPlain-text summary of what the module covers.
↳ statusstringWhere the module sits in its lifecycle. One of backlog, planned, in-progress, paused, completed, or cancelled.
↳ start_datestringAsset Id
↳ target_datestringAsset Id
↳ lead_idstringAsset Id
↳ member_idsarrayProject members assigned to the module. Read-only in v2 — module membership is not yet writable through the v2 API.
↳ sort_ordernumberOrdering weight used when modules are listed. Lower values sort first.
↳ logo_propsjsonView Props
↳ external_idstringAsset Id
↳ external_sourcestringAsset Id
↳ archived_atstringAsset Id
↳ created_atstringWhen the module was created.
↳ created_by_idstringThe user who created the module.
↳ leadjsonLogo Props
↳ membersarrayMembers
↳ nextnumberNext
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ paginationobjectPagination
↳ stylestringStyle
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more
resultsarrayReturned Plane records.
↳ idstringId
↳ total_issuesjsonTotal issues
↳ cancelled_issuesjsonCancelled issues
↳ completed_issuesjsonCompleted issues
↳ started_issuesjsonStarted issues
↳ unstarted_issuesjsonUnstarted issues
↳ backlog_issuesjsonBacklog issues
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ namestringName
↳ descriptionstringDescription
↳ description_textjsonDescription text
↳ description_htmljsonDescription html
↳ start_datestringStart date
↳ target_datestringTarget date
↳ statusstringStatus
↳ view_propsjsonView props
↳ sort_ordernumberSort order
↳ external_sourcestringExternal source
↳ external_idstringExternal id
↳ archived_atstringArchived at
↳ logo_propsjsonLogo props
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ leadstringLead
↳ membersarrayMembers
↳ deleted_byjsonDeleted by
detailstringProvider message when no records are returned.
paginationobjectCursor pagination information. Bare-array responses have empty pagination.
↳ next_cursorstringCursor for the next page.
↳ prev_cursorstringCursor for the previous page.
↳ next_page_resultsbooleanWhether a next page exists.
↳ prev_page_resultsbooleanWhether a previous page exists.
↳ countnumberRecords on this page.
↳ total_pagesnumberTotal pages.
↳ total_resultsnumberTotal records.
↳ total_countnumberTotal records when supplied by this endpoint.
↳ extra_statsjsonEndpoint-specific aggregate statistics.
↳ grouped_bystringGrouping field.
↳ sub_grouped_bystringSecondary grouping field.
↳ total_groupsnumberTotal primary groups.
↳ next_group_offsetnumberNext primary group offset.
↳ sub_total_groupsnumberTotal secondary groups.
↳ sub_next_group_offsetnumberNext secondary group offset.

Plane List project pages

List project pages in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
accessnumberNo- 0 - Public - 1 - Private One of 0, 1.
collection_idstringNoFilter by collection_id.
countbooleanNoSet to false to skip the total_count COUNT(*) (omits total_count).
external_idstringNoFilter by external_id.
external_sourcestringNoFilter by external_source.
is_globalbooleanNoFilter by is_global.
is_lockedbooleanNoFilter by is_locked.
offsetnumberNoNumber of rows to skip from the start of the result set.
order_bystringNoField to order the list by. Prefix with '-' for descending (e.g. '-created_at'). Annotation-backed orders sort semantically and ride the default offset page.
owned_by_idstringNoFilter by owned_by_id.
paginatestringNoSet to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total_count. One of cursor.
parent_idstringNoFilter by parent_id.
per_pagenumberNoPage size. Maximum 200 for API v2 and 100 for API v1.
searchstringNoA search term.
typestringNo- all - All - public - Public - private - Private - shared - Shared - archived - Archived One of all, archived, private, public, shared.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted from each row, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400 that names the valid set, so a typo can't silently cost you the saving. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: access, archived_at, collection_id, color, created_at, created_by_id, description_html, description_stripped, external_id, external_source, id, is_global, is_locked, logo_props, name, owned_by_id, parent_id, sort_order, view_props.
expandstringNoComma-separated relations to embed: owned_by, parent. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Project Pagesresult
↳ dataarrayData
↳ accessjsonAccess
↳ archived_atstringAsset Id
↳ collection_idstringThe related collection.
↳ colorstringHex color used wherever this is rendered, for example #3f76ff.
↳ created_atstringWhen the record was created.
↳ created_by_idstringThe user who created the record.
↳ description_htmlstringRich-text body as HTML. This is the field the Plane editor round-trips.
↳ description_strippedstringThe description stripped.
↳ external_idstringYour system's identifier for this record, for sync and import correlation.
↳ external_sourcestringThe system external_id came from, for example github or jira.
↳ idstringUnique identifier.
↳ is_globalbooleanWhether this lives at the workspace level rather than inside a project.
↳ is_lockedbooleanPrevents further edits to the content.
↳ logo_propsjsonView Props
↳ namestringDisplay name.
↳ owned_by_idstringThe related owned by.
↳ parent_idstringThe related parent.
↳ sort_orderjsonSort Order
↳ view_propsjsonView Props
↳ owned_byjsonLogo Props
↳ parentjsonLogo Props
↳ nextnumberNext
↳ paginationobjectPagination
↳ stylestringStyle
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more
resultsarrayReturned Plane records.
↳ idstringId
↳ namestringName
↳ description_strippedstringDescription stripped
↳ description_htmlstringDescription html
↳ description_binarystringDescription binary
↳ descriptionjsonDescription
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ owned_byjsonOwned by
↳ idstringAsset Id
↳ first_namestringAsset Id
↳ last_namestringAsset Id
↳ emailstringEmail
↳ avatarstringAsset Id
↳ avatar_urlstringAvatar URL
↳ display_namestringDisplay name
↳ anchorstringAnchor
↳ workspacestringWorkspace
↳ projectsarrayProjects
↳ accessjsonAccess
↳ is_lockedbooleanIs locked
↳ archived_atstringArchived at
↳ parent_idstringParent id
↳ parentjsonParent page ID or expanded page object in API v1.
↳ collection_idstringCollection id
↳ page_collection_idstringPage collection id
↳ colorstringColor
↳ created_bystringCreated by
↳ updated_byjsonUpdated by
↳ view_propsjsonView props
↳ logo_propsjsonLogo props
↳ external_idjsonExternal id
↳ external_sourcejsonExternal source
↳ description_jsonobjectDescription json
↳ typestringType
↳ contentarrayContent
↳ typestringAsset Id
↳ attrsobjectAttrs
↳ idjsonId
↳ textAlignjsonId
↳ aiSuggestionjsonId
↳ contentarrayContent
↳ textstringAsset Id
↳ typestringAsset Id
detailstringProvider message when no records are returned.
paginationobjectCursor pagination information. Bare-array responses have empty pagination.
↳ next_cursorstringCursor for the next page.
↳ prev_cursorstringCursor for the previous page.
↳ next_page_resultsbooleanWhether a next page exists.
↳ prev_page_resultsbooleanWhether a previous page exists.
↳ countnumberRecords on this page.
↳ total_pagesnumberTotal pages.
↳ total_resultsnumberTotal records.
↳ total_countnumberTotal records when supplied by this endpoint.
↳ extra_statsjsonEndpoint-specific aggregate statistics.
↳ grouped_bystringGrouping field.
↳ sub_grouped_bystringSecondary grouping field.
↳ total_groupsnumberTotal primary groups.
↳ next_group_offsetnumberNext primary group offset.
↳ sub_total_groupsnumberTotal secondary groups.
↳ sub_next_group_offsetnumberNext secondary group offset.

Plane List projects

List projects in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
countbooleanNoSet to false to skip the total_count COUNT(*) (omits total_count).
external_idstringNoFilter by external_id.
external_sourcestringNoFilter by external_source.
identifierstringNoFilter by identifier.
include_archivedbooleanNoFilter by include_archived.
is_archivedbooleanNoFilter by is_archived.
keystringNoFilter by key.
namestringNoFilter by name.
networknumberNoFilter by network.
offsetnumberNoNumber of rows to skip from the start of the result set.
order_bystringNoField to order the list by. Prefix with '-' for descending (e.g. '-created_at'). Annotation-backed orders sort semantically and ride the default offset page.
paginatestringNoSet to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total_count. One of cursor.
per_pagenumberNoPage size. Maximum 200 for API v2 and 100 for API v1.
prioritystringNo- none - None - low - Low - medium - Medium - high - High - urgent - Urgent One of high, low, medium, none, urgent.
priority__injsonNoMultiple values may be separated by commas. - none - None - low - Low - medium - Medium - high - High - urgent - Urgent
searchstringNoA search term.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted from each row, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400 that names the valid set, so a typo can't silently cost you the saving. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: archive_in, archived_at, close_in, cover_image, cover_image_url, created_at, created_by_id, cycle_view, default_assignee_id, default_state_id, description, emoji, estimate_id, external_id, external_source, guest_view_all_features, icon_prop, id, identifier, intake_view, is_issue_type_enabled, is_time_tracking_enabled, issue_views_view, logo_props, module_view, name, network, page_view, priority, project_lead_id, start_date, state_id, target_date, timezone.
expandstringNoComma-separated relations to embed: default_assignee, project_lead. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Projectsresult
↳ dataarrayData
↳ archive_injsonArchive In
↳ archived_atstringAsset Id
↳ close_injsonClose In
↳ cover_imagestringURL of the cover image.
↳ cover_image_urlstringThe cover image url.
↳ created_atstringWhen the record was created.
↳ created_by_idstringThe user who created the record.
↳ cycle_viewbooleanWhether cycle view.
↳ default_assignee_idstringThe related default assignee.
↳ default_state_idstringThe related default state.
↳ descriptionstringFree-form description.
↳ emojistringEmoji shown alongside the name.
↳ estimate_idstringThe related estimate.
↳ external_idstringYour system's identifier for this record, for sync and import correlation.
↳ external_sourcestringThe system external_id came from, for example github or jira.
↳ guest_view_all_featuresbooleanWhether guest view all features.
↳ icon_propjsonIcon Prop
↳ idstringUnique identifier.
↳ identifierstringShort project key used to prefix work item numbers, for example ENG in ENG-142.
↳ intake_viewbooleanWhether intake view.
↳ is_issue_type_enabledbooleanWhether is issue type enabled.
↳ is_time_tracking_enabledbooleanWhether is time tracking enabled.
↳ issue_views_viewbooleanWhether issue views view.
↳ logo_propsjsonView Props
↳ module_viewbooleanWhether module view.
↳ namestringDisplay name.
↳ networkjsonNetwork
↳ page_viewbooleanWhether page view.
↳ prioritystringUrgency of the work item.
↳ project_lead_idstringThe related project lead.
↳ start_datestringPlanned start date, as YYYY-MM-DD.
↳ state_idstringThe related state.
↳ target_datestringPlanned due date, as YYYY-MM-DD.
↳ timezonestringIANA timezone name, for example America/New_York.
↳ default_assigneejsonLogo Props
↳ project_leadjsonLogo Props
↳ nextnumberNext
↳ paginationobjectPagination
↳ stylestringStyle
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more
resultsarrayReturned Plane records.
↳ idstringId
↳ total_membersjsonTotal members
↳ total_cyclesjsonTotal cycles
↳ total_modulesjsonTotal modules
↳ is_memberbooleanIs member
↳ sort_ordernumberSort order
↳ member_rolejsonMember role
↳ is_deployedbooleanIs deployed
↳ cover_image_urlstringCover image url
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ namestringName
↳ descriptionstringDescription
↳ description_textjsonDescription text
↳ description_htmljsonDescription html
↳ networkjsonNetwork
↳ identifierstringIdentifier
↳ emojistringEmoji
↳ icon_propjsonIcon prop
↳ module_viewbooleanModule view
↳ cycle_viewbooleanCycle view
↳ issue_views_viewbooleanIssue views view
↳ page_viewbooleanPage view
↳ intake_viewbooleanIntake view
↳ is_time_tracking_enabledbooleanIs time tracking enabled
↳ is_issue_type_enabledbooleanIs issue type enabled
↳ guest_view_all_featuresbooleanGuest view all features
↳ cover_imagestringCover image
↳ archive_injsonArchive in
↳ close_injsonClose in
↳ logo_propsjsonLogo props
↳ archived_atstringArchived at
↳ timezonestringTimezone
↳ external_sourcestringExternal source
↳ external_idstringExternal id
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ workspacestringWorkspace
↳ default_assigneestringDefault assignee
↳ project_leadstringProject lead
↳ cover_image_assetstringCover image asset
↳ estimatestringEstimate
↳ default_statestringDefault state
↳ deleted_byjsonDeleted by
↳ prioritystringPriority
↳ start_datejsonStart date
↳ target_datejsonTarget date
↳ is_voting_enabledbooleanIs voting enabled
↳ auto_reminder_daysnumberAuto reminder days
↳ statestringState
detailstringProvider message when no records are returned.
paginationobjectCursor pagination information. Bare-array responses have empty pagination.
↳ next_cursorstringCursor for the next page.
↳ prev_cursorstringCursor for the previous page.
↳ next_page_resultsbooleanWhether a next page exists.
↳ prev_page_resultsbooleanWhether a previous page exists.
↳ countnumberRecords on this page.
↳ total_pagesnumberTotal pages.
↳ total_resultsnumberTotal records.
↳ total_countnumberTotal records when supplied by this endpoint.
↳ extra_statsjsonEndpoint-specific aggregate statistics.
↳ grouped_bystringGrouping field.
↳ sub_grouped_bystringSecondary grouping field.
↳ total_groupsnumberTotal primary groups.
↳ next_group_offsetnumberNext primary group offset.
↳ sub_total_groupsnumberTotal secondary groups.
↳ sub_next_group_offsetnumberNext secondary group offset.

Plane List states

List states in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project whose states you want to list.
groupstringNoReturn only states in this workflow group. One of backlog, unstarted, started, completed, cancelled, or triage. Use the group__in variant to match several groups at once, passing them comma-separated — ?group__in=started,completed. Filtering by group is the portable way to ask "what counts as in progress here", because every project names its states differently but the groups are fixed.
is_defaultbooleanNoReturn only the project's default state (true) or only the non-default states (false). Pairing ?is_default=true with ?per_page=1 is the cheapest way to find where new work items will land.
external_idstringNoReturn states whose external_id matches exactly. Use it to find the state you previously created for a record in another system.
external_sourcestringNoReturn states that came from a particular system, for example github or jira. Combine it with external_id — an external_id is only unique within its source.
searchstringNoA search term matched against the state name.
fieldsstringNoComma-separated list of fields to return on each row. 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: color, created_at, created_by_id, description, external_id, external_source, group, id, is_default, is_triage, name, sequence. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
group__instringNoDocumented filter variant. Return only states in this workflow group. One of backlog, unstarted, started, completed, cancelled, or triage. Use the group__in variant to match several groups at once, passing them comma-separated — ?group__in=started,completed. Filtering by group is the portable way to ask "what counts as in progress here", because every project names its states differently but the groups are fixed.
order_bystringNoField to sort by. Prefix with - for descending. - sequence , -sequence — the project's own workflow order - created_at , -created_at — when each state was added - id , -id Order by sequence when you are rendering the workflow to a user; it is the order the project itself uses.
per_pagenumberNoPage size. Maximum 200 for API v2 and 100 for API v1.
offsetnumberNoNumber of rows to skip from the start of the result set. Maximum 10000. Read the next value from the response rather than computing offsets yourself.
paginatestringNoSet to cursor to opt into the COUNT-free keyset envelope, which returns next_cursor and has_more instead of next and total_count. Omit it for the default offset envelope.
countbooleanNoDefaults to true. Set to false to skip the COUNT\(*\) behind total_count; the field is then omitted from the response.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.
expandstringNov1 compatibility only. Comma-separated list of related fields to expand in response Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Statesresult
↳ dataarrayData
↳ idstringUnique identifier for the state.
↳ namestringDisplay name, unique within the project. Maximum 255 characters.
↳ descriptionstringFree-form description of what the state means in this workflow.
↳ colorstringHex color used wherever the state is rendered, for example #3f76ff.
↳ groupstringThe workflow group this state belongs to. One of backlog, unstarted, started, completed, cancelled, or triage.
↳ sequencejsonSequence
↳ is_defaultbooleanWhether new work items land in this state when no state_id is supplied. Exactly one state per project is the default.
↳ is_triagebooleanWhether this is the project's triage state, used by intake. Read-only — a triage state is created and managed by Plane.
↳ external_idstringAsset Id
↳ external_sourcestringAsset Id
↳ created_atstringWhen the state was created.
↳ created_by_idstringThe user who created the state.
↳ nextnumberNext
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ paginationobjectPagination
↳ stylestringStyle
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more
resultsarrayReturned Plane records.
↳ idstringId
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ namestringName
↳ descriptionstringDescription
↳ colorstringColor
↳ sequencenumberSequence
↳ groupstringGroup
↳ is_triagebooleanIs triage
↳ defaultbooleanDefault
↳ external_sourcestringExternal source
↳ external_idstringExternal id
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ slugstringSlug
↳ deleted_byjsonDeleted by
detailstringProvider message when no records are returned.
paginationobjectCursor pagination information. Bare-array responses have empty pagination.
↳ next_cursorstringCursor for the next page.
↳ prev_cursorstringCursor for the previous page.
↳ next_page_resultsbooleanWhether a next page exists.
↳ prev_page_resultsbooleanWhether a previous page exists.
↳ countnumberRecords on this page.
↳ total_pagesnumberTotal pages.
↳ total_resultsnumberTotal records.
↳ total_countnumberTotal records when supplied by this endpoint.
↳ extra_statsjsonEndpoint-specific aggregate statistics.
↳ grouped_bystringGrouping field.
↳ sub_grouped_bystringSecondary grouping field.
↳ total_groupsnumberTotal primary groups.
↳ next_group_offsetnumberNext primary group offset.
↳ sub_total_groupsnumberTotal secondary groups.
↳ sub_next_group_offsetnumberNext secondary group offset.

Plane List webhooks

List webhooks in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
countbooleanNoSet to false to skip the total_count COUNT(*) (omits total_count).
is_activebooleanNoFilter by is_active.
namestringNoFilter by name.
offsetnumberNoNumber of rows to skip from the start of the result set.
order_bystringNoField to order the list by. Prefix with '-' for descending (e.g. '-created_at'). Annotation-backed orders sort semantically and ride the default offset page.
paginatestringNoSet to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total_count. One of cursor.
per_pagenumberNoPage size (max 200).
searchstringNoA search term.
urlstringNoFilter by url.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted from each row, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400 that names the valid set, so a typo can't silently cost you the saving. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: content_type, created_at, created_by_id, id, is_active, name, scopes, url, version.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Webhooksresult
↳ dataarrayData
↳ content_typestringThe content type.
↳ created_atstringWhen the record was created.
↳ created_by_idstringThe user who created the record.
↳ idstringUnique identifier.
↳ is_activebooleanWhether the record is active.
↳ namestringDisplay name.
↳ scopesarrayThe scopes.
↳ urlstringTarget URL.
↳ versionstringVersion string, for example 1.4.0.
↳ nextnumberNext
↳ paginationobjectPagination
↳ stylestringStyle
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more

Plane List work items

List work items in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project to list work items from.
fieldsstringNoComma-separated list of fields to return on each row. 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: archived_at, assignee_ids, created_at, created_by_id, cycle_id, id, identifier, is_draft, label_ids, module_ids, name, parent_id, priority, project_id, sequence_id, start_date, state_id, target_date, type_id. Naming custom_fields here is a 400 — it is only available on single-object responses. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
state_idstringNoMatch work items in a specific state. Use state_id__in with a comma-separated list to match any of several states.
state_id__instringNoDocumented filter variant. Match work items in a specific state. Use state_id__in with a comma-separated list to match any of several states.
state_groupstringNoMatch by the state's workflow group instead of a specific state — stable across projects that name their states differently. One of backlog, unstarted, started, completed, cancelled, triage. Use state_group__in for several groups, for example ?state_group__in=started,completed.
state_group__instringNoDocumented filter variant. Match by the state's workflow group instead of a specific state — stable across projects that name their states differently. One of backlog, unstarted, started, completed, cancelled, triage. Use state_group__in for several groups, for example ?state_group__in=started,completed.
prioritystringNoOne of urgent, high, medium, low, none. Use priority__in for several, for example ?priority__in=urgent,high.
priority__instringNoDocumented filter variant. One of urgent, high, medium, low, none. Use priority__in for several, for example ?priority__in=urgent,high.
assignee_idstringNoMatch work items assigned to a user. assignee_id__in matches any of several users; assignee_id__isnull=true returns only unassigned work items.
assignee_id__instringNoDocumented filter variant. Match work items assigned to a user. assignee_id__in matches any of several users; assignee_id__isnull=true returns only unassigned work items.
label_idstringNoMatch work items carrying a label. label_id__in matches any of several labels; label_id__isnull=true returns only unlabeled work items.
label_id__instringNoDocumented filter variant. Match work items carrying a label. label_id__in matches any of several labels; label_id__isnull=true returns only unlabeled work items.
type_idstringNoMatch work items of a given work item type. type_id__in accepts a comma-separated list.
type_id__instringNoDocumented filter variant. Match work items of a given work item type. type_id__in accepts a comma-separated list.
parent_idstringNoMatch the children of a work item. parent_id__in accepts several parents; parent_id__isnull=true returns only top-level work items.
parent_id__instringNoDocumented filter variant. Match the children of a work item. parent_id__in accepts several parents; parent_id__isnull=true returns only top-level work items.
cycle_idstringNoMatch work items in a cycle. cycle_id__in accepts several cycles; cycle_id__isnull=true returns the backlog of work items in no cycle at all.
cycle_id__instringNoDocumented filter variant. Match work items in a cycle. cycle_id__in accepts several cycles; cycle_id__isnull=true returns the backlog of work items in no cycle at all.
module_idstringNoMatch work items in a module. module_id__in accepts several modules; module_id__isnull=true returns work items in no module.
module_id__instringNoDocumented filter variant. Match work items in a module. module_id__in accepts several modules; module_id__isnull=true returns work items in no module.
sequence_idnumberNoMatch the single work item with this number within the project — the 142 of PROJ-142.
is_draftbooleanNoFilter drafts in or out. Drafts are work items still being composed in the Plane app.
external_idstringNoCorrelation filters for sync and import. external_source is the system a record came from and external_id is its key there, so the pair is how you find the Plane work item that mirrors a row in your own database. These values are not returned on reads — the lookup is one-way.
external_sourcestringNoCorrelation filters for sync and import. external_source is the system a record came from and external_id is its key there, so the pair is how you find the Plane work item that mirrors a row in your own database. These values are not returned on reads — the lookup is one-way.
created_at__gtestringNoBound the creation timestamp. Pass an ISO 8601 datetime, for example 2026-01-01T00:00:00Z. Use both for a window.
created_at__ltestringNoBound the creation timestamp. Pass an ISO 8601 datetime, for example 2026-01-01T00:00:00Z. Use both for a window.
updated_at__gtestringNoBound the last-modified timestamp. This is the pair to use for incremental sync — poll with ?updated_at__gte=&order_by=updated_at. updated_at is filterable and orderable but is not part of the read shape, so it does not come back in the response body.
updated_at__ltestringNoBound the last-modified timestamp. This is the pair to use for incremental sync — poll with ?updated_at__gte=&order_by=updated_at. updated_at is filterable and orderable but is not part of the read shape, so it does not come back in the response body.
start_date__gtestringNoBound the planned start date, for example 2026-01-01.
start_date__ltestringNoBound the planned start date, for example 2026-01-01.
target_date__gtestringNoBound the planned due date. ?target_date__lte=2026-01-31&state_group__in=backlog,unstarted,started is the "what is about to slip" query.
target_date__ltestringNoBound the planned due date. ?target_date__lte=2026-01-31&state_group__in=backlog,unstarted,started is the "what is about to slip" query.
searchstringNoFree-text search over the work item name.
order_bystringNoField to sort by. Prefix with - for descending. Defaults to -created_at. - created_at, -created_at - updated_at, -updated_at - sequence_id, -sequence_id - id, -id - sort_order, -sort_order — the manual board ordering - priority, -priority — semantic: urgent → high → medium → low → none, not alphabetical - state_group, -state_group — semantic: workflow order, not alphabetical priority and state_group sort by meaning, which is what you want for a board but is not cursor-eligible. Pair either with ?paginate=cursor and you get 400 ordering_not_cursor_eligible; use the default offset pages instead.
per_pagenumberNoPage size. Maximum 200 for API v2 and 100 for API v1.
offsetnumberNoRows to skip from the start of the result set. Maximum 10000 — past that, switch to cursor pagination.
countbooleanNoDefaults to true. Pass ?count=false to skip the COUNT\(*\) and omit total_count from the envelope. Worth doing on large projects when you only need the rows.
paginatestringNoSet to cursor to opt into keyset pagination. The envelope changes to next_cursor / has_more and drops total_count. Use it for deep or long-running traversals where offset pages would drift as rows are inserted. Follow the returned next_cursor as described in [Pagination](https://developers.plane.so/api-reference/v2/pagination).
expandstringNoComma-separated relations to embed alongside the ids: assignees (the assigned users), cycle (the cycle it belongs to), labels (the applied labels), modules (the modules it belongs to), parent (its parent work item), state (the work item's state object), type (its work item type). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.
pqlstringNov1 compatibility only. Plane Query Language expression. Human-readable alternative to filters. Example: priority = "urgent" AND assignee = currentUser\(\). Requires a Plane edition with work item query filtering; Community Edition rejects this parameter.
filtersjsonNov1 compatibility only. Structured filter expression. Supports nested and/or/not groups and field comparisons with operators like __in, __gte, __range, __isnull, __icontains, etc. JSON-encoded into the filters= query param by the client. Requires a Plane edition with work item query filtering; Community Edition rejects this parameter.
assignee_id__isnullbooleanNoAPI v2: select records with a missing assignee when true, or a present assignee when false.
label_id__isnullbooleanNoAPI v2: select records with a missing label when true, or a present label when false.
parent_id__isnullbooleanNoAPI v2: select records with a missing parent when true, or a present parent when false.
cycle_id__isnullbooleanNoAPI v2: select records with a missing cycle when true, or a present cycle when false.
module_id__isnullbooleanNoAPI v2: select records with a missing module when true, or a present module when false.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Work Itemsresult
↳ dataarrayData
↳ idstringUnique identifier for the work item. This is the \{pk\} on every project-scoped detail route.
↳ namestringTitle of the work item. Maximum 255 characters.
↳ identifierstringThe human key, for example PROJ-142. It is the project's identifier joined to sequence_id, and it is what people paste into chat and commit messages. Use it with [Get a work item by identifier](https://developers.plane.so/api-reference/v2/work-items/get-work-item-by-identifier) when you don't have the project UUID.
↳ sequence_idjsonSequence Id
↳ prioritystringOne of urgent, high, medium, low, or none. Never null — an unprioritized work item reads none.
↳ state_idstringThe workflow state the work item is currently in.
↳ type_idstringAsset Id
↳ assignee_idsarrayUser ids assigned to the work item. Empty array when unassigned.
↳ label_idsarrayLabel ids applied to the work item. Empty array when unlabeled.
↳ parent_idstringAsset Id
↳ start_datestringAsset Id
↳ target_datestringAsset Id
↳ is_draftbooleanWhether the work item is still a draft. Drafts are created in the Plane app and are excluded from most boards.
↳ archived_atstringAsset Id
↳ created_atstringWhen the work item was created.
↳ created_by_idstringAsset Id
↳ custom_fieldsjsonView Props
↳ assigneesarrayAssignees
↳ idstringAsset Id
↳ display_namestringAsset Id
↳ avatar_urlstringAsset Id
↳ emailstringAsset Id
↳ cyclejsonLogo Props
↳ labelsarrayLabels
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ modulesarrayMembers
↳ parentobjectParent
↳ idstringAsset Id
↳ namestringAsset Id
↳ sequence_idnumberAccess
↳ stateobjectState
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ groupstringAsset Id
↳ typeobjectType
↳ idstringAsset Id
↳ namestringAsset Id
↳ logo_propsjsonLogo Props
↳ is_epicbooleanHas Pages
↳ project_idstringAsset Id
↳ cycle_idstringAsset Id
↳ module_idsarrayModule Ids
↳ nextjsonNext
↳ previousjsonPrevious
↳ total_countnumberTotal count
↳ paginationobjectPagination
↳ stylestringStyle
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more
resultsarrayReturned Plane records.
↳ idstringId
↳ type_idstringType id
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ pointnumberPoint
↳ namestringName
↳ description_htmlstringDescription html
↳ description_strippedstringDescription stripped
↳ description_binarystringDescription binary
↳ prioritystringPriority
↳ start_datestringStart date
↳ target_datestringTarget date
↳ sequence_idjsonSequence id
↳ sort_ordernumberSort order
↳ completed_atstringCompleted at
↳ archived_atstringArchived at
↳ is_draftbooleanIs draft
↳ external_sourcestringExternal source
↳ external_idstringExternal id
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectjsonProject
↳ workspacestringWorkspace
↳ parentstringParent
↳ statejsonState
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ groupstringGroup
↳ estimate_pointstringEstimate point
↳ typejsonType
↳ descriptionstringDescription
↳ assigneesarrayAssignees
↳ idstringAsset Id
↳ first_namestringAsset Id
↳ last_namestringAsset Id
↳ emailstringAsset Id
↳ avatarstringAsset Id
↳ avatar_urljsonId
↳ display_namestringAsset Id
↳ labelsarrayLabels
↳ idstringAsset Id
↳ deleted_byjsonId
↳ created_atstringAsset Id
↳ updated_atstringAsset Id
↳ deleted_atjsonId
↳ namestringAsset Id
↳ descriptionstringAsset Id
↳ colorstringAsset Id
↳ sort_ordernumberSort Order
↳ external_sourcejsonId
↳ external_idjsonId
↳ created_bystringAsset Id
↳ updated_byjsonId
↳ workspacestringAsset Id
↳ projectstringAsset Id
↳ parentjsonId
↳ deleted_byjsonDeleted by
↳ cycle_idstringCycle id
↳ created_viajsonCreated via
↳ updated_viajsonUpdated via
↳ last_activity_atstringLast activity at
↳ min_assignee_first_namestringMin assignee first name
↳ min_label_namestringMin label name
↳ min_module_namestringMin module name
↳ priority_ranknumberPriority rank
↳ state_groupstringState group
detailstringProvider message when no records are returned.
paginationobjectCursor pagination information. Bare-array responses have empty pagination.
↳ next_cursorstringCursor for the next page.
↳ prev_cursorstringCursor for the previous page.
↳ next_page_resultsbooleanWhether a next page exists.
↳ prev_page_resultsbooleanWhether a previous page exists.
↳ countnumberRecords on this page.
↳ total_pagesnumberTotal pages.
↳ total_resultsnumberTotal records.
↳ total_countnumberTotal records when supplied by this endpoint.
↳ extra_statsjsonEndpoint-specific aggregate statistics.
↳ grouped_bystringGrouping field.
↳ sub_grouped_bystringSecondary grouping field.
↳ total_groupsnumberTotal primary groups.
↳ next_group_offsetnumberNext primary group offset.
↳ sub_total_groupsnumberTotal secondary groups.
↳ sub_next_group_offsetnumberNext secondary group offset.

Plane List work items across a workspace

List work items across a workspace in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
assignee_idstringNoFilter by assignee_id.
assignee_id__injsonNoMultiple values may be separated by commas.
assignee_id__isnullbooleanNoFilter by assignee_id__isnull.
countbooleanNoSet to false to skip the total_count COUNT(*) (omits total_count).
created_at__gtestringNoFilter by created_at__gte.
created_at__ltestringNoFilter by created_at__lte.
cycle_idstringNoFilter by cycle_id.
cycle_id__injsonNoMultiple values may be separated by commas.
cycle_id__isnullbooleanNoFilter by cycle_id__isnull.
external_idstringNoFilter by external_id.
external_sourcestringNoFilter by external_source.
is_draftbooleanNoFilter by is_draft.
label_idstringNoFilter by label_id.
label_id__injsonNoMultiple values may be separated by commas.
label_id__isnullbooleanNoFilter by label_id__isnull.
module_idstringNoFilter by module_id.
module_id__injsonNoMultiple values may be separated by commas.
module_id__isnullbooleanNoFilter by module_id__isnull.
offsetnumberNoNumber of rows to skip from the start of the result set.
order_bystringNoField to order the list by. Prefix with '-' for descending (e.g. '-created_at'). Annotation-backed orders sort semantically and ride the default offset page.
paginatestringNoSet to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total_count. One of cursor.
parent_idstringNoFilter by parent_id.
parent_id__injsonNoMultiple values may be separated by commas.
parent_id__isnullbooleanNoFilter by parent_id__isnull.
per_pagenumberNoPage size (max 200).
prioritystringNo- urgent - Urgent - high - High - medium - Medium - low - Low - none - None One of high, low, medium, none, urgent.
priority__injsonNoMultiple values may be separated by commas. - urgent - Urgent - high - High - medium - Medium - low - Low - none - None
project_idstringNoFilter by project_id.
project_id__injsonNoMultiple values may be separated by commas.
searchstringNoA search term.
sequence_idnumberNoFilter by sequence_id.
start_date__gtestringNoFilter by start_date__gte.
start_date__ltestringNoFilter by start_date__lte.
state_groupstringNo- backlog - Backlog - unstarted - Unstarted - started - Started - completed - Completed - cancelled - Cancelled - triage - Triage One of backlog, cancelled, completed, started, triage, unstarted.
state_group__injsonNoMultiple values may be separated by commas. - backlog - Backlog - unstarted - Unstarted - started - Started - completed - Completed - cancelled - Cancelled - triage - Triage
state_idstringNoFilter by state_id.
state_id__injsonNoMultiple values may be separated by commas.
target_date__gtestringNoFilter by target_date__gte.
target_date__ltestringNoFilter by target_date__lte.
type_idstringNoFilter by type_id.
type_id__injsonNoMultiple values may be separated by commas.
updated_at__gtestringNoFilter by updated_at__gte.
updated_at__ltestringNoFilter by updated_at__lte.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted from each row, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400 that names the valid set, so a typo can't silently cost you the saving. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: archived_at, assignee_ids, created_at, created_by_id, cycle_id, id, identifier, is_draft, label_ids, module_ids, name, parent_id, priority, project_id, sequence_id, start_date, state_id, target_date, type_id.
expandstringNoComma-separated relations to embed: assignees, cycle, labels, modules, parent, state, type. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
cursorstringNoCursor from next_cursor. Repeat the original filters, per_page, and order_by when following it.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 List Workspace Work Itemsresult
↳ dataarrayData
↳ idstringUnique identifier for the work item. This is the \{pk\} on every project-scoped detail route.
↳ namestringTitle of the work item. Maximum 255 characters.
↳ identifierstringThe human key, for example PROJ-142. It is the project's identifier joined to sequence_id, and it is what people paste into chat and commit messages. Use it with [Get a work item by identifier](https://developers.plane.so/api-reference/v2/work-items/get-work-item-by-identifier) when you don't have the project UUID.
↳ sequence_idjsonSequence Id
↳ prioritystringOne of urgent, high, medium, low, or none. Never null — an unprioritized work item reads none.
↳ state_idstringThe workflow state the work item is currently in.
↳ type_idstringAsset Id
↳ assignee_idsarrayUser ids assigned to the work item. Empty array when unassigned.
↳ label_idsarrayLabel ids applied to the work item. Empty array when unlabeled.
↳ parent_idstringAsset Id
↳ start_datestringAsset Id
↳ target_datestringAsset Id
↳ is_draftbooleanWhether the work item is still a draft. Drafts are created in the Plane app and are excluded from most boards.
↳ archived_atstringAsset Id
↳ created_atstringWhen the work item was created.
↳ created_by_idstringAsset Id
↳ custom_fieldsjsonView Props
↳ cycle_idstringAsset Id
↳ module_idsarrayModule Ids
↳ project_idstringAsset Id
↳ assigneesarrayAssignees
↳ idstringAsset Id
↳ display_namestringAsset Id
↳ avatar_urlstringAsset Id
↳ emailstringAsset Id
↳ cyclejsonLogo Props
↳ labelsarrayLabels
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ modulesarrayMembers
↳ parentobjectParent
↳ idstringAsset Id
↳ namestringAsset Id
↳ sequence_idnumberAccess
↳ stateobjectState
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ groupstringAsset Id
↳ typeobjectType
↳ idstringAsset Id
↳ namestringAsset Id
↳ logo_propsjsonLogo Props
↳ is_epicbooleanHas Pages
↳ nextnumberNext
↳ paginationobjectPagination
↳ stylestringStyle
↳ previousnumberPrevious
↳ total_countnumberTotal count
↳ next_cursorstringNext cursor
↳ has_morebooleanHas more

Plane Add or remove cycle work items

Add or remove cycle work items in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
pkstringYesThe cycle work item id.
addjsonNoThe add.
removejsonNoThe remove.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 Manage Cycle Work Itemsresult
↳ addedarrayAdded
↳ removedarrayRemoved
successbooleanv1 removal completed successfully.
resultsarrayReturned Plane records.
↳ idstringId
↳ sub_issues_countjsonSub issues count
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ issuestringIssue
↳ cyclestringCycle
↳ deleted_byjsonDeleted by
detailstringProvider message when no records are returned.

Plane Add or remove module work items

Add or remove module work items in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
pkstringYesThe module work item id.
addjsonNoThe add.
removejsonNoThe remove.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 Manage Module Work Itemsresult
↳ addedarrayAdded
↳ removedarrayRemoved
successbooleanv1 removal completed successfully.
resultsarrayReturned Plane records.
↳ idstringId
↳ sub_issues_countjsonSub issues count
↳ created_atstringCreated at
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ modulestringModule
↳ issuejsonIssue
↳ idstringAsset Id
↳ cyclejsonLogo Props
↳ moduleobjectLite module information.
↳ idstringAsset Id
↳ created_atstringAsset Id
↳ updated_atstringAsset Id
↳ deleted_atstringAsset Id
↳ namestringName
↳ descriptionstringAsset Id
↳ description_textjsonLogo Props
↳ description_htmljsonLogo Props
↳ start_datestringAsset Id
↳ target_datestringAsset Id
↳ statusstringStatus
↳ view_propsjsonLogo Props
↳ sort_ordernumberSort Order
↳ external_sourcestringAsset Id
↳ external_idstringAsset Id
↳ archived_atstringAsset Id
↳ logo_propsjsonLogo Props
↳ created_bystringAsset Id
↳ updated_bystringAsset Id
↳ projectstringProject
↳ workspacestringWorkspace
↳ leadstringAsset Id
↳ membersarrayDefault Value
↳ labelsjsonLabels
↳ assigneesjsonAssignees
↳ stateobjectLite state information.
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ groupstringGroup
↳ created_atstringAsset Id
↳ updated_atstringAsset Id
↳ deleted_atstringAsset Id
↳ pointnumberAccess
↳ namestringAsset Id
↳ descriptionjsonLogo Props
↳ description_htmlstringAsset Id
↳ description_strippedstringAsset Id
↳ description_binarystringAsset Id
↳ prioritystringPriority
↳ start_datestringAsset Id
↳ target_datestringAsset Id
↳ sequence_idnumberAccess
↳ sort_ordernumberSort Order
↳ completed_atstringAsset Id
↳ archived_atstringAsset Id
↳ is_draftbooleanHas Pages
↳ external_sourcestringAsset Id
↳ external_idstringAsset Id
↳ created_bystringAsset Id
↳ updated_bystringAsset Id
↳ projectjsonProject
↳ workspacestringAsset Id
↳ parentstringAsset Id
↳ estimate_pointstringAsset Id
↳ typejsonType
↳ deleted_byjsonDeleted by
detailstringProvider message when no records are returned.

Plane Regenerate a webhook secret

Regenerate a webhook secret in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
pkstringYesThe webhook id.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: content_type, created_at, created_by_id, id, is_active, name, scopes, secret_key, url, version.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 Regenerate Webhook Secretresult
↳ content_typestringContent type
↳ created_atstringCreated at
↳ created_by_idstringCreated by id
↳ idstringId
↳ is_activebooleanIs active
↳ namestringName
↳ scopesarrayScopes
↳ secret_keystringSecret key
↳ urlstringUrl
↳ versionstringVersion

Plane Transfer work items between cycles

Transfer work items between cycles in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
pkstringYesSource cycle ID. The source cycle must be completed.
new_cycle_idstringYesId of the related new cycle.

Output

ParameterTypeDescription
resultobjectPlane V2 V2 Transfer Cycle Work Itemsresult
↳ new_cycle_idstringNew cycle id
↳ messagestringMessage

Plane Unarchive a project

Unarchive a project in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
pkstringYesThe project id.

Output

ParameterTypeDescription
successbooleanOperation completed successfully.

Plane Unarchive a work item

Unarchive a work item in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the work item belongs to.
pkstringYesThe work item's UUID. This lookup is UUID-only — a PROJ-142 identifier here returns 404.
fieldsstringNoComma-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: archived_at, assignee_ids, created_at, created_by_id, custom_fields, cycle_id, id, identifier, is_draft, label_ids, module_ids, name, parent_id, priority, project_id, sequence_id, start_date, state_id, target_date, type_id. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: assignees (the assigned users), cycle (the cycle it belongs to), labels (the applied labels), modules (the modules it belongs to), parent (its parent work item), state (the work item's state object), type (its work item type). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Items
↳ idstringUnique identifier for the work item. This is the \{pk\} on every project-scoped detail route.
↳ namestringName
↳ identifierstringIdentifier
↳ sequence_idjsonSequence id
↳ prioritystringPriority
↳ state_idstringState id
↳ type_idstringType id
↳ assignee_idsarrayAssignee ids
↳ label_idsarrayLabel ids
↳ parent_idstringParent id
↳ start_datestringStart date
↳ target_datestringTarget date
↳ is_draftbooleanIs draft
↳ archived_atstringArchived at
↳ created_atstringCreated at
↳ created_by_idstringCreated by id
↳ custom_fieldsjsonCustom fields
↳ assigneesarrayAssignees
↳ idstringAsset Id
↳ display_namestringAsset Id
↳ avatar_urlstringAsset Id
↳ emailstringAsset Id
↳ cyclejsonCycle
↳ labelsarrayLabels
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ modulesarrayModules
↳ parentobjectParent
↳ idstringAsset Id
↳ namestringAsset Id
↳ sequence_idnumberAccess
↳ stateobjectState
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ groupstringAsset Id
↳ typeobjectType
↳ idstringAsset Id
↳ namestringAsset Id
↳ logo_propsjsonLogo Props
↳ is_epicbooleanHas Pages
↳ cycle_idstringCycle id
↳ module_idsarrayModule ids
↳ project_idstringProject id

Plane Update a comment

Update a comment in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the work item belongs to.
work_item_idstringYesThe work item the comment is attached to.
pkstringYesThe comment to update.
comment_htmlstringNoReplacement body for the comment, as HTML. It overwrites the previous body — there is no append mode, so send the full new text.
accessstringNoChange the comment's visibility. - INTERNAL — visible to the project team - EXTERNAL — marked as visible outside the team, for example on a published project
external_idstringNoYour system's identifier for this comment. Maximum 255 characters. Accepts null to clear the correlation.
external_sourcestringNoThe system external_id came from, for example github or zendesk. Maximum 255 characters. Accepts null.
fieldsstringNoComma-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: access, actor_id, comment_html, comment_stripped, created_at, created_by_id, edited_at, external_id, external_source, id, work_item_id. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: actor (the comment author). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
comment_jsonjsonNov1 compatibility only. Comment json.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Item- Comments
↳ idjsonId
↳ work_item_idstringWork item id
↳ comment_htmljsonComment html
↳ comment_strippedjsonComment stripped
↳ accessjsonAccess
↳ actor_idstringActor id
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ edited_atstringEdited at
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ actorjsonActor
↳ is_memberbooleanIs member
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ attachmentsarrayAttachments
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ issuestringIssue
↳ parentstringParent
↳ descriptionstringDescription
↳ comment_jsonobjectComment json
↳ typestringType
↳ contentarrayContent
↳ typestringAsset Id
↳ contentarrayContent
↳ typestringAsset Id
↳ textstringAsset Id
↳ deleted_byjsonDeleted by
↳ is_hiddenbooleanIs hidden
↳ created_viajsonCreated via
↳ updated_viajsonUpdated via
↳ hidden_reasonjsonHidden reason
↳ hidden_atjsonHidden at
↳ hidden_byjsonHidden by
↳ sourcejsonSource

Plane Update a cycle

Update a cycle in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the cycle belongs to.
pkstringYesThe cycle to update.
namestringNoNew display name, unique within the project. Maximum 255 characters. Renaming onto a name another cycle already holds returns 409 conflict.
descriptionstringNoFree-form description of what the cycle covers.
start_datestringNoNew opening date-time, in ISO 8601. Send null to unschedule the start.
end_datestringNoNew closing date-time, in ISO 8601. Send null to unschedule the end.
timezonestringNoThe IANA time zone the cycle's dates are interpreted in, for example America/New_York or UTC. Changing it re-anchors where the existing boundaries fall locally, so send it together with the dates when you are moving a cycle between regions. Any value outside the IANA list is rejected with 400 invalid_request.
sort_ordernumberNoOrdering weight for the cycle within the project. Lower values sort first when you list with ?order_by=sort_order.
logo_propsjsonNoJSON blob holding the cycle's icon configuration. Replaces the stored value outright — it is not merged key by key.
external_idstringNoYour system's identifier for this cycle. Maximum 255 characters, nullable.
external_sourcestringNoThe system external_id came from, for example jira. Maximum 255 characters, nullable.
fieldsstringNoComma-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: created_at, created_by_id, description, end_date, external_id, external_source, id, logo_props, name, owned_by_id, sort_order, start_date, timezone. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: owned_by (the cycle owner). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
owned_bystringNov1 compatibility only. User who owns the cycle. If not provided, defaults to the current user.

Output

ParameterTypeDescription
resultobjectPlane V2 Cycles
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ start_datestringStart date
↳ end_datestringEnd date
↳ timezonejsonTimezone
↳ owned_by_idstringOwned by id
↳ sort_orderjsonSort order
↳ logo_propsjsonLogo props
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ owned_byjsonOwned by
↳ total_issuesjsonTotal issues
↳ cancelled_issuesjsonCancelled issues
↳ completed_issuesjsonCompleted issues
↳ started_issuesjsonStarted issues
↳ unstarted_issuesjsonUnstarted issues
↳ backlog_issuesjsonBacklog issues
↳ total_estimatesnumberTotal estimates
↳ completed_estimatesnumberCompleted estimates
↳ started_estimatesnumberStarted estimates
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ view_propsjsonView props
↳ progress_snapshotjsonProgress snapshot
↳ archived_atstringArchived at
↳ versionjsonVersion
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ statusstringStatus
↳ deleted_byjsonDeleted by

Plane Update a label

Update a label in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the label belongs to.
pkstringYesThe label id.
namestringNoNew display name, unique within the project. Maximum 255 characters. Renaming onto a name another label already holds returns 409 conflict.
colorstringNoHex color used wherever the label is rendered, for example #e5484d. Maximum 255 characters.
descriptionstringNoFree-form note about what the label is for.
parent_idstringNoMove the label under a different parent. The new parent must be a label in the same project. Send null to make the label top-level again.
sort_ordernumberNoOrdering weight within the project. Lower values sort first.
external_idstringNoYour system's identifier for this label, for sync and import correlation. Maximum 255 characters. Send null to clear it.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters. Send null to clear it.
fieldsstringNoComma-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: color, created_at, created_by_id, description, external_id, external_source, id, name, parent_id, sort_order. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).

Output

ParameterTypeDescription
resultobjectPlane V2 Labels
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ colorjsonColor
↳ sort_orderjsonSort order
↳ parent_idstringParent id
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ workspacestringWorkspace
↳ projectstringProject
↳ parentstringParent
↳ deleted_byjsonDeleted by

Update a link in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
work_item_idstringYesThe work item the resource hangs off. Accepts the work item UUID or its PROJ-123 identifier.
pkstringYesThe link id.
metadatajsonNoJSON metadata object for the link. API v2 only.
titlestringNoTitle. Maximum 255 characters. Nullable.
urlstringNoTarget URL.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: created_at, created_by_id, id, metadata, title, url, work_item_id.
issue_idstringNov1 compatibility only. Work item ID for the link.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Item- Links
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ idjsonId
↳ metadatajsonMetadata
↳ urlstringAsset Id
↳ titlestringAsset Id
↳ faviconstringAsset Id
↳ favicon_urljsonLogo Props
↳ titlejsonTitle
↳ urljsonUrl
↳ work_item_idstringWork item id
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ issuestringIssue
↳ deleted_byjsonDeleted by

Plane Update a module

Update a module in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the module belongs to.
pkstringYesThe module to update.
namestringNoNew display name, unique within the project. Maximum 255 characters. Renaming onto an existing module's name returns 409 conflict.
descriptionstringNoPlain-text summary of what the module covers.
statusstringNoMove the module to a different lifecycle position. - backlog — Captured, not yet committed to - planned — Committed to but not started - in-progress — Actively being worked on - paused — Started, then put on hold - completed — Delivered - cancelled — Dropped without delivering Any value outside this list is a 400 invalid_request. Transitions are unrestricted — a completed module can be sent back to in-progress.
start_datestringNoDate the module is scheduled to begin, as YYYY-MM-DD. Send null to clear it.
target_datestringNoDate the module is expected to land, as YYYY-MM-DD. Send null to clear it. Must not be earlier than the module's start_date — including the start_date already stored when you only send target_date.
lead_idstringNoReassign the module. Must be a member of this project — any other user id is rejected with a 400 naming lead_id. Send null to leave the module without a lead.
sort_ordernumberNoOrdering weight used when modules are listed. Lower values sort first.
logo_propsjsonNoFree-form JSON object holding the icon Plane renders for the module. The value you send replaces the stored object.
external_idstringNoYour system's identifier for this module, for sync and import correlation. Maximum 255 characters. Nullable.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters. Nullable.
fieldsstringNoComma-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: archived_at, created_at, created_by_id, description, external_id, external_source, id, lead_id, logo_props, member_ids, name, sort_order, start_date, status, target_date. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: lead (the module lead), members (the module members). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
membersjsonNov1 compatibility only. Members.

Output

ParameterTypeDescription
resultobjectPlane V2 Modules
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ statusjsonStatus
↳ start_datestringStart date
↳ target_datestringTarget date
↳ lead_idstringLead id
↳ member_idsarrayMember ids
↳ sort_orderjsonSort order
↳ logo_propsjsonLogo props
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ archived_atstringArchived at
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ leadjsonLead
↳ membersarrayMembers
↳ total_issuesjsonTotal issues
↳ cancelled_issuesjsonCancelled issues
↳ completed_issuesjsonCompleted issues
↳ started_issuesjsonStarted issues
↳ unstarted_issuesjsonUnstarted issues
↳ backlog_issuesjsonBacklog issues
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ description_textjsonDescription text
↳ description_htmljsonDescription html
↳ view_propsjsonView props
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ deleted_byjsonDeleted by

Plane Update a project

Update a project in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
pkstringYesThe project id.
archive_innumberNoThe archive in.
close_innumberNoThe close in.
cover_imagestringNoURL of the cover image. Nullable.
cycle_viewbooleanNoWhether cycle view.
default_assignee_idstringNoId of the related default assignee. Nullable.
default_state_idstringNoId of the related default state. Nullable.
descriptionstringNoFree-form description.
emojistringNoEmoji shown alongside the name. Maximum 255 characters. Nullable.
estimate_idstringNoId of the related estimate. Nullable.
external_idstringNoYour system's identifier for this record, for sync and import correlation. Maximum 255 characters. Nullable.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters. Nullable.
guest_view_all_featuresbooleanNoWhether guest view all features.
icon_propstringNoThe icon prop. Nullable.
identifierstringNoShort project key used to prefix work item numbers, for example ENG in ENG-142. Maximum 255 characters.
intake_viewbooleanNoWhether intake view.
is_issue_type_enabledbooleanNoWhether is issue type enabled.
is_time_tracking_enabledbooleanNoWhether is time tracking enabled.
issue_views_viewbooleanNoWhether issue views view.
logo_propsstringNoEditor-owned logo descriptor. Pass back what you read rather than composing it by hand.
module_viewbooleanNoWhether module view.
namestringNoDisplay name. Maximum 255 characters.
networkstringNoProject visibility: 0 is private to members, 2 is visible to the whole workspace.
page_viewbooleanNoWhether page view.
prioritystringNo- none - None - low - Low - medium - Medium - high - High - urgent - Urgent One of none, low, medium, high, urgent.
project_lead_idstringNoId of the related project lead. Nullable.
start_datestringNoPlanned start date, as YYYY-MM-DD. Nullable.
state_idstringNoId of the related state. Nullable.
target_datestringNoPlanned due date, as YYYY-MM-DD. Nullable.
timezonestringNo- Africa/Abidjan - Africa/Abidjan - Africa/Accra - Africa/Accra - Africa/Addis_Ababa - Africa/Addis_Ababa - Africa/Algiers - Africa/Algiers - Africa/Asmara - Africa/Asmara - Africa/Bamako - Africa/Bamako - Africa/Bangui - Africa/Bangui - Africa/Banjul - Africa/Banjul - Africa/Bissau - Africa/Bissau - Africa/Blantyre - Africa/Blantyre - Africa/Brazzaville - Africa/Brazzaville - Africa/Bujumbura - Africa/Bujumbura - Africa/Cairo - Africa/Cairo - Africa/Casablanca - Africa/Casablanca - Africa/Ceuta - Africa/Ceuta - Africa/Conakry - Africa/Conakry - Africa/Dakar - Africa/Dakar - Africa/Dar_es_Salaam - Africa/Dar_es_Salaam - Africa/Djibouti - Africa/Djibouti - Africa/Douala - Africa/Douala - Africa/El_Aaiun - Africa/El_Aaiun - Africa/Freetown - Africa/Freetown - Africa/Gaborone - Africa/Gaborone - Africa/Harare - Africa/Harare - Africa/Johannesburg - Africa/Johannesburg - Africa/Juba - Africa/Juba - Africa/Kampala - Africa/Kampala - Africa/Khartoum - Africa/Khartoum - Africa/Kigali - Africa/Kigali - Africa/Kinshasa - Africa/Kinshasa - Africa/Lagos - Africa/Lagos - Africa/Libreville - Africa/Libreville - Africa/Lome - Africa/Lome - Africa/Luanda - Africa/Luanda - Africa/Lubumbashi - Africa/Lubumbashi - Africa/Lusaka - Africa/Lusaka - Africa/Malabo - Africa/Malabo - Africa/Maputo - Africa/Maputo - Africa/Maseru - Africa/Maseru - Africa/Mbabane - Africa/Mbabane - Africa/Mogadishu - Africa/Mogadishu - Africa/Monrovia - Africa/Monrovia - Africa/Nairobi - Africa/Nairobi - Africa/Ndjamena - Africa/Ndjamena - Africa/Niamey - Africa/Niamey - Africa/Nouakchott - Africa/Nouakchott - Africa/Ouagadougou - Africa/Ouagadougou - Africa/Porto-Novo - Africa/Porto-Novo - Africa/Sao_Tome - Africa/Sao_Tome - Africa/Tripoli - Africa/Tripoli - Africa/Tunis - Africa/Tunis - Africa/Windhoek - Africa/Windhoek - America/Adak - America/Adak - America/Anchorage - America/Anchorage - America/Anguilla - America/Anguilla - America/Antigua - America/Antigua - America/Araguaina - America/Araguaina - America/Argentina/Buenos_Aires - America/Argentina/Buenos_Aires - America/Argentina/Catamarca - America/Argentina/Catamarca - America/Argentina/Cordoba - America/Argentina/Cordoba - America/Argentina/Jujuy - America/Argentina/Jujuy - America/Argentina/La_Rioja - America/Argentina/La_Rioja - America/Argentina/Mendoza - America/Argentina/Mendoza - America/Argentina/Rio_Gallegos - America/Argentina/Rio_Gallegos - America/Argentina/Salta - America/Argentina/Salta - America/Argentina/San_Juan - America/Argentina/San_Juan - America/Argentina/San_Luis - America/Argentina/San_Luis - America/Argentina/Tucuman - America/Argentina/Tucuman - America/Argentina/Ushuaia - America/Argentina/Ushuaia - America/Aruba - America/Aruba - America/Asuncion - America/Asuncion - America/Atikokan - America/Atikokan - America/Bahia - America/Bahia - America/Bahia_Banderas - America/Bahia_Banderas - America/Barbados - America/Barbados - America/Belem - America/Belem - America/Belize - America/Belize - America/Blanc-Sablon - America/Blanc-Sablon - America/Boa_Vista - America/Boa_Vista - America/Bogota - America/Bogota - America/Boise - America/Boise - America/Cambridge_Bay - America/Cambridge_Bay - America/Campo_Grande - America/Campo_Grande - America/Cancun - America/Cancun - America/Caracas - America/Caracas - America/Cayenne - America/Cayenne - America/Cayman - America/Cayman - America/Chicago - America/Chicago - America/Chihuahua - America/Chihuahua - America/Ciudad_Juarez - America/Ciudad_Juarez - America/Costa_Rica - America/Costa_Rica - America/Creston - America/Creston - America/Cuiaba - America/Cuiaba - America/Curacao - America/Curacao - America/Danmarkshavn - America/Danmarkshavn - America/Dawson - America/Dawson - America/Dawson_Creek - America/Dawson_Creek - America/Denver - America/Denver - America/Detroit - America/Detroit - America/Dominica - America/Dominica - America/Edmonton - America/Edmonton - America/Eirunepe - America/Eirunepe - America/El_Salvador - America/El_Salvador - America/Fort_Nelson - America/Fort_Nelson - America/Fortaleza - America/Fortaleza - America/Glace_Bay - America/Glace_Bay - America/Goose_Bay - America/Goose_Bay - America/Grand_Turk - America/Grand_Turk - America/Grenada - America/Grenada - America/Guadeloupe - America/Guadeloupe - America/Guatemala - America/Guatemala - America/Guayaquil - America/Guayaquil - America/Guyana - America/Guyana - America/Halifax - America/Halifax - America/Havana - America/Havana - America/Hermosillo - America/Hermosillo - America/Indiana/Indianapolis - America/Indiana/Indianapolis - America/Indiana/Knox - America/Indiana/Knox - America/Indiana/Marengo - America/Indiana/Marengo - America/Indiana/Petersburg - America/Indiana/Petersburg - America/Indiana/Tell_City - America/Indiana/Tell_City - America/Indiana/Vevay - America/Indiana/Vevay - America/Indiana/Vincennes - America/Indiana/Vincennes - America/Indiana/Winamac - America/Indiana/Winamac - America/Inuvik - America/Inuvik - America/Iqaluit - America/Iqaluit - America/Jamaica - America/Jamaica - America/Juneau - America/Juneau - America/Kentucky/Louisville - America/Kentucky/Louisville - America/Kentucky/Monticello - America/Kentucky/Monticello - America/Kralendijk - America/Kralendijk - America/La_Paz - America/La_Paz - America/Lima - America/Lima - America/Los_Angeles - America/Los_Angeles - America/Lower_Princes - America/Lower_Princes - America/Maceio - America/Maceio - America/Managua - America/Managua - America/Manaus - America/Manaus - America/Marigot - America/Marigot - America/Martinique - America/Martinique - America/Matamoros - America/Matamoros - America/Mazatlan - America/Mazatlan - America/Menominee - America/Menominee - America/Merida - America/Merida - America/Metlakatla - America/Metlakatla - America/Mexico_City - America/Mexico_City - America/Miquelon - America/Miquelon - America/Moncton - America/Moncton - America/Monterrey - America/Monterrey - America/Montevideo - America/Montevideo - America/Montserrat - America/Montserrat - America/Nassau - America/Nassau - America/New_York - America/New_York - America/Nome - America/Nome - America/Noronha - America/Noronha - America/North_Dakota/Beulah - America/North_Dakota/Beulah - America/North_Dakota/Center - America/North_Dakota/Center - America/North_Dakota/New_Salem - America/North_Dakota/New_Salem - America/Nuuk - America/Nuuk - America/Ojinaga - America/Ojinaga - America/Panama - America/Panama - America/Paramaribo - America/Paramaribo - America/Phoenix - America/Phoenix - America/Port-au-Prince - America/Port-au-Prince - America/Port_of_Spain - America/Port_of_Spain - America/Porto_Velho - America/Porto_Velho - America/Puerto_Rico - America/Puerto_Rico - America/Punta_Arenas - America/Punta_Arenas - America/Rankin_Inlet - America/Rankin_Inlet - America/Recife - America/Recife - America/Regina - America/Regina - America/Resolute - America/Resolute - America/Rio_Branco - America/Rio_Branco - America/Santarem - America/Santarem - America/Santiago - America/Santiago - America/Santo_Domingo - America/Santo_Domingo - America/Sao_Paulo - America/Sao_Paulo - America/Scoresbysund - America/Scoresbysund - America/Sitka - America/Sitka - America/St_Barthelemy - America/St_Barthelemy - America/St_Johns - America/St_Johns - America/St_Kitts - America/St_Kitts - America/St_Lucia - America/St_Lucia - America/St_Thomas - America/St_Thomas - America/St_Vincent - America/St_Vincent - America/Swift_Current - America/Swift_Current - America/Tegucigalpa - America/Tegucigalpa - America/Thule - America/Thule - America/Tijuana - America/Tijuana - America/Toronto - America/Toronto - America/Tortola - America/Tortola - America/Vancouver - America/Vancouver - America/Whitehorse - America/Whitehorse - America/Winnipeg - America/Winnipeg - America/Yakutat - America/Yakutat - Antarctica/Casey - Antarctica/Casey - Antarctica/Davis - Antarctica/Davis - Antarctica/DumontDUrville - Antarctica/DumontDUrville - Antarctica/Macquarie - Antarctica/Macquarie - Antarctica/Mawson - Antarctica/Mawson - Antarctica/McMurdo - Antarctica/McMurdo - Antarctica/Palmer - Antarctica/Palmer - Antarctica/Rothera - Antarctica/Rothera - Antarctica/Syowa - Antarctica/Syowa - Antarctica/Troll - Antarctica/Troll - Antarctica/Vostok - Antarctica/Vostok - Arctic/Longyearbyen - Arctic/Longyearbyen - Asia/Aden - Asia/Aden - Asia/Almaty - Asia/Almaty - Asia/Amman - Asia/Amman - Asia/Anadyr - Asia/Anadyr - Asia/Aqtau - Asia/Aqtau - Asia/Aqtobe - Asia/Aqtobe - Asia/Ashgabat - Asia/Ashgabat - Asia/Atyrau - Asia/Atyrau - Asia/Baghdad - Asia/Baghdad - Asia/Bahrain - Asia/Bahrain - Asia/Baku - Asia/Baku - Asia/Bangkok - Asia/Bangkok - Asia/Barnaul - Asia/Barnaul - Asia/Beirut - Asia/Beirut - Asia/Bishkek - Asia/Bishkek - Asia/Brunei - Asia/Brunei - Asia/Chita - Asia/Chita - Asia/Choibalsan - Asia/Choibalsan - Asia/Colombo - Asia/Colombo - Asia/Damascus - Asia/Damascus - Asia/Dhaka - Asia/Dhaka - Asia/Dili - Asia/Dili - Asia/Dubai - Asia/Dubai - Asia/Dushanbe - Asia/Dushanbe - Asia/Famagusta - Asia/Famagusta - Asia/Gaza - Asia/Gaza - Asia/Hebron - Asia/Hebron - Asia/Ho_Chi_Minh - Asia/Ho_Chi_Minh - Asia/Hong_Kong - Asia/Hong_Kong - Asia/Hovd - Asia/Hovd - Asia/Irkutsk - Asia/Irkutsk - Asia/Jakarta - Asia/Jakarta - Asia/Jayapura - Asia/Jayapura - Asia/Jerusalem - Asia/Jerusalem - Asia/Kabul - Asia/Kabul - Asia/Kamchatka - Asia/Kamchatka - Asia/Karachi - Asia/Karachi - Asia/Kathmandu - Asia/Kathmandu - Asia/Khandyga - Asia/Khandyga - Asia/Kolkata - Asia/Kolkata - Asia/Krasnoyarsk - Asia/Krasnoyarsk - Asia/Kuala_Lumpur - Asia/Kuala_Lumpur - Asia/Kuching - Asia/Kuching - Asia/Kuwait - Asia/Kuwait - Asia/Macau - Asia/Macau - Asia/Magadan - Asia/Magadan - Asia/Makassar - Asia/Makassar - Asia/Manila - Asia/Manila - Asia/Muscat - Asia/Muscat - Asia/Nicosia - Asia/Nicosia - Asia/Novokuznetsk - Asia/Novokuznetsk - Asia/Novosibirsk - Asia/Novosibirsk - Asia/Omsk - Asia/Omsk - Asia/Oral - Asia/Oral - Asia/Phnom_Penh - Asia/Phnom_Penh - Asia/Pontianak - Asia/Pontianak - Asia/Pyongyang - Asia/Pyongyang - Asia/Qatar - Asia/Qatar - Asia/Qostanay - Asia/Qostanay - Asia/Qyzylorda - Asia/Qyzylorda - Asia/Riyadh - Asia/Riyadh - Asia/Sakhalin - Asia/Sakhalin - Asia/Samarkand - Asia/Samarkand - Asia/Seoul - Asia/Seoul - Asia/Shanghai - Asia/Shanghai - Asia/Singapore - Asia/Singapore - Asia/Srednekolymsk - Asia/Srednekolymsk - Asia/Taipei - Asia/Taipei - Asia/Tashkent - Asia/Tashkent - Asia/Tbilisi - Asia/Tbilisi - Asia/Tehran - Asia/Tehran - Asia/Thimphu - Asia/Thimphu - Asia/Tokyo - Asia/Tokyo - Asia/Tomsk - Asia/Tomsk - Asia/Ulaanbaatar - Asia/Ulaanbaatar - Asia/Urumqi - Asia/Urumqi - Asia/Ust-Nera - Asia/Ust-Nera - Asia/Vientiane - Asia/Vientiane - Asia/Vladivostok - Asia/Vladivostok - Asia/Yakutsk - Asia/Yakutsk - Asia/Yangon - Asia/Yangon - Asia/Yekaterinburg - Asia/Yekaterinburg - Asia/Yerevan - Asia/Yerevan - Atlantic/Azores - Atlantic/Azores - Atlantic/Bermuda - Atlantic/Bermuda - Atlantic/Canary - Atlantic/Canary - Atlantic/Cape_Verde - Atlantic/Cape_Verde - Atlantic/Faroe - Atlantic/Faroe - Atlantic/Madeira - Atlantic/Madeira - Atlantic/Reykjavik - Atlantic/Reykjavik - Atlantic/South_Georgia - Atlantic/South_Georgia - Atlantic/St_Helena - Atlantic/St_Helena - Atlantic/Stanley - Atlantic/Stanley - Australia/Adelaide - Australia/Adelaide - Australia/Brisbane - Australia/Brisbane - Australia/Broken_Hill - Australia/Broken_Hill - Australia/Darwin - Australia/Darwin - Australia/Eucla - Australia/Eucla - Australia/Hobart - Australia/Hobart - Australia/Lindeman - Australia/Lindeman - Australia/Lord_Howe - Australia/Lord_Howe - Australia/Melbourne - Australia/Melbourne - Australia/Perth - Australia/Perth - Australia/Sydney - Australia/Sydney - Canada/Atlantic - Canada/Atlantic - Canada/Central - Canada/Central - Canada/Eastern - Canada/Eastern - Canada/Mountain - Canada/Mountain - Canada/Newfoundland - Canada/Newfoundland - Canada/Pacific - Canada/Pacific - Europe/Amsterdam - Europe/Amsterdam - Europe/Andorra - Europe/Andorra - Europe/Astrakhan - Europe/Astrakhan - Europe/Athens - Europe/Athens - Europe/Belgrade - Europe/Belgrade - Europe/Berlin - Europe/Berlin - Europe/Bratislava - Europe/Bratislava - Europe/Brussels - Europe/Brussels - Europe/Bucharest - Europe/Bucharest - Europe/Budapest - Europe/Budapest - Europe/Busingen - Europe/Busingen - Europe/Chisinau - Europe/Chisinau - Europe/Copenhagen - Europe/Copenhagen - Europe/Dublin - Europe/Dublin - Europe/Gibraltar - Europe/Gibraltar - Europe/Guernsey - Europe/Guernsey - Europe/Helsinki - Europe/Helsinki - Europe/Isle_of_Man - Europe/Isle_of_Man - Europe/Istanbul - Europe/Istanbul - Europe/Jersey - Europe/Jersey - Europe/Kaliningrad - Europe/Kaliningrad - Europe/Kirov - Europe/Kirov - Europe/Kyiv - Europe/Kyiv - Europe/Lisbon - Europe/Lisbon - Europe/Ljubljana - Europe/Ljubljana - Europe/London - Europe/London - Europe/Luxembourg - Europe/Luxembourg - Europe/Madrid - Europe/Madrid - Europe/Malta - Europe/Malta - Europe/Mariehamn - Europe/Mariehamn - Europe/Minsk - Europe/Minsk - Europe/Monaco - Europe/Monaco - Europe/Moscow - Europe/Moscow - Europe/Oslo - Europe/Oslo - Europe/Paris - Europe/Paris - Europe/Podgorica - Europe/Podgorica - Europe/Prague - Europe/Prague - Europe/Riga - Europe/Riga - Europe/Rome - Europe/Rome - Europe/Samara - Europe/Samara - Europe/San_Marino - Europe/San_Marino - Europe/Sarajevo - Europe/Sarajevo - Europe/Saratov - Europe/Saratov - Europe/Simferopol - Europe/Simferopol - Europe/Skopje - Europe/Skopje - Europe/Sofia - Europe/Sofia - Europe/Stockholm - Europe/Stockholm - Europe/Tallinn - Europe/Tallinn - Europe/Tirane - Europe/Tirane - Europe/Ulyanovsk - Europe/Ulyanovsk - Europe/Vaduz - Europe/Vaduz - Europe/Vatican - Europe/Vatican - Europe/Vienna - Europe/Vienna - Europe/Vilnius - Europe/Vilnius - Europe/Volgograd - Europe/Volgograd - Europe/Warsaw - Europe/Warsaw - Europe/Zagreb - Europe/Zagreb - Europe/Zurich - Europe/Zurich - GMT - GMT - Indian/Antananarivo - Indian/Antananarivo - Indian/Chagos - Indian/Chagos - Indian/Christmas - Indian/Christmas - Indian/Cocos - Indian/Cocos - Indian/Comoro - Indian/Comoro - Indian/Kerguelen - Indian/Kerguelen - Indian/Mahe - Indian/Mahe - Indian/Maldives - Indian/Maldives - Indian/Mauritius - Indian/Mauritius - Indian/Mayotte - Indian/Mayotte - Indian/Reunion - Indian/Reunion - Pacific/Apia - Pacific/Apia - Pacific/Auckland - Pacific/Auckland - Pacific/Bougainville - Pacific/Bougainville - Pacific/Chatham - Pacific/Chatham - Pacific/Chuuk - Pacific/Chuuk - Pacific/Easter - Pacific/Easter - Pacific/Efate - Pacific/Efate - Pacific/Fakaofo - Pacific/Fakaofo - Pacific/Fiji - Pacific/Fiji - Pacific/Funafuti - Pacific/Funafuti - Pacific/Galapagos - Pacific/Galapagos - Pacific/Gambier - Pacific/Gambier - Pacific/Guadalcanal - Pacific/Guadalcanal - Pacific/Guam - Pacific/Guam - Pacific/Honolulu - Pacific/Honolulu - Pacific/Kanton - Pacific/Kanton - Pacific/Kiritimati - Pacific/Kiritimati - Pacific/Kosrae - Pacific/Kosrae - Pacific/Kwajalein - Pacific/Kwajalein - Pacific/Majuro - Pacific/Majuro - Pacific/Marquesas - Pacific/Marquesas - Pacific/Midway - Pacific/Midway - Pacific/Nauru - Pacific/Nauru - Pacific/Niue - Pacific/Niue - Pacific/Norfolk - Pacific/Norfolk - Pacific/Noumea - Pacific/Noumea - Pacific/Pago_Pago - Pacific/Pago_Pago - Pacific/Palau - Pacific/Palau - Pacific/Pitcairn - Pacific/Pitcairn - Pacific/Pohnpei - Pacific/Pohnpei - Pacific/Port_Moresby - Pacific/Port_Moresby - Pacific/Rarotonga - Pacific/Rarotonga - Pacific/Saipan - Pacific/Saipan - Pacific/Tahiti - Pacific/Tahiti - Pacific/Tarawa - Pacific/Tarawa - Pacific/Tongatapu - Pacific/Tongatapu - Pacific/Wake - Pacific/Wake - Pacific/Wallis - Pacific/Wallis - US/Alaska - US/Alaska - US/Arizona - US/Arizona - US/Central - US/Central - US/Eastern - US/Eastern - US/Hawaii - US/Hawaii - US/Mountain - US/Mountain - US/Pacific - US/Pacific - UTC - UTC One of Africa/Abidjan, Africa/Accra, Africa/Addis_Ababa, Africa/Algiers, Africa/Asmara, Africa/Bamako, Africa/Bangui, Africa/Banjul, Africa/Bissau, Africa/Blantyre, Africa/Brazzaville, Africa/Bujumbura, Africa/Cairo, Africa/Casablanca, Africa/Ceuta, Africa/Conakry, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Douala, Africa/El_Aaiun, Africa/Freetown, Africa/Gaborone, Africa/Harare, Africa/Johannesburg, Africa/Juba, Africa/Kampala, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Libreville, Africa/Lome, Africa/Luanda, Africa/Lubumbashi, Africa/Lusaka, Africa/Malabo, Africa/Maputo, Africa/Maseru, Africa/Mbabane, Africa/Mogadishu, Africa/Monrovia, Africa/Nairobi, Africa/Ndjamena, Africa/Niamey, Africa/Nouakchott, Africa/Ouagadougou, Africa/Porto-Novo, Africa/Sao_Tome, Africa/Tripoli, Africa/Tunis, Africa/Windhoek, America/Adak, America/Anchorage, America/Anguilla, America/Antigua, America/Araguaina, America/Argentina/Buenos_Aires, America/Argentina/Catamarca, America/Argentina/Cordoba, America/Argentina/Jujuy, America/Argentina/La_Rioja, America/Argentina/Mendoza, America/Argentina/Rio_Gallegos, America/Argentina/Salta, America/Argentina/San_Juan, America/Argentina/San_Luis, America/Argentina/Tucuman, America/Argentina/Ushuaia, America/Aruba, America/Asuncion, America/Atikokan, America/Bahia, America/Bahia_Banderas, America/Barbados, America/Belem, America/Belize, America/Blanc-Sablon, America/Boa_Vista, America/Bogota, America/Boise, America/Cambridge_Bay, America/Campo_Grande, America/Cancun, America/Caracas, America/Cayenne, America/Cayman, America/Chicago, America/Chihuahua, America/Ciudad_Juarez, America/Costa_Rica, America/Creston, America/Cuiaba, America/Curacao, America/Danmarkshavn, America/Dawson, America/Dawson_Creek, America/Denver, America/Detroit, America/Dominica, America/Edmonton, America/Eirunepe, America/El_Salvador, America/Fort_Nelson, America/Fortaleza, America/Glace_Bay, America/Goose_Bay, America/Grand_Turk, America/Grenada, America/Guadeloupe, America/Guatemala, America/Guayaquil, America/Guyana, America/Halifax, America/Havana, America/Hermosillo, America/Indiana/Indianapolis, America/Indiana/Knox, America/Indiana/Marengo, America/Indiana/Petersburg, America/Indiana/Tell_City, America/Indiana/Vevay, America/Indiana/Vincennes, America/Indiana/Winamac, America/Inuvik, America/Iqaluit, America/Jamaica, America/Juneau, America/Kentucky/Louisville, America/Kentucky/Monticello, America/Kralendijk, America/La_Paz, America/Lima, America/Los_Angeles, America/Lower_Princes, America/Maceio, America/Managua, America/Manaus, America/Marigot, America/Martinique, America/Matamoros, America/Mazatlan, America/Menominee, America/Merida, America/Metlakatla, America/Mexico_City, America/Miquelon, America/Moncton, America/Monterrey, America/Montevideo, America/Montserrat, America/Nassau, America/New_York, America/Nome, America/Noronha, America/North_Dakota/Beulah, America/North_Dakota/Center, America/North_Dakota/New_Salem, America/Nuuk, America/Ojinaga, America/Panama, America/Paramaribo, America/Phoenix, America/Port-au-Prince, America/Port_of_Spain, America/Porto_Velho, America/Puerto_Rico, America/Punta_Arenas, America/Rankin_Inlet, America/Recife, America/Regina, America/Resolute, America/Rio_Branco, America/Santarem, America/Santiago, America/Santo_Domingo, America/Sao_Paulo, America/Scoresbysund, America/Sitka, America/St_Barthelemy, America/St_Johns, America/St_Kitts, America/St_Lucia, America/St_Thomas, America/St_Vincent, America/Swift_Current, America/Tegucigalpa, America/Thule, America/Tijuana, America/Toronto, America/Tortola, America/Vancouver, America/Whitehorse, America/Winnipeg, America/Yakutat, Antarctica/Casey, Antarctica/Davis, Antarctica/DumontDUrville, Antarctica/Macquarie, Antarctica/Mawson, Antarctica/McMurdo, Antarctica/Palmer, Antarctica/Rothera, Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok, Arctic/Longyearbyen, Asia/Aden, Asia/Almaty, Asia/Amman, Asia/Anadyr, Asia/Aqtau, Asia/Aqtobe, Asia/Ashgabat, Asia/Atyrau, Asia/Baghdad, Asia/Bahrain, Asia/Baku, Asia/Bangkok, Asia/Barnaul, Asia/Beirut, Asia/Bishkek, Asia/Brunei, Asia/Chita, Asia/Choibalsan, Asia/Colombo, Asia/Damascus, Asia/Dhaka, Asia/Dili, Asia/Dubai, Asia/Dushanbe, Asia/Famagusta, Asia/Gaza, Asia/Hebron, Asia/Ho_Chi_Minh, Asia/Hong_Kong, Asia/Hovd, Asia/Irkutsk, Asia/Jakarta, Asia/Jayapura, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Kathmandu, Asia/Khandyga, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuching, Asia/Kuwait, Asia/Macau, Asia/Magadan, Asia/Makassar, Asia/Manila, Asia/Muscat, Asia/Nicosia, Asia/Novokuznetsk, Asia/Novosibirsk, Asia/Omsk, Asia/Oral, Asia/Phnom_Penh, Asia/Pontianak, Asia/Pyongyang, Asia/Qatar, Asia/Qostanay, Asia/Qyzylorda, Asia/Riyadh, Asia/Sakhalin, Asia/Samarkand, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Thimphu, Asia/Tokyo, Asia/Tomsk, Asia/Ulaanbaatar, Asia/Urumqi, Asia/Ust-Nera, Asia/Vientiane, Asia/Vladivostok, Asia/Yakutsk, Asia/Yangon, Asia/Yekaterinburg, Asia/Yerevan, Atlantic/Azores, Atlantic/Bermuda, Atlantic/Canary, Atlantic/Cape_Verde, Atlantic/Faroe, Atlantic/Madeira, Atlantic/Reykjavik, Atlantic/South_Georgia, Atlantic/St_Helena, Atlantic/Stanley, Australia/Adelaide, Australia/Brisbane, Australia/Broken_Hill, Australia/Darwin, Australia/Eucla, Australia/Hobart, Australia/Lindeman, Australia/Lord_Howe, Australia/Melbourne, Australia/Perth, Australia/Sydney, Canada/Atlantic, Canada/Central, Canada/Eastern, Canada/Mountain, Canada/Newfoundland, Canada/Pacific, Europe/Amsterdam, Europe/Andorra, Europe/Astrakhan, Europe/Athens, Europe/Belgrade, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Busingen, Europe/Chisinau, Europe/Copenhagen, Europe/Dublin, Europe/Gibraltar, Europe/Guernsey, Europe/Helsinki, Europe/Isle_of_Man, Europe/Istanbul, Europe/Jersey, Europe/Kaliningrad, Europe/Kirov, Europe/Kyiv, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/Luxembourg, Europe/Madrid, Europe/Malta, Europe/Mariehamn, Europe/Minsk, Europe/Monaco, Europe/Moscow, Europe/Oslo, Europe/Paris, Europe/Podgorica, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/San_Marino, Europe/Sarajevo, Europe/Saratov, Europe/Simferopol, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Tirane, Europe/Ulyanovsk, Europe/Vaduz, Europe/Vatican, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Europe/Zurich, GMT, Indian/Antananarivo, Indian/Chagos, Indian/Christmas, Indian/Cocos, Indian/Comoro, Indian/Kerguelen, Indian/Mahe, Indian/Maldives, Indian/Mauritius, Indian/Mayotte, Indian/Reunion, Pacific/Apia, Pacific/Auckland, Pacific/Bougainville, Pacific/Chatham, Pacific/Chuuk, Pacific/Easter, Pacific/Efate, Pacific/Fakaofo, Pacific/Fiji, Pacific/Funafuti, Pacific/Galapagos, Pacific/Gambier, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Kanton, Pacific/Kiritimati, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro, Pacific/Marquesas, Pacific/Midway, Pacific/Nauru, Pacific/Niue, Pacific/Norfolk, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Palau, Pacific/Pitcairn, Pacific/Pohnpei, Pacific/Port_Moresby, Pacific/Rarotonga, Pacific/Saipan, Pacific/Tahiti, Pacific/Tarawa, Pacific/Tongatapu, Pacific/Wake, Pacific/Wallis, US/Alaska, US/Arizona, US/Central, US/Eastern, US/Hawaii, US/Mountain, US/Pacific, UTC.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: archive_in, archived_at, close_in, cover_image, cover_image_url, created_at, created_by_id, cycle_view, default_assignee_id, default_state_id, description, emoji, estimate_id, external_id, external_source, guest_view_all_features, icon_prop, id, identifier, intake_view, is_issue_type_enabled, is_time_tracking_enabled, issue_views_view, logo_props, module_view, name, network, page_view, priority, project_lead_id, start_date, state_id, target_date, timezone.
expandstringNoComma-separated relations to embed: default_assignee, project_lead. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
v1_icon_propjsonNov1 compatibility only. Icon prop.

Output

ParameterTypeDescription
resultobjectPlane V2 Projects
↳ archive_injsonArchive in
↳ archived_atstringArchived at
↳ close_injsonClose in
↳ cover_imagejsonCover image
↳ cover_image_urljsonCover image url
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ cycle_viewjsonCycle view
↳ default_assignee_idstringDefault assignee id
↳ default_state_idstringDefault state id
↳ descriptionjsonDescription
↳ emojijsonEmoji
↳ estimate_idstringEstimate id
↳ external_idjsonExternal id
↳ external_sourcejsonExternal source
↳ guest_view_all_featuresjsonGuest view all features
↳ icon_propjsonIcon prop
↳ idjsonId
↳ identifierjsonIdentifier
↳ intake_viewjsonIntake view
↳ is_issue_type_enabledjsonIs issue type enabled
↳ is_time_tracking_enabledjsonIs time tracking enabled
↳ issue_views_viewjsonIssue views view
↳ logo_propsjsonLogo props
↳ module_viewjsonModule view
↳ namejsonName
↳ networkjsonNetwork
↳ page_viewjsonPage view
↳ priorityjsonPriority
↳ project_lead_idstringProject lead id
↳ start_datestringStart date
↳ state_idstringState id
↳ target_datestringTarget date
↳ timezonejsonTimezone
↳ default_assigneejsonDefault assignee
↳ project_leadjsonProject lead
↳ total_membersjsonTotal members
↳ total_cyclesjsonTotal cycles
↳ total_modulesjsonTotal modules
↳ is_memberbooleanIs member
↳ sort_ordernumberSort order
↳ member_rolejsonMember role
↳ is_deployedbooleanIs deployed
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ description_textjsonDescription text
↳ description_htmljsonDescription html
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ workspacestringWorkspace
↳ cover_image_assetstringCover image asset
↳ estimatestringEstimate
↳ default_statestringDefault state
↳ deleted_byjsonDeleted by
↳ is_voting_enabledbooleanIs voting enabled
↳ auto_reminder_daysnumberAuto reminder days
↳ statestringState

Plane Update a project page

Update a project page in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the resource belongs to. Accepts the project UUID or its bare identifier, for example ENG.
pkstringYesThe project page id.
accessstringNoWho can see this.
archived_atstringNoThe archived at. Nullable.
collection_idstringNoId of the related collection. Nullable.
colorstringNoHex color used wherever this is rendered, for example #3f76ff. Maximum 255 characters.
description_htmlstringNoRich-text body as HTML. This is the field the Plane editor round-trips.
external_idstringNoYour system's identifier for this record, for sync and import correlation. Maximum 255 characters. Nullable.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters. Nullable.
is_lockedbooleanNoPrevents further edits to the content.
logo_propsstringNoEditor-owned logo descriptor. Pass back what you read rather than composing it by hand.
namestringNoDisplay name.
parent_idstringNoId of the related parent. Nullable.
sort_ordernumberNoManual ordering weight. Lower sorts first.
view_propsstringNoEditor-owned layout descriptor. Pass back what you read.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: access, archived_at, collection_id, color, created_at, created_by_id, description_html, description_stripped, external_id, external_source, id, is_global, is_locked, logo_props, name, owned_by_id, parent_id, sort_order, view_props.
expandstringNoComma-separated relations to embed: owned_by, parent. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
v1_accessnumberNov1 compatibility only. Access
v1_view_propsjsonNov1 compatibility only. View props
v1_logo_propsjsonNov1 compatibility only. Logo props

Output

ParameterTypeDescription
resultobjectPlane V2 Project- Pages
↳ accessjsonAccess
↳ archived_atstringArchived at
↳ collection_idjsonCollection id
↳ colorjsonColor
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ description_htmljsonDescription html
↳ description_strippedjsonDescription stripped
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ idjsonId
↳ is_globalbooleanIs global
↳ is_lockedjsonIs locked
↳ logo_propsjsonLogo props
↳ namejsonName
↳ owned_by_idstringOwned by id
↳ parent_idjsonParent id
↳ sort_orderjsonSort order
↳ view_propsjsonView props
↳ owned_byjsonOwned by
↳ parentjsonParent
↳ description_binarystringDescription binary
↳ descriptionjsonDescription
↳ updated_atstringUpdated at
↳ anchorstringAnchor
↳ workspacestringWorkspace
↳ projectsarrayProjects
↳ page_collection_idstringPage collection id
↳ created_bystringCreated by
↳ updated_byjsonUpdated by
↳ description_jsonobjectDescription json
↳ typestringType
↳ contentarrayContent
↳ typestringAsset Id
↳ attrsobjectAttrs
↳ idjsonId
↳ textAlignjsonId
↳ aiSuggestionjsonId
↳ contentarrayContent
↳ textstringAsset Id
↳ typestringAsset Id

Plane Update a state

Update a state in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the state belongs to.
pkstringYesThe id of the state to update.
namestringNoNew display name, unique within the project. Maximum 255 characters. Renaming is safe for reporting: boards and charts key off group, not name.
colorstringNoHex color used wherever the state is rendered, for example #3f76ff. Maximum 255 characters.
descriptionstringNoFree-form description of what the state means in this workflow.
groupstringNoMove the state to a different workflow group. This changes how every work item in the state is counted by boards, charts, and cycle progress, so switching a state from started to completed retroactively changes what those work items report as. - backlog — Not yet scheduled - unstarted — Scheduled but not begun - started — Actively in progress - completed — Finished successfully - cancelled — Closed without completion - triage — Awaiting intake review
sequencenumberNoOrdering weight within the project. Lower values sort first. Set it to reposition the state in the workflow.
is_defaultbooleanNoMake this the project's default state — where work items land when no state_id is supplied. A project has exactly one default, so setting this to true clears the flag on the state that held it.
external_idstringNoYour system's identifier for this state, for sync and import correlation. Maximum 255 characters.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters.
fieldsstringNoComma-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: color, created_at, created_by_id, description, external_id, external_source, group, id, is_default, is_triage, name, sequence. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
is_triagebooleanNov1 compatibility only. Is triage.
defaultbooleanNov1 compatibility only. Default.

Output

ParameterTypeDescription
resultobjectPlane V2 States
↳ idjsonId
↳ namejsonName
↳ descriptionjsonDescription
↳ colorjsonColor
↳ groupjsonGroup
↳ sequencejsonSequence
↳ is_defaultbooleanIs default
↳ is_triagejsonIs triage
↳ external_idstringExternal id
↳ external_sourcestringExternal source
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ defaultbooleanDefault
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectstringProject
↳ workspacestringWorkspace
↳ slugstringSlug
↳ deleted_byjsonDeleted by

Plane Update a webhook

Update a webhook in Plane. Requires API v2.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
pkstringYesThe webhook id.
content_typestringNo- application/json - application/json - application/x-www-form-urlencoded - application/x-www-form-urlencoded One of application/json, application/x-www-form-urlencoded.
is_activebooleanNoWhether the record is active.
namestringNoDisplay name. Maximum 255 characters. Nullable.
scopesjsonNoThe scopes.
urlstringNoTarget URL.
versionstringNoVersion string, for example 1.4.0. Maximum 10 characters.
fieldsstringNoComma-separated list of fields to return. Unrequested keys are omitted, not returned as null. id always comes back. Pass all for every requestable field. An unknown name is a 400. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields). Requestable here: content_type, created_at, created_by_id, id, is_active, name, scopes, url, version.

Output

ParameterTypeDescription
resultobjectPlane V2 Webhooks
↳ content_typestringContent type
↳ created_atstringCreated at
↳ created_by_idstringCreated by id
↳ idstringUnique identifier.
↳ is_activebooleanIs active
↳ namestringName
↳ scopesarrayScopes
↳ urlstringUrl
↳ versionstringVersion

Plane Update a work item

Update a work item in Plane. Supports API v1 compatibility.

Input

ParameterTypeRequiredDescription
apiKeystringYesPlane personal access token from Profile → API tokens.
baseUrlstringNoPlane instance origin, optionally with a reverse-proxy path prefix. Defaults to https://api.plane.so. Do not include /api/v1 or /api/v2.
apiVersionstringNoAPI version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly.
bodyOverridesjsonNoJSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected.
workspace_slugstringYesWorkspace slug from the Plane URL (for example, my-team).
project_idstringYesThe project the work item belongs to.
pkstringYesThe work item's UUID. This lookup is UUID-only — a PROJ-142 identifier here returns 404.
namestringNoNew title. Maximum 255 characters.
description_htmlstringNoReplacement rich-text body as HTML. Sanitized on the way in; content that can't be sanitized is rejected with a 400. Not part of the read shape, so it won't appear in the response.
prioritystringNoOne of urgent, high, medium, low, none.
state_idstringNoMove the work item to another state of the same project. This is the field workflow rules police — see [Workflow rules](#workflow-rules-can-reject-a-transition).
statestringNoThe target state's name instead of its id, for example Done. Matched case-insensitively within the project. Write-only. Sending both state and state_id is a 400.
type_idstringNoChange the work item type. Send null to make the work item untyped.
typestringNoThe type's name instead of its id, for example Bug. Write-only.
parent_idstringNoRe-parent the work item. The parent must be in the same workspace and may be in a different project. Send null to detach it and make it top-level.
parentstringNoThe parent's identifier instead of its id, for example PROJ-118. Write-only.
assignee_idsjsonNoReplaces the whole assignee set — it is not additive. Send the complete list you want, \[\] to unassign everyone, or omit the field to leave assignees untouched.
assigneesjsonNoMember email addresses instead of ids. Same replace-the-set semantics. Every address must belong to an active, assignable project member. Write-only.
label_idsjsonNoReplaces the whole label set. Send \[\] to strip all labels, or omit the field to leave them untouched.
labelsjsonNoLabel names instead of ids. Same replace-the-set semantics. A name that exists at both project and workspace level is ambiguous and returns a 400 telling you to use label_ids. Write-only.
estimate_point_idstringNoChange the estimate point, from the project's active estimate system. Send null to clear the estimate.
estimatestringNoThe estimate point's value instead of its id, for example 5. Write-only.
start_datestringNoPlanned start, or null to clear it. Must not be after target_date.
target_datestringNoPlanned due date, or null to clear it.
external_idstringNoYour system's identifier for this work item. Maximum 255 characters. Filterable on [List work items](https://developers.plane.so/api-reference/v2/work-items/list-work-items), but not returned on reads.
external_sourcestringNoThe system external_id came from, for example github or jira. Maximum 255 characters.
fieldsstringNoComma-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: archived_at, assignee_ids, created_at, created_by_id, custom_fields, cycle_id, id, identifier, is_draft, label_ids, module_ids, name, parent_id, priority, project_id, sequence_id, start_date, state_id, target_date, type_id. See [Sparse fields](https://developers.plane.so/api-reference/v2/sparse-fields).
expandstringNoComma-separated relations to embed alongside the ids: assignees (the assigned users), cycle (the cycle it belongs to), labels (the applied labels), modules (the modules it belongs to), parent (its parent work item), state (the work item's state object), type (its work item type). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above.
deleted_atstringNov1 compatibility only. Deleted at.
pointnumberNov1 compatibility only. Point.
sequence_idnumberNov1 compatibility only. Sequence id.
sort_ordernumberNov1 compatibility only. Sort order.
archived_atstringNov1 compatibility only. Archived at.
is_draftbooleanNov1 compatibility only. Is draft.
created_bystringNov1 compatibility only. Created by.
custom_fieldsjsonNoJSON custom field values. API v2 only.
cycle_idstringNoCycle ID. API v2 only.
module_idsjsonNoModule IDs. API v2 only.

Output

ParameterTypeDescription
resultobjectPlane V2 Work- Items
↳ idjsonId
↳ namejsonName
↳ identifierstringIdentifier
↳ sequence_idjsonSequence id
↳ priorityjsonPriority
↳ state_idstringState id
↳ type_idstringType id
↳ assignee_idsarrayAssignee ids
↳ label_idsarrayLabel ids
↳ parent_idstringParent id
↳ start_datestringStart date
↳ target_datestringTarget date
↳ is_draftjsonIs draft
↳ archived_atstringArchived at
↳ created_atjsonCreated at
↳ created_by_idstringCreated by id
↳ custom_fieldsjsonCustom fields
↳ assigneesarrayAssignees
↳ idstringAsset Id
↳ display_namestringAsset Id
↳ avatar_urlstringAsset Id
↳ emailstringAsset Id
↳ first_namestringAsset Id
↳ last_namestringAsset Id
↳ avatarstringAsset Id
↳ cyclejsonCycle
↳ labelsarrayLabels
↳ idstringAsset Id
↳ deleted_byjsonId
↳ created_atstringAsset Id
↳ updated_atstringAsset Id
↳ deleted_atjsonId
↳ namestringAsset Id
↳ descriptionstringAsset Id
↳ colorstringAsset Id
↳ sort_ordernumberSort Order
↳ external_sourcejsonId
↳ external_idjsonId
↳ created_bystringAsset Id
↳ updated_byjsonId
↳ workspacestringAsset Id
↳ projectstringAsset Id
↳ parentjsonId
↳ modulesarrayModules
↳ parentjsonParent
↳ idstringAsset Id
↳ namestringAsset Id
↳ sequence_idnumberAccess
↳ statejsonState
↳ idstringAsset Id
↳ namestringAsset Id
↳ colorstringAsset Id
↳ groupjsonGroup
↳ typejsonType
↳ idstringAsset Id
↳ namestringAsset Id
↳ logo_propsjsonLogo Props
↳ is_epicbooleanHas Pages
↳ project_idstringProject id
↳ cycle_idstringCycle id
↳ module_idsarrayModule ids
↳ updated_atstringUpdated at
↳ deleted_atstringDeleted at
↳ pointnumberPoint
↳ description_htmlstringDescription html
↳ description_strippedstringDescription stripped
↳ description_binarystringDescription binary
↳ sort_ordernumberSort order
↳ completed_atstringCompleted at
↳ external_sourcestringExternal source
↳ external_idstringExternal id
↳ created_bystringCreated by
↳ updated_bystringUpdated by
↳ projectjsonProject
↳ workspacestringWorkspace
↳ estimate_pointstringEstimate point
↳ descriptionstringDescription
↳ deleted_byjsonDeleted by
↳ created_viajsonCreated via
↳ updated_viajsonUpdated via
↳ last_activity_atstringLast activity at
↳ min_assignee_first_namestringMin assignee first name
↳ min_label_namestringMin label name
↳ min_module_namestringMin module name
↳ priority_ranknumberPriority rank
↳ state_groupstringState group

Triggers

A Trigger is a block that starts a workflow when an event happens in this service.

Plane All Events

Trigger a workflow for any signed Plane event.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Cycle Archived

Trigger a workflow for Plane cycle archived events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Cycle Created

Trigger a workflow for Plane cycle created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Cycle Deleted

Trigger a workflow for Plane cycle deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Cycle Updated

Trigger a workflow for Plane cycle updated events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Milestone Created

Trigger a workflow for Plane milestone created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Milestone Deleted

Trigger a workflow for Plane milestone deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Milestone Updated

Trigger a workflow for Plane milestone updated events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Module Archived

Trigger a workflow for Plane module archived events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Module Created

Trigger a workflow for Plane module created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Module Deleted

Trigger a workflow for Plane module deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Module Updated

Trigger a workflow for Plane module updated events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Page Archived

Trigger a workflow for Plane page archived events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Page Comment Created

Trigger a workflow for Plane page comment created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Page Comment Deleted

Trigger a workflow for Plane page comment deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Page Comment Updated

Trigger a workflow for Plane page comment updated events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Page Created

Trigger a workflow for Plane page created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Page Deleted

Trigger a workflow for Plane page deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Page Updated

Trigger a workflow for Plane page updated events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Project Archived

Trigger a workflow for Plane project archived events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Project Created

Trigger a workflow for Plane project created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Project Deleted

Trigger a workflow for Plane project deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Project Updated

Trigger a workflow for Plane project updated events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Archived

Trigger a workflow for Plane work item archived events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Attachment Created

Trigger a workflow for Plane work item attachment created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Attachment Deleted

Trigger a workflow for Plane work item attachment deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Attachment Updated

Trigger a workflow for Plane work item attachment updated events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Comment Created

Trigger a workflow for Plane work item comment created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Comment Deleted

Trigger a workflow for Plane work item comment deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Comment Updated

Trigger a workflow for Plane work item comment updated events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Created

Trigger a workflow for Plane work item created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Deleted

Trigger a workflow for Plane work item deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Dependency Created

Trigger a workflow for Plane work item dependency created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Dependency Deleted

Trigger a workflow for Plane work item dependency deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Trigger a workflow for Plane work item link created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Trigger a workflow for Plane work item link deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Trigger a workflow for Plane work item link updated events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Trigger a workflow for Plane work item page link created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Trigger a workflow for Plane work item page link deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Relation Created

Trigger a workflow for Plane work item relation created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Relation Deleted

Trigger a workflow for Plane work item relation deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Updated

Trigger a workflow for Plane work item updated events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Vote Created

Trigger a workflow for Plane work item vote created events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.

Plane Work Item Vote Deleted

Trigger a workflow for Plane work item vote deleted events.

Configuration

ParameterTypeRequiredDescription
autoRegisterbooleanNoRequires the Plane v2 webhook API. Use manual setup for Community Edition.
triggerApiKeystringNoAPI Token
triggerBaseUrlstringNoInstance URL
triggerWorkspaceSlugstringNoWorkspace Slug
webhookSecretstringNoWebhook Secret
projectIdstringNoSelf-hosted v1 deletions without project information are skipped when this filter is set.
workspaceIdstringNoWorkspace ID

Output

ParameterTypeDescription
versionstringPayload version: v1 or v2.
eventstringOriginal Plane event or v1 resource name.
eventNamestringNormalized event name, such as workitem.updated.
actionstringv1 action; null for v2.
event_idstringv2 event ID, stable across retries; null for v1.
delivery_idstringDelivery attempt ID from the payload or X-Plane-Delivery header.
entity_idstringv2 primary entity ID; null for v1.
entity_typestringv2 entity type; null for v1.
webhook_idstringPlane webhook configuration ID.
workspace_idstringPlane workspace ID.
workspace_slugstringv1 workspace slug; null for v2.
datajsonComplete entity payload, including resource-specific fields. v2 deletions send an empty object.
activityjsonv1 changed field, old/new values, actor and identifiers; null for v2.
previous_attributesjsonv2 previous changed values or full deleted record; null for v1.