Skip to Content
Docs are evolving — expect frequent updates.
FundsFund Data

Fund Data

Returns the raw output of a fund run: the reconciled rows (schedule of investments, capital account statements, financials, terms, cashflows), the extracted entities, coverage and validation reports, metric definitions, and the bookkeeping sections of the run. This is the data the workbook and overview are built from, before any presentation.

This response can be many megabytes. The reconciled section alone holds every extracted row with its provenance. Always pass sections and fetch one section at a time; omit it only for small runs.

Endpoint

GET https://api.kruncher.ai/api/integrationfund/fund/data

Headers

HeaderRequiredDescription
AuthorizationYesYour API key (format: YOUR_API_KEY)

Parameters

ParameterTypeRequiredDescription
fundExtractionIdstring (uuid)YesThe run to read. Must be completed
sectionsstringNoComma-separated list of sections to return. Omitted means all. Unknown names are ignored

Sections

SectionContents
reconciled{ soi, cas, financials, terms, cashflows } — arrays of reconciled rows (see below). The large one
entitiesLegal entities extracted from the documents
coverageWhich expected datapoints were found, per document and per company
validationConsistency checks (totals that do not add up, conflicting values across documents)
metricDefinitionsThe metric catalogue the run extracted against
workbookSelectionsWhich candidate value was chosen for each workbook cell
incrementalFor an incremental run, what changed against the base run
publishPublication state to the fund entity and the entity graph
runStatsTimings, document counts and model usage for the run

available.dataSections on Fund Detail lists the sections a given run has.

Request

CODE
# One section at a time
curl -X GET "https://api.kruncher.ai/api/integrationfund/fund/data?fundExtractionId=3f1c9a2e-7b4d-4e1a-9c2f-5d6e7f8a9b0c&sections=validation" \
  -H "Authorization: YOUR_API_KEY_HERE"
 
# Two small sections together
curl -X GET "https://api.kruncher.ai/api/integrationfund/fund/data?fundExtractionId=3f1c9a2e-7b4d-4e1a-9c2f-5d6e7f8a9b0c&sections=coverage,runStats" \
  -H "Authorization: YOUR_API_KEY_HERE"
 
# The reconciled rows, saved to disk
curl -s "https://api.kruncher.ai/api/integrationfund/fund/data?fundExtractionId=3f1c9a2e-7b4d-4e1a-9c2f-5d6e7f8a9b0c&sections=reconciled" \
  -H "Authorization: YOUR_API_KEY_HERE" -o reconciled.json

Response

CODE
{
  "metadata": { "code": "1000", "title": "Successful", "description": "" },
  "data": {
    "fundExtractionId": "3f1c9a2e-7b4d-4e1a-9c2f-5d6e7f8a9b0c",
    "name": "Northwind Growth Fund II",
    "status": "completed",
    "refDate": "2026-06-30",
    "truncated": false,
    "sections": ["reconciled", "validation"],
    "data": {
      "reconciled": {
        "soi": [
          {
            "entity_type": "company",
            "entity_scope": "portfolio",
            "entity_id": "acme-robotics",
            "datapoint_id": "soi.nav",
            "field": "nav",
            "source_label": "Fair value",
            "period": "Q2 2026",
            "as_of": "2026-06-30",
            "value": 31500000,
            "unit": "currency",
            "currency": "EUR",
            "value_kind": "reported",
            "source_file": "Q2-2026-quarterly-report.pdf",
            "page_number": 9,
            "notes": null,
            "change_status": "unchanged"
          }
        ],
        "cas": [
          {
            "entity_type": "fund",
            "entity_scope": "fund",
            "entity_id": "fund",
            "datapoint_id": "cas.nav",
            "field": "nav",
            "source_label": "Net asset value",
            "period": "Q2 2026",
            "as_of": "2026-06-30",
            "value": 182400000,
            "unit": "currency",
            "currency": "EUR",
            "value_kind": "reported",
            "source_file": "Q2-2026-capital-account.pdf",
            "page_number": 2,
            "notes": null,
            "change_status": "updated"
          }
        ],
        "financials": [],
        "terms": [
          {
            "entity_type": "fund",
            "entity_scope": "fund",
            "entity_id": "fund",
            "datapoint_id": "terms.vintage",
            "field": "vintage",
            "source_label": "First closing",
            "period": null,
            "as_of": "2019-11-20",
            "value": 2019,
            "unit": "year",
            "currency": null,
            "value_kind": "derived",
            "source_file": "LPA.pdf",
            "page_number": 12,
            "notes": "Year of first closing",
            "change_status": "unchanged"
          }
        ],
        "cashflows": []
      },
      "validation": {
        "issues": [
          { "severity": "warning", "code": "soiTotalMismatch", "message": "Schedule of investments NAV (181.9m) differs from capital account NAV (182.4m) by 0.3%" }
        ]
      }
    }
  }
}

Response Fields

FieldTypeDescription
fundExtractionIdstringThe run
namestringFund name
statusstringRun status
refDatestringReporting date (YYYY-MM-DD)
truncatedbooleanTrue when a section was cut to keep the response deliverable; fetch that section alone
sectionsstring[]The sections actually returned
dataobjectOne key per returned section

Reconciled row

Every row in reconciled.soi, cas, financials, terms and cashflows has the same shape:

FieldTypeDescription
entity_typestringfund or company
entity_scopestringfund for fund-level rows, portfolio for a position
entity_idstringStable id of the entity within the run
datapoint_idstringThe metric, namespaced by source table (e.g. soi.nav, terms.vintage)
fieldstringShort metric name
source_labelstringThe label as printed in the document
periodstring/nullReporting period the value covers
as_ofstring/nullDate the value is stated as of (YYYY-MM-DD)
valuenumber/string/nullThe value
unitstringcurrency, x, percent, year, count, …
currencystring/nullISO currency code for currency values
value_kindstringreported (read from a document) or derived
source_filestringDocument the value came from
page_numberinteger/nullPage within that document
notesstring/nullExtractor notes
change_statusstringFor incremental runs: new, updated, unchanged or removed against the base run

Errors

CodeHTTPMeaning
Error100404No run with that fundExtractionId in your workspace
Error212403Your user has no role on this fund
Error0500Kruncher cannot reach its analysis engine; retry later
Last updated on