Skip to main content
API reference sections

Schema

DocumentOutline

GET /v1/documents/{id}/outline.

The headings of one document, for a picker offering jump targets. Answered from the derived read model rather than the document itself, because a picker must not pay a CRDT decode per keystroke.

Type object

Shape

FieldTypeDescription
documentrequiredDocumentId

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

headingsrequiredarray of OutlineHeading

In reading order.

projectedrequiredboolean

Whether the read model has seen this document at all.

An empty list means two different things and a caller must be able to tell them apart. The projector is debounced, so a heading typed a moment ago is not here yet; projected: false is "still indexing" and projected: true with no headings is "this document has none".

Example
{
  "document": "00000000-0000-4000-8000-000000000000",
  "headings": [
    {
      "node": "string",
      "level": 0,
      "text": "string"
    }
  ],
  "projected": false
}

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

Used by

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.