Skip to main content
API reference sections

Schema

AttributeGroup

One tag's share of the whole matching corpus.

Keyed by `(workspace, tag)`, because a TagId belongs to one workspace's table and the tags array is per table too. A multi-workspace query gets a group per table rather than one merged heading.

The id is the one a live table can name. A tag merged into another re-points no node ([ADR-176]), so nodes go on carrying the merged-away id; the store folds those counts into the surviving tag before answering, so a merge shows as one group rather than splitting into a named half and a nameless one. The consequence worth knowing: the id here is not necessarily an id any row's koru.tag value spells.

[ADR-176]: ../../../docs/decisions/ADR-176-200.md#adr-176-consenton--telemetry-consent-defaults-on-and-a-discoverable-opt-out-is-what-buys-it

Type object

Shape

FieldTypeDescription
workspacerequiredWorkspaceId

Which workspace's tag table names this id.

tagrequiredstring

The TagId in storage form. Look it up in tags for a name and color.

countrequiredinteger (uint, >= 0)

Distinct nodes carrying it across the whole matching corpus - not the page. A node with two tags counts once in each group, so the counts sum to more than rows.len() even on a complete page.

trashedrequiredinteger (uint, >= 0)

How many of count sit in a binned document. Binned rows are counted and flagged rather than dropped, exactly as they are in rows - a heading that hid them would disagree with the list underneath it.

Example
{
  "workspace": {},
  "tag": "string",
  "count": 0,
  "trashed": 0
}

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.