> ## 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.

# Supply chain

> Disclosed suppliers, customers, competitors and partners with source-backed metrics. Every metric states whose figure it is (`whose`), the measurement period, the filing (`provenance.accession`) and, when withheld, the reason codes — cite those, never a bare percentage. `coverage` is the disclosed-customer share of the company's own revenue for one filing and period (never an estimate of the whole network). Anonymous customers ("Customer One") are filing-scoped and never unified across filings; labels a later report superseded are omitted unless `include_historical=true`. Every relationship carries `evidence_basis`: filed_structured (the filer's XBRL facts), company_published (a supplier/customer/partner list the company itself publishes), human_certified (filing text, human-audited), model_extracted (filing text incl. 8-K Item 1.01, quote-anchored, model-extracted under an active serving policy) or call_transcript (an earnings-call passage) — cite it as such. With `include_estimates=true`, metrics of state `estimate` (`counterparty_revenue_pct_est`) attribute a counterparty's undisclosed top-customer share by rule; they are estimates, never disclosed figures, and never enter `coverage`. Counterparties of kind named_unlinked are named in the filing but matched to no company page. `status` distinguishes not_processed, no_disclosures_found, partial and ok; `as_of` returns what was public through that UTC date under today's rules.



## OpenAPI

````yaml /openapi.json get /api/v1/companies/{id}/supply-chain
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}/supply-chain:
    get:
      tags:
        - Company Data
      summary: Supply chain
      description: >-
        Disclosed suppliers, customers, competitors and partners with
        source-backed metrics. Every metric states whose figure it is (`whose`),
        the measurement period, the filing (`provenance.accession`) and, when
        withheld, the reason codes — cite those, never a bare percentage.
        `coverage` is the disclosed-customer share of the company's own revenue
        for one filing and period (never an estimate of the whole network).
        Anonymous customers ("Customer One") are filing-scoped and never unified
        across filings; labels a later report superseded are omitted unless
        `include_historical=true`. Every relationship carries `evidence_basis`:
        filed_structured (the filer's XBRL facts), company_published (a
        supplier/customer/partner list the company itself publishes),
        human_certified (filing text, human-audited), model_extracted (filing
        text incl. 8-K Item 1.01, quote-anchored, model-extracted under an
        active serving policy) or call_transcript (an earnings-call passage) —
        cite it as such. With `include_estimates=true`, metrics of state
        `estimate` (`counterparty_revenue_pct_est`) attribute a counterparty's
        undisclosed top-customer share by rule; they are estimates, never
        disclosed figures, and never enter `coverage`. Counterparties of kind
        named_unlinked are named in the filing but matched to no company page.
        `status` distinguishes not_processed, no_disclosures_found, partial and
        ok; `as_of` returns what was public through that UTC date under today's
        rules.
      operationId: get-supply-chain
      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: role
          in: query
          description: customers, suppliers, competitors, partners or all (default).
          schema:
            type: string
            enum:
              - customers
              - suppliers
              - competitors
              - partners
              - all
            default: all
        - name: quantified_only
          in: query
          description: true = only relationships with at least one eligible metric.
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
            default: 'false'
        - name: as_of
          in: query
          description: 'YYYY-MM-DD: public information through the end of that UTC date.'
          schema:
            type: string
        - name: sort
          in: query
          description: >-
            company_exposure (default; the company's own metric),
            relationship_exposure (the other party's metric) or name. Metrics
            missing sort last, ties by edge key.
          schema:
            type: string
            enum:
              - company_exposure
              - relationship_exposure
              - name
            default: company_exposure
        - name: limit
          in: query
          description: 1–100, default 50.
          schema:
            type: integer
        - name: cursor
          in: query
          description: >-
            Opaque cursor bound to all filters and the data revision; restart on
            409.
          schema:
            type: string
        - name: name
          in: query
          description: Counterparty name or ticker contains.
          schema:
            type: string
        - name: named_only
          in: query
          description: Exclude anonymous and grouped counterparties.
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - name: country
          in: query
          description: Two-letter country code.
          schema:
            type: string
        - name: sector
          in: query
          description: Exact sector name.
          schema:
            type: string
        - name: display_currency
          in: query
          description: >-
            Three-letter display currency; original amounts retained; historical
            FX unavailable.
          schema:
            type: string
        - name: include_historical
          in: query
          description: >-
            true = also return filing-scoped anonymous labels that a later
            report superseded.
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
            default: 'false'
        - name: include_estimates
          in: query
          description: >-
            true = include estimate-tier metrics (state=estimate), attributed by
            rule, never disclosed figures.
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
            default: 'false'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
              example:
                supply_chain:
                  company:
                    cik: '0001045810'
                    name: NVIDIA CORP
                    ticker: NVDA
                  status: ok
                  data_revision: '7191:20'
                  as_of: null
                  as_of_policy: public_by_cutoff_current_rules
                  freshness:
                    latest_source_public_at: '2026-08-18T11:12:07.000Z'
                    pending_refresh: false
                  coverage:
                    benchmark: revenue
                    period_start: '2025-01-27'
                    period_end: '2026-01-25'
                    accession: 0001045810-26-000021
                    denominator_source: discloser_filing
                    disclosed_pct: '36'
                    total_pct: '36'
                    state: measured
                    scope_note: >-
                      us-gaap:StatementBusinessSegmentsAxis=nvda:ComputeAndNetworkingSegmentMember
                    contributing_edge_keys:
                      - 2095a585804c5e136ed50aae6846804709f3f612
                      - d3546887102d8411cf3f74d4ae1f721b337e3b22
                    excluded:
                      - edge_key: 55c8b677d9e207c73543037174b3e1dd82b9c1e0
                        reason: indirect_scope
                  relationships:
                    - edge_key: 2178ffc83e8605da2ac5ac20448111ee7a419e71
                      kind: supply
                      role_for_subject: supplier
                      scope: direct_commercial
                      other_party:
                        counterparty_id: 1182
                        kind: public_company
                        name: Fabrinet
                        cik: '0001408710'
                        ticker: FN
                      direction: disclosed_by_other
                      assertion_count: 15
                      latest_period_end: '2026-06-26'
                      freshness:
                        latest_public_at: '2026-08-18T11:12:07.000Z'
                        stale: false
                        superseded: false
                      metrics:
                        - metric: attributed_revenue_amount
                          whose:
                            cik: '0001408710'
                            name: Fabrinet
                          period_start: '2025-06-28'
                          period_end: '2026-06-26'
                          periodicity: annual
                          value: '756498811'
                          unit: USD
                          approximate: true
                          state: eligible
                          reasons: []
                          notes:
                            - derived_from_rounded_pct
                          provenance:
                            discloser_cik: '0001408710'
                            accession: 0001408710-26-000028
                            public_at: '2026-08-18T11:12:07.000Z'
                            evidence_id: 426
                            quant_id: 7191
                            fact_source_key: >-
                              rel::2178ffc83e8605da2ac5ac20448111ee7a419e71::attributed_revenue_amount::7191
                          low: '754178262.5'
                          high: '758819359.5'
                          currency: USD
                        - metric: discloser_revenue_pct
                          whose:
                            cik: '0001408710'
                            name: Fabrinet
                          period_start: '2025-06-28'
                          period_end: '2026-06-26'
                          periodicity: annual
                          value: '16.3'
                          unit: pct
                          approximate: true
                          state: eligible
                          reasons: []
                          notes: []
                          provenance:
                            discloser_cik: '0001408710'
                            accession: 0001408710-26-000028
                            public_at: '2026-08-18T11:12:07.000Z'
                            evidence_id: 426
                            quant_id: 7190
                            fact_source_key: >-
                              rel::2178ffc83e8605da2ac5ac20448111ee7a419e71::discloser_revenue_pct::7190
                          low: '16.25'
                          high: '16.35'
                        - metric: receivables_pct
                          whose:
                            cik: '0001408710'
                            name: Fabrinet
                          period_start: '2024-06-29'
                          period_end: '2025-06-27'
                          periodicity: annual
                          value: '25.5'
                          unit: pct
                          approximate: true
                          state: eligible
                          reasons: []
                          notes: []
                          provenance:
                            discloser_cik: '0001408710'
                            accession: 0001408710-26-000028
                            public_at: '2026-08-18T11:12:07.000Z'
                            evidence_id: 424
                            quant_id: 7187
                            fact_source_key: >-
                              rel::2178ffc83e8605da2ac5ac20448111ee7a419e71::receivables_pct::7187
                          low: '25.45'
                          high: '25.55'
                  counts:
                    customers: 0
                    suppliers: 1
                    competitors: 0
                    partners: 0
                    quantified: 1
                    total: 1
                  page_info:
                    limit: 50
                    offset: 0
                    total: 1
                    next_cursor: null
        '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.

````