Skip to main content
API reference sections

Schema

TaskRow

One task. The identity is (workspace, document, node), carried together - never a node id on its own - and [task](Self::task) is the same triple as the one string that is also its pagination key and its activity subject.

Type object

Shape

FieldTypeDescription
workspacerequiredWorkspaceId
documentrequiredDocumentId

DocumentId - a client-minted v4 UUID, hyphenated and lowercase. Immutable, and never derived from a name or a path.

noderequiredstring

The node id, meaningful only inside document.

taskrequiredstring

task:<workspace>:<document>:<node> - the row's identity, the cursor a page ends on, and the subject its activity is filed under.

node_kindrequiredstring

The node's kind token - one of the task-capable kinds paragraph, task, document, image, file.

lifecyclerequiredstring

open or completed. Absence of the stored state reads as open.

document_trashedrequiredboolean

Whether the document sits in the trash, inherited down the document tree. Flagged, never hidden.

in_trashrequiredboolean

Whether the node sits in its document's own hidden trash root. Rows like this come back only under [TaskQuery::include_trashed].

breadcrumbrequiredstring

Where the task lives: the workspace, then the document path, then the ancestor rows, joined by " / " - one rule, computed the same way by the desktop from an open document and by the store from the projection.

titlerequiredstring

The task's own title: its text, else its authored name, else "Untitled" - koru-title's one chain.

attributesrequiredarray of AttributeRowValue

Every attribute on the node - not only the ones the filter named, so a row can be drawn without a second request.

Example
{
  "workspace": "00000000-0000-4000-8000-000000000000",
  "document": "00000000-0000-4000-8000-000000000000",
  "node": "string",
  "task": "string",
  "node_kind": "string",
  "lifecycle": "string",
  "document_trashed": false,
  "in_trash": false,
  "breadcrumb": "string",
  "title": "string",
  "attributes": [
    {
      "id": "string",
      "role": "string",
      "kind": "string",
      "value": "string",
      "zone": "string",
      "label": "string"
    }
  ]
}

The contract has no example values, so example bodies are generated from each schema: every field is shown with a placeholder of its type.

Generated from contract version 1. Last updated .

Privacy choices

Choose which optional tools Koru may use on this site. Your choice is saved in a cookie in this browser for 12 months. Privacy policy

Privacy choices

Keep you signed in, protect forms and remember your language and this choice.

Always on

PostHog and Google Analytics 4 measure page views and actions such as downloads, using cookies or local storage.

PostHog records how pages are used, with form inputs masked and private pages excluded. Needs Analytics.

Ahrefs Web Analytics measures visits and where they come from, and Google Ads measures whether our ads led to a visit or download.