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
Answer states
| state | Meaning |
|---|---|
OK | Answered from rows DFX holds. |
NO_MATCH | No row carries every word of the name; rows under candidates are near misses, not the entity asked for. |
NOT_COVERED | DFX does not hold that population. It is a coverage limit, not a no. |
UNKNOWN | DFX cannot decide. For verify, the claim could not be checked; it is not a contradiction. |
DATA_WITHHELD | Rows exist and this access tier does not receive them; the answer counts them. |
RATE_LIMITED | Refused before running, with retry_after and charged: false. |
Claim types
| claim_type | What it is | How to state it |
|---|---|---|
VERIFIED_FACT | What 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. |
DERIVED | DFX 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. |
INFERENCE | DFX 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.
| Field | Meaning |
|---|---|
claim_id | Stable id (clm_...) built from subject, predicate, object, value, effective date and source. |
row | The row (r1, e1, v1...) holding the subject, value, dates and citation. |
predicate | What is claimed, for example LENDER_TO, LENDER_TO_AMOUNT_USD, EVENT_NEW_LENDER. |
claim_type | As above. |
evidence_status | FILING or DOCUMENT when a primary document carries it. |
entitlement_class | The policy class of the field (P0 public identity, P1 dated public-record fact, P2 resolved relationship, and so on). |
verification_result | UNVERIFIED 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_check | Meaning |
|---|---|
PASS | Every claim's cited document was read and carries it. |
UNVERIFIED | Every row cites a document (traceable: PASS) but the documents were not read for this answer. |
FAIL | A 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.