Skip to content

Data models

Stable Pydantic contracts in faxautomation/core/models.py. Plugins must return these types — never raw vendor dicts past the adapter boundary.

ParserInfo

Field Type Description
id str Unique parser ID for API/UI
label str Human-readable name
kind ocr | extract Parser category
enabled bool false if deps/creds missing
disabled_reason str? Shown in UI tooltip

DocumentInput

Field Type Description
job_id str UUID for audit (no PHI in logs)
filename str Original upload name
content bytes Raw file bytes
mime_type str Default application/pdf

OcrPageResult

Field Type
page_number int
text str
confidence float 0–1

AnalyteRow

Field Type
name str
value str
unit str
ref_low str
ref_high str
loinc str

ParseJobResult (API response)

Field Type
job_id str
filename str
ocr_results list of per-parser OCR output
analytes list of per-parser extract output
elation_preview dict? — dry-run Elation payload