---
title: "Record a finding for the rest of this run to read (T880)"
method: POST
path: "/api/agent/findings"
tags: ["Agent"]
---

# Record a finding for the rest of this run to read (T880)

`POST /api/agent/findings`

## Request

- Base URL: `http://localhost:38200`
- URL: `http://localhost:38200/api/agent/findings`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `token`

The mid-run channel: what one agent learned, readable by its siblings BEFORE it lands its diff. A finding is one claim plus its evidence, not a session summary — that is the handoff. `workspace` is required rather than defaulting to GLOBAL, so a fan-out's working notes never pour into the workspace shared by every project on the tenant.

## Request body

- object
  - `run_id` string, required: The run every agent in this fan-out shares
  - `session_id` integer, required
  - `title` string, required: The claim
  - `body` string, required: What was observed
  - `workspace` string, required

## Response `201`

Finding recorded.

- object
  - `contextId` integer
  - `runId` string
  - `sessionId` integer, nullable
  - `title` string
  - `body` string
  - `createdAt` string, date-time
  - `runKnown` boolean: False when the run id was never opened. The write is still accepted — refusing would lose a real finding over a bookkeeping mistake the agent did not make — but the writer learns on the spot that nobody will read it.

## Other responses

- `400`: Request body/query failed Zod validation.
- `401`: Missing or invalid credentials.
- `404`: Agent session not found.

---

[API](https://skmtc.dev/contextq/apis/contextq-api.md) · [All operations](https://skmtc.dev/contextq/apis/contextq-api/llms.txt) · [OpenAPI document](https://skmtc.dev/contextq/apis/contextq-api/revisions/7afc44056a22?raw)
