---
title: "Record Fund Positions"
method: POST
path: "/v1/tools/record_fund_positions"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Record Fund Positions

`POST /v1/tools/record_fund_positions`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/record_fund_positions`
- Auth: none declared

Gives a fund's declared positions snapshot, as of a stated valuation date, its own citable execution_hash -- the upstream input-receipt that the proven NAV chain (art-373-recompute-fund-nav) currently hashes internally, and that a separate wiring node can instead cite via an optional positions_ref rather than re-declaring the same holdings. Attests that a declared snapshot exists exactly as stated, over caller-supplied holdings rows (security_id, quantity, currency) and a declared shares_outstanding. HARD FENCE: fund_id, valuation_date, every holding row, and shares_outstanding are supplied and asserted, never fetched (zero-egress); this attests THAT a declared snapshot exists as stated, never whether it matches a custodian record, never a live position feed. Section 25 private-inputs review ruled not applicable and stated explicitly: holdings are echoed in cleartext by design, since the node's function is to give the declared snapshot a citable hash, not to hide it behind a commitment. Not fund NAV recomputation (art-373) and not a pricing input (a sibling record_pricing_inputs node covers pricing). Corrections cite the prior artifact via the SPEC.md top-level supersedes field, not a bespoke status registry.

**Tool URL:** https://ainumbers.co/chaingraph/art-558-record-fund-positions.html

## Request body

- object
  - `fund_id` unknown
  - `holdings` unknown[], required
    - unknown
  - `shares_outstanding` number, required
  - `valuation_date` unknown

## Response `200`

Successful tool execution result

- object
  - `disclosure_note` string
  - `fence` string
  - `fund_id` string
  - `holding_count` integer
  - `holdings` object[]
    - `currency` string
    - `quantity` integer
    - `security_id` string
  - `not_proven` object[]
    - `detail` string
    - `item` string
  - `shares_outstanding` integer
  - `structural_error` string
  - `valuation_date` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
