---
title: "Checkpoint Intent Ledger"
method: PUT
path: "/v1/sessions/internal/{session_id}/intent-ledger"
tags: ["sessions"]
---

# Checkpoint Intent Ledger

`PUT /v1/sessions/internal/{session_id}/intent-ledger`

Incremental intent-ledger checkpoint from the agent. Internal-secret
auth. Idempotent full-state write — the agent debounces (~5s) and forces
one final write at flush, so a crash loses seconds of synthesis at most
(the "ten-minute rage" guarantee).

## Path parameters

- `session_id` string, required

## Request body

- IntentLedgerPayload — Block ledger checkpoint from the IntentScribe (intent-streaming sessions — docs/intent-streaming.md). Blocks carry LOGICAL frame refs ({captured_at_ms}) only; URI resolution happens at read time.
  - `version` integer
  - `done` boolean
  - `blocks` object[]

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/roxels/apis/interviewer.md) · [All operations](https://skmtc.dev/roxels/apis/interviewer/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/roxels/interviewer/revisions/4ef48ed226e1/schema)
