---
title: "Build or reuse historical topic-specific disclosure lineage"
method: POST
path: "/v1/research/lineage/{identifier}"
---

# Build or reuse historical topic-specific disclosure lineage

`POST /v1/research/lineage/{identifier}`

## Request

- Base URL: `https://filedproof.davisvillelabs.com`
- URL: `https://filedproof.davisvillelabs.com/v1/research/lineage/{identifier}`
- Auth: none declared

POST-only so topic text does not appear in the request URL. Returns disclosure-lineage.v1 with reusable disclosure-fingerprint.v1 nodes and same-form disclosure-transition.v1 edges. Persisted derived state is reused only when source-document fingerprints and extractor identity still match.

## Path parameters

- `identifier` string, required

## Request body

- object
  - `topic` string, required
  - `forms` string[]
  - `filings` integer
  - `history` boolean
  - `item` string
  - `section` string
  - `fingerprintLimit` integer
  - `comparisonLimit` integer
  - `limit` integer
  - `maxArchiveFiles` integer

## Response `200`

disclosure-lineage.v1

## Other responses

- `409`: Derived-state concurrency conflict; retryable
- `422`: No filings available in lineage scope

---

[API](https://skmtc.dev/davisvillelabs/apis/filedproof-agent-research-api.md) · [All operations](https://skmtc.dev/davisvillelabs/apis/filedproof-agent-research-api/llms.txt) · [OpenAPI document](https://skmtc.dev/davisvillelabs/apis/filedproof-agent-research-api/revisions/16aba105f233?raw)
