Skip to main content
API reference sections

Schema

WorkspaceScope

The working folder a run is admitted to (P1.5) and started in.

Identity is a [ProjectId] rather than a path: the project already carries a canonical root the host validates at launch, and an id is what a second device can name without being able to resolve it (D15, D16). The folder inside it is text a person chose, and is redacted like every path.

`None` is unreachable at admission. It exists so a request can be built before a scope is chosen and so the modal has a state to refuse; P1.5 makes it impossible to start a run with it. M4 adds git shapes - a worktree per run - as new variants, which is why this is an enum.

Type object or object or object or object

Shape

One of 4 shapes:

  1. kind: "none"

    No scope chosen. Refused at admission (P1.5), never started.

    FieldTypeDescription
    kindrequired"none"
  2. kind: "project_root"

    The root of a session project.

    FieldTypeDescription
    projectrequiredProjectId
    kindrequired"project_root"
  3. kind: "project_folder"

    A folder inside a session project's root.

    FieldTypeDescription
    projectrequiredProjectId
    folderrequiredRelativeFolder

    A folder inside a working scope's root, as a person typed or chose it. A path is private (standing requirement 7); the host canonicalizes it at admission and this type only bounds and hides it.

    kindrequired"project_folder"
  4. kind: "temporary"

    A directory Koru creates for this run alone and owns (D37 names it: an unregistered result there survives as long as the run does).

    FieldTypeDescription
    kindrequired"temporary"
Example
{
  "kind": "none"
}

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.