Uploads
Five ingestion pipelines. Each writes a SourceDocument + audit ExtractionResult.
PDF / DOCX / TXT — extracts provider constraints via the LLM pipeline.
Accepted: .pdf,.docx,.txt,.md
Endpoint: /api/v1/uploads/offer-letter
CSV / XLSX — upserts ProviderClinicApproval rows.
Accepted: .csv,.xlsx,.xls,.xlsm
Endpoint: /api/v1/uploads/clinic-approvals
CSV / XLSX — updates Provider.active.
Accepted: .csv,.xlsx,.xls,.xlsm
Endpoint: /api/v1/uploads/active-status
CSV / XLSX from ADP Workforce Now — writes PTO with overlap merge.
Accepted: .csv,.xlsx,.xls,.xlsm
Endpoint: /api/v1/uploads/pto
CSV / XLSX — long or wide format. Seeds continuity scoring.
Accepted: .csv,.xlsx,.xls,.xlsm
Endpoint: /api/v1/uploads/historical-schedule
curl -X POST http://localhost:8000/api/v1/uploads/offer-letter \ -F "file=@./sample-letter.pdf"
The drop-zone UI (drag a file, see the audit summary inline) is a small follow-up — the endpoints are already wired and tested.