Skip to main content
Koru
Get started
API reference sections

Schema

WorkspaceConfirmation

A consequence the gateway computed, and the token that proves it was shown.

The caller presents sessions (S13), and if the person accepts it sends confirmation straight back in a [WorkspaceLifecycleRequest]. The token is bound to this workspace, this action and this list, and it is spent by being used - so an acceptance is provably about the consequence that was on screen rather than one the caller says it displayed. ADR-267 recorded this as the recommendation; SP-8b's dialog is the round trip it was waiting for.

It is still not a credential. workspace.destroy is what authorizes the operation; this only says which question was answered. A token nobody can guess is not the point - a caller holding the scope could always mint its own before - the point is that the gateway and the dialog agree about what was accepted.

Type object

Shape

FieldTypeDescription
confirmationrequiredstring
workspacerequiredstring
actionrequiredWorkspaceLifecycleAction

What POST /v1/workspaces/{id}/lifecycle is being asked to do.

Three verbs, and no permanent delete. There is no purge route anywhere in Koru - the retention sweep is the only thing that removes bytes - so naming one here would be describing an operation that does not exist.

sessionsrequiredarray of WorkspaceSessionConsequence

The terminals this action would close, in the order the operation would close them. Empty for restore, which closes nothing.

expires_atrequiredinteger (int64)

When this token stops being accepted, in epoch milliseconds. A dialog left open past it asks again rather than sending something stale.

Example
{
  "confirmation": "string",
  "workspace": "string",
  "action": "archive",
  "sessions": [
    {
      "id": "string",
      "display_name": "string",
      "working_directory": "string"
    }
  ],
  "expires_at": 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.

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.