fac_get_findings
Retrieve audit-risk findings for an entity from FAC using UEI or report ID. Returns material weakness, modified opinion, questioned costs, and other flags.
Instructions
Drill into the audit-RISK findings for an entity from the Federal Audit Clearinghouse (keyless via the api.data.gov DEMO_KEY; api.fac.gov PostgREST findings table) — the risk-detail step after fac_search_audits. At least ONE of auditeeUei (12-char UEI → auditee_uei) or reportId (→ report_id, from a fac_search_audits row) is REQUIRED (an empty query is refused, never a whole-table scan); optional auditYear (int), limit (≤100, def 50), offset. Returns { findings:[{ report_id, auditee_uei, audit_year, award_reference, reference_number, is_material_weakness, is_modified_opinion, is_questioned_costs, is_repeat_finding, is_significant_deficiency, is_other_findings, is_other_matters, type_requirement, prior_finding_ref_numbers, riskFlags:{materialWeakness, modifiedOpinion, questionedCosts, repeatFinding, significantDeficiency, otherFindings, otherMatters} }] } + honest meta. ★RISK-FLAG HONESTY: the is* flags are surfaced VERBATIM as the auditor reported them ("Y"/"N") PLUS a typed riskFlags tri-state ("Y"→true / "N"→false / blank/absent/other → null=UNKNOWN) — a null flag is NEVER rendered as false/"no material weakness" (the false-CLEAR class). ★EMPTY ≠ CLEAN: an empty findings list does NOT confirm a clean audit — the entity may not have filed a Single Audit (below the $750K threshold), the audit may predate FAC coverage, or the UEI may be wrong; a disclosure note fires on any empty result telling you to confirm an ACCEPTED audit exists via fac_search_audits. ★PII: a HARDCODED select-allowlist (NO caller column param) surfaces only entity + audit-risk fields — no personal contact. totalAvailable is the EXACT Content-Range total ('*'/absent ⇒ null + hedge, never 0); a bad column ⇒ 400 ⇒ invalid_input; 400/403/5xx/timeout/HTML/non-array THROW (206 = success). NOT a debarment/determination — cross-check SAM exclusions + OFAC + the specific finding text. Keyless-first via DEMO_KEY (~10 req/hr; set DATA_GOV_API_KEY — never logged).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows per page, 1..100, default 50. | |
| offset | No | 0-based row offset for pagination (default 0). | |
| reportId | No | Filter by FAC report_id (^[0-9A-Za-z-]+$; → report_id=eq. — from a fac_search_audits row). | |
| auditYear | No | Filter by audit year (int, → audit_year=eq.). | |
| auditeeUei | No | Filter by 12-char SAM UEI (^[A-Z0-9]{12}$; → auditee_uei=eq.). |