Developer docs

DFX Intelligence · developer docs

The evidence schema: claims, claim types, citations

How a DFX answer states what it knows: answer states, claim types, citation blocks, citation checks, novelty and what was withheld.

Short answer

Every row says what kind of claim it is and which document it came from. Filed facts, DFX arithmetic and DFX judgement are labelled differently, and the answer grades its own citations.

Answer states

stateMeaning
OKAnswered from rows DFX holds.
NO_MATCHNo row carries every word of the name; rows under candidates are near misses, not the entity asked for.
NOT_COVEREDDFX does not hold that population. It is a coverage limit, not a no.
UNKNOWNDFX cannot decide. For verify, the claim could not be checked; it is not a contradiction.
DATA_WITHHELDRows exist and this access tier does not receive them; the answer counts them.
RATE_LIMITEDRefused before running, with retry_after and charged: false.

Claim types

claim_typeWhat it isHow to state it
VERIFIED_FACTWhat a filed document states (a BDC's schedule of investments, a Form ADV).As a fact, with the filing.
REPORTED (REPORTED_FACT on research events)What a source reports that is not a regulatory filing (a press release, a firm's own website).As reported by that source.
DERIVEDDFX arithmetic over filed values. A facility size summed across BDCs is a lower bound; a spread is the mode across BDCs.As DFX's calculation, with its basis.
INFERENCEDFX judgement: a sponsor matched to a borrower, a partial name match, PERFORMING as a default.As DFX's estimate, never as a filed fact. claim_basis gives the reason in one line.

The claims array

Research answers carry claims: one entry per checkable statement, content addressed, so the same statement from the same source keeps the same id across calls.

FieldMeaning
claim_idStable id (clm_...) built from subject, predicate, object, value, effective date and source.
rowThe row (r1, e1, v1...) holding the subject, value, dates and citation.
predicateWhat is claimed, for example LENDER_TO, LENDER_TO_AMOUNT_USD, EVENT_NEW_LENDER.
claim_typeAs above.
evidence_statusFILING or DOCUMENT when a primary document carries it.
entitlement_classThe policy class of the field (P0 public identity, P1 dated public-record fact, P2 resolved relationship, and so on).
verification_resultUNVERIFIED unless the cited document was read and checked for this answer.

The cite block

cite.url is the most specific primary document DFX has for the row: for BDC positions, the BDC's own 10-Q or 10-K document, not the EDGAR folder. cite.granularity is document, or says why there is none (listing, dataset, withheld, none). source_location adds the filing index, the section and the XBRL instance. dfx_page is DFX's own page and is never a source.

One row's cite, as production returned it on 2026-10-11

"cite": {
  "url": "https://www.sec.gov/Archives/edgar/data/1803498/000180349826000048/bcred-20260630.htm",
  "document_id": "0001803498-26-000048",
  "date": "2026-06-30",
  "granularity": "document",
  "source_location": {
    "filing_index": "https://www.sec.gov/Archives/edgar/data/1803498/000180349826000048/0001803498-26-000048-index.htm",
    "section": "Schedule of Investments",
    "xbrl_instance": "https://www.sec.gov/Archives/edgar/data/1803498/000180349826000048/bcred-20260630_htm.xml"
  }
}

Fetching SEC documents: www.sec.gov refuses a client whose User-Agent declares no contact (its fair access policy). Send a User-Agent with a name and an email address.

Citation checks

citation_checkMeaning
PASSEvery claim's cited document was read and carries it.
UNVERIFIEDEvery row cites a document (traceable: PASS) but the documents were not read for this answer.
FAILA row cites no document, or a cited document does not carry its claim. Surface this to the user; do not hide it.

Dates and novelty

occurred_at is when the thing happened, with occurred_basis saying on what basis; first_seen_at is when DFX first read it. Change feeds label each event NEW_EVENT, NEWLY_OBSERVED_HISTORICAL, SCHEDULED_FUTURE or UNKNOWN, and exclude history by default.

What an access tier withholds

Without a plan on a graph, lists name their first 5 rows and count the rest; a record names its subject and the first 3 related names per section; contact values and decision-maker names are never returned. Names a public filing itself prints (a BDC on its own schedule of investments) are named to every reader with the filing. The withheld block counts what was left out and, where the public record prints it, says where. Withheld means withheld, not missing.

Checked against production on . The same page as Markdown, for agents: /api/data-factory/v1/docs/evidence.