HELP · API + MCP

The data plane behind filing-auditable agents.

Coverage filed, dictionaries, and AAPL-shaped REST + MCP samples — catalog-available versus lake-mirrored, without inventing accessions.

One place for integrators: period types that are stocked, provenance on the wire, and dogfood samples you can trust. White-label surface — no upstream vendor brands.

GET /api/v1/financials · AAPL Lake sample
{
  "symbol": "AAPL",
  "metric": "FX_REV",
  "period": "FY",
  "provenance": {
    "dataset": "sec_xbrl",
    "link_status": "native",
    "as_of": "25 September 2026 ~15:21 BST"
  }
}
REST + MCP · same entitlementsMore samples →

DRAFT · GTM HOLD · Critiquito HOLD · HOLD — Soft Taste + Critiquito CLEAR required before GTM SEND. Catalog ≠ lake. White-label.

OVERVIEW

Filing-auditable plane for agents and services.

Finsyt exposes the same entitlements over REST /api/v1 and streamable-HTTP MCP. Every numeric field should carry provenance. Prefer link_status: native|linked for filing-backed work. Gaps are explicit — the plane does not invent accessions.

  • Coverage filed: catalog entitlement vs rows actually mirrored in the lake.
  • Data dictionary: FY + Q stocked; H1/H2/YTD/TTM not advertised.
  • Samples: AAPL REST + MCP from Neon dogfood (labeled LAKE).

Dogfood gates

A lake readable · B API/MCP Neon-backed · C /coverage matches live census · D this Help page (honest labels).

As-of

Lake mirror census 25 September 2026 ~16:27 BST

Coverage filed

DRAFT

Two layers — do not conflate. Catalog-available is entitlement size. Lake-mirrored is what actually sits in Neon today. History fields stay UNKNOWN unless measured. Same census source as /coverage once live-lake sync lands; until then marketing census remains the 15 Aug sheet with honest DRAFT labels here.

CATALOG-AVAILABLE

22,966

instruments · 18 datasets · probe DRAFT

Entitlement catalog size from live probe (25 Sep). Marketing /coverage reads coverage-census.generated.json (catalog-available vs lake-mirrored). Marketing page still cites 22,966 / 18 datasets as of 25 September 2026.

LAKE-MIRRORED

30

dogfood filers in Neon · as-of 25 September 2026 ~16:27 BST

Series catalog entitlement is ~22.9k rows; lake raw-pull mirror is far smaller until P1 completes. Fundamentals lake is Dow-30 dogfood today.

Lake-mirrored dataset row counts
Lake table / surfaceRowsNote
Companies / filers (dogfood universe)30Dow-30 P0
As-presented XBRL facts597,365Filing-native
Standardized statement values139,804FY + Q stocked
Segments & KPIs (native extracts)435link_status=native
Vendor segment observations18,871unlinked until reconcile — no invented accessions
Market/fundamentals raw pulls1,330P1a in progress
Series raw pulls (P0/P1 mirror)95Catalog ~22.9k; lake rows are the mirror count
Cited US GAAP filers (catalog surface)10,412Marketing census; lake dogfood is 30 filers

Data dictionary

DRAFTFY + Q stocked

Promoted from public reference docs. H1/H2/YTD/TTM are not advertised until lake + readers exist. Full markdown: data dictionary, provenance, segments & KPIs.

Series layers
LayerSourceExample
As-presentedfacts_raw ← companyfactsIssuer XBRL concepts
Standardizedstd_values ← concept_mapHelix template lines (is.revenue, bs.cash, …)
Segments / KPIskpi_values (native) · vendor_observations (mirror)Product / geo revenue cuts
Dictionary seedconcepts · concept_map · template_linesMetric / series ids

Period types

CodeMeaningStocked
FYFiscal yearyes
Q / Q1–Q4Fiscal quarteryes
H1 / H2Half yearno — not advertised
YTDYear to dateno — not advertised
TTMTrailing twelve monthsno — not advertised

Provenance envelope

Required on figure payloads. Prefer native/linked for filing-backed work. Vendor mirrors may be unlinked and must not invent accessions.

  • source_id
  • dataset
  • as_of
  • retrieval_method
  • link_status ∈ {native, linked, unlinked, conflict}
  • accession (optional — never invented)
  • source_url / page / quoted_span (optional)

DATA SAMPLES

LAKEAAPL

REST + MCP — AAPL-shaped from the dogfood lake.

Accessions below are real EDGAR filings present in Neon std_values (as-of 25 September 2026 ~15:21 BST). Never invent filing accessions. If a sell path is still sandbox for a given key, the payload says so via provenance.dataset.

REST — company

requestLAKE
curl -sS -H "Authorization: Bearer $FINSYT_API_KEY" \
  "$FINSYT_BASE/api/v1/companies/AAPL"
response (truncated)LAKE
{
  "ticker": "AAPL",
  "name": "Apple Inc.",
  "cik": "0000320193",
  "link_status": "native",
  "sources": [
    {
      "source_id": "filer:0000320193",
      "dataset": "helix.filers",
      "as_of": "2026-09-25T14:21:47.660Z",
      "retrieval_method": "live",
      "link_status": "native"
    }
  ]
}

REST — fundamentals

requestLAKE
curl -sS -H "Authorization: Bearer $FINSYT_API_KEY" \
  "$FINSYT_BASE/api/v1/companies/fundamentals?ticker=AAPL&period=A&limit=5"
response (truncated)LAKE
{
  "ticker": "AAPL",
  "name": "Apple Inc.",
  "cik": "0000320193",
  "period": "A",
  "count": 5,
  "income": [
    {
      "fql": "is.revenue",
      "label": "Total revenue",
      "value": 416161000000,
      "unit": "USD",
      "period": "FY2025",
      "period_end": "2025-09-27",
      "statement": "income",
      "accession": "0000320193-25-000079",
      "link_status": "native",
      "provenance": {
        "source_id": "0000320193-25-000079",
        "dataset": "helix.std_values",
        "as_of": "2025-09-27",
        "retrieval_method": "live",
        "link_status": "native"
      }
    },
    {
      "fql": "is.net_income",
      "label": "Net income",
      "value": 112010000000,
      "unit": "USD",
      "period": "FY2025",
      "period_end": "2025-09-27",
      "statement": "income",
      "accession": "0000320193-25-000079",
      "link_status": "native",
      "provenance": {
        "source_id": "0000320193-25-000079",
        "dataset": "helix.std_values",
        "as_of": "2025-09-27",
        "retrieval_method": "live",
        "link_status": "native"
      }
    }
  ],
  "sources": [
    {
      "source_id": "0000320193-25-000079",
      "dataset": "helix.std_values",
      "as_of": "2025-09-27",
      "retrieval_method": "live",
      "link_status": "native",
      "accession": "0000320193-25-000079"
    }
  ]
}

MCP — get_company_fundamentals

Same envelope as REST when Neon lake is configured. Sandbox keys may return provenanced fixtures — check provenance.dataset.

tool argsLAKE
{
  "ticker": "AAPL",
  "period": "A",
  "limit": 5
}
response (truncated)LAKE
{
  "ticker": "AAPL",
  "name": "Apple Inc.",
  "cik": "0000320193",
  "period": "A",
  "income": [
    {
      "fql": "is.revenue",
      "label": "Total revenue",
      "value": 416161000000,
      "unit": "USD",
      "period": "FY2025",
      "period_end": "2025-09-27",
      "accession": "0000320193-25-000079",
      "link_status": "native"
    }
  ],
  "provenance": {
    "source_id": "AAPL",
    "dataset": "helix.std_values",
    "as_of": "2026-09-25T14:21:47.660Z",
    "retrieval_method": "live",
    "link_status": "native"
  }
}

API · AUTH

Two equivalent paths.

API key Bearer

Authorization: Bearer fsk_… (or X-API-Key). Preferred for CLI, agents, and CI.

OAuth 2.1 (PKCE)

Browser sign-in for Claude, ChatGPT, Copilot, Cursor when interactive. Same entitlements as the key.

MCP URL (streamable HTTP)LAKE
https://www.finsyt.com/platform/api/v1/mcp

RATE LIMITS

DRAFT

Shared entitlements.

MCP and REST share workspace entitlements. Align published limits to billing tiers before GTM SEND. Typical errors: 401 unauthorized · 403 forbidden · 404 not found · 429 rate limit · 5xx retry with backoff.

Ready to wire a key?

Help stays DRAFT until Soft Taste + Critiquito CLEAR. Dogfood keys still welcome.