---
title: "Read one fact by id"
method: GET
path: "/v1/facts/{id}"
tags: ["Facts"]
---

# Read one fact by id

`GET /v1/facts/{id}`

## Request

- Base URL: `https://brain.inite.ai`
- URL: `https://brain.inite.ai/v1/facts/{id}`
- Auth: HTTP bearer

The fact itself — what is remembered, where it came from (vertical/recorder/conversation), its validity instant and user scope. Every visibility fence (tenant, user scope, row policy) answers 404 — existence never leaks. 404 until FACTS_API_ENABLED=1. Source: src/facts/facts.controller.ts.

Required scope: `brain:read`.

## Path parameters

- `id` string, required

## Response `200`

The fact.

- FactReadResponse
  - `aspect` string, required
  - `confidence` number, required
  - `conversationId` string
  - `derivedVersion` string
  - `factId` string, required
  - `groundingStatus` 'grounded' | 'ungrounded'
  - `kind` string
  - `recorder` string
  - `retracted` boolean, required
  - `statement` string, required
  - `userId` string
  - `validFrom` string, required
  - `vertical` string

## Other responses

- `401`: Missing or unknown bearer key.
- `403`: The key lacks the required scope.
- `404`: No such resource in this tenant.

---

[API](https://skmtc.dev/inite/apis/inite-brain-platform-api.md) · [All operations](https://skmtc.dev/inite/apis/inite-brain-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/inite/apis/inite-brain-platform-api/revisions/c7c3eb5e304b?raw)
