> ## Documentation Index
> Fetch the complete documentation index at: https://doc.astreus.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Fact provenance

> Provenance for one cell: the fact(s) (or the printed cell and page for PDF-sourced issuers), the filing accession or document reference, and the arithmetic behind derived values.



## OpenAPI

````yaml /openapi.json get /api/v1/companies/{id}/fact-source
openapi: 3.1.0
info:
  title: Astreus API
  version: 1.0.0
  description: >-
    Astreus is a financial data terminal that turns the world's unstructured
    financial disclosure into structured, traceable data. It reads what
    companies, exchanges and central banks publish — annual and interim reports,
    SEC filings, results announcements, investor presentations, earnings calls,
    8-Ks, regulator notices and policy text — across the United States, the Gulf
    (Tadawul, DFM, ADX, Boursa Kuwait, QSE), Japan, Taiwan, Korea, the UK and
    Europe, and serves it as data a program can trust: standardized financial
    statements (annual, quarterly, semiannual), segments and KPIs, the tables
    inside the notes, filing sections as text, investor decks page by page,
    earnings-call transcripts and audio, span-anchored observations, management
    guidance scored against outcomes, typed 8-K events, an attributed intraday
    news tape, insider and 13F ownership, a people registry, point-in-time macro
    series and central-bank text, benchmark, commodity and compute-price series,
    and a validated causal claim graph with scenario simulation. Every number
    carries the filing, page or passage it came from (`fact-source`), and
    nothing is served until it passes per-company validation gates.


    Coverage is published live: `GET /api/v1/landing/coverage` (no key) returns
    every market served with company counts, history depth, completeness and
    periods held per data type — ask it before answering "what do you cover?".
    `{id}` is a ticker, a numeric SEC CIK, or a platform key for a non-SEC
    issuer (XSAU000001) — the `cik` field of the company payload. Human-readable
    guides: https://doc.astreus.ai (coverage at /coverage, data catalog at
    /data-catalog).


    Tiers: `public` endpoints need no credentials. Everything else takes an
    **API key** — create one on the Developers page in the terminal
    (https://astreus.ai/developers) and send it as `X-API-KEY: pk_live_...` (or
    `Authorization: Bearer pk_live_...`). Signed-in terminal sessions may use
    their Cognito ID token instead.


    Rate limits and quotas are per plan (fixed UTC windows): Free — 30 req/min,
    250 req/day; Build — 300 req/min, 100,000 req/month; Scale — custom. Build,
    Scale and prepaid credits are set up with sales
    (https://astreus.ai/contact), not self-serve. Responses carry RateLimit-*,
    X-Quota-* and, when credits pay, X-Billing-Source/X-Credits-Remaining-USD
    headers; a 429 carries `Retry-After` and a machine `code` of rate_limited or
    quota_exceeded (with sales_email).


    Not investment advice. See /terms.
  contact:
    email: saif@astreus.ai
  termsOfService: https://astreus.ai/terms
servers:
  - url: https://astreus.ai
security: []
tags:
  - name: Search & Meta
    description: Entity resolution and platform metadata.
  - name: Company Data
    description: Profiles, structure, leadership, calendars.
  - name: Financial Statements
    description: >-
      Standardized XBRL-derived statements — every line traceable to its filing
      via fact provenance.
  - name: SEC Filings
    description: >-
      The filing index and documents (SEC and exchange-published), parsed
      section text, and the tables inside the notes as gated grids and series.
  - name: 8-K Events
    description: Material events, typed by family, with extracted item text.
  - name: News
    description: >-
      The intraday news tape: filings, releases and licensed wires with source
      attribution, storylines and topics.
  - name: Transcripts & Calls
    description: Earnings-call transcripts, span-anchored observations, IR decks.
  - name: Guidance & Scorecards
    description: What management promised vs. what happened.
  - name: Ownership & Insiders
    description: 13F holders, Forms 3/4/5, the people registry.
  - name: Macro
    description: Point-in-time economic series and central-bank text.
  - name: Market Data
    description: Daily bars for stocks, benchmarks, commodities and compute.
  - name: Intelligence
    description: Narratives, the validated claim graph, scenario simulation.
  - name: Analytics
    description: Correlation and charting over any catalog series.
paths:
  /api/v1/companies/{id}/fact-source:
    get:
      tags:
        - Financial Statements
      summary: Fact provenance
      description: >-
        Provenance for one cell: the fact(s) (or the printed cell and page for
        PDF-sourced issuers), the filing accession or document reference, and
        the arithmetic behind derived values.
      operationId: get-fact-provenance
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            Ticker symbol (e.g. NVDA), numeric SEC CIK (zero-padding optional),
            or the platform key of a non-SEC issuer (e.g. XSAU000001 — the `cik`
            field of the company payload). A bare ticker always resolves to the
            SEC registrant.
          schema:
            type: string
        - name: statement
          in: query
          description: Which statement the row belongs to.
          schema:
            type: string
            enum:
              - income_statement
              - balance_sheet
              - cash_flow_statement
              - segments_kpis
              - supply_chain
        - name: key
          in: query
          description: >-
            The row key exactly as /financials returned it: std:<line>
            (std:revenue), a raw XBRL tag (us-gaap:Revenues), a segment row
            seg::<axis>::<metric>::<member>, a KPI row kpi::<kpi_key>, or a
            supply-chain metric rel::<edge_key>::<metric>::<quant_id>
            (provenance.fact_source_key on /supply-chain).
          schema:
            type: string
        - name: end_date
          in: query
          description: The column's period end date, YYYY-MM-DD (from period_meta).
          schema:
            type: string
        - name: period_type
          in: query
          description: Must match the /financials call being cited.
          schema:
            type: string
            enum:
              - annual
              - semiannual
              - quarterly
            default: annual
        - name: basis
          in: query
          description: Must match the reporting_basis of the /financials call being cited.
          schema:
            type: string
            enum:
              - individual
              - as_reported
            default: individual
        - name: accounting_basis
          in: query
          description: >-
            Accounting basis the cited cell was shown under (see financials
            `basis`); default = primary.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
              example:
                provenance: filed
                std_value: 130497000000
                source_tags:
                  - us-gaap:Revenues
                filing:
                  accession_number: 0001045810-25-000023
                  filing_type: 10-K
                  filing_date: '2025-02-26'
                  fiscal_year: 2025
                  fiscal_quarter: null
                  period_end_date: '2025-01-26'
                facts:
                  - tag_name: us-gaap:Revenues
                    context_id: c-1
                    label_as_reported: Revenue
                    raw_value: 130497000000
                    selected_value: 130497000000
                    value_is_derived: false
                    unit: USD
                    decimals: -6
                    value_type: duration
                    start_date: '2024-01-29'
                    end_date: '2025-01-26'
                    instant_date: null
                    revisions:
                      - accession_number: 0001045810-25-000023
                        filing_type: 10-K
                        filing_date: '2025-02-26'
                        fiscal_year: 2025
                        fiscal_quarter: null
                        context_id: c-1
                        raw_value: 130497000000
                      - accession_number: 0001045810-26-000010
                        filing_type: 10-K
                        filing_date: '2026-02-25'
                        fiscal_year: 2026
                        fiscal_quarter: null
                        context_id: c-4
                        raw_value: 130497000000
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid bearer token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Unknown company, country, symbol or resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited. Honour Retry-After.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
        - cognitoIdToken: []
components:
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable message.
        code:
          type: string
          description: >-
            Stable machine code when present: unauthenticated, upgrade_required,
            rate_limited, quota_exceeded.
          enum:
            - unauthenticated
            - upgrade_required
            - rate_limited
            - quota_exceeded
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        Astreus API key (pk_live_...), created on the Developers page in the
        terminal. Also accepted as `Authorization: Bearer pk_live_...`.
      x-default: pk_live_YOUR_KEY
    cognitoIdToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Amazon Cognito ID token (token_use=id) for the Astreus user pool — the
        terminal's own session credential. API consumers should use an API key
        instead.

````