# MedListIQ > FHIR medication list inference API — deterministic, rule-based, RxNorm-centric. ## Docs - [Extract a deduplicated medication list from clinical PDFs](https://docs.medlistiq.com/api-reference/extract-a-deduplicated-medication-list-from-clinical-pdfs.md): Accepts one or more clinical PDFs (referral packets, H&Ps, MARs, progress notes, discharge summaries) for a single patient and returns a curated, deduplicated medication list. Each medication carries the page / section / text-snippet evidence it was inferred from across all submitted documents. - [Healthz](https://docs.medlistiq.com/api-reference/healthz.md) - [Infer](https://docs.medlistiq.com/api-reference/infer.md) - [Authentication](https://docs.medlistiq.com/authentication.md): Bearer API keys. How to create, rotate, and revoke. - [Enrichments catalog](https://docs.medlistiq.com/enrichments.md): Every semantic enrichment MedListIQ adds to raw FHIR medication data. - [FHIR Implementation Guide](https://docs.medlistiq.com/fhir-ig.md): Input and output FHIR shapes MedListIQ understands and produces. - [Med lists from PDFs](https://docs.medlistiq.com/from-documents.md): Submit clinical PDFs (referrals, H&Ps, discharge summaries, progress notes) and get back a deduplicated medication list. - [Output formats](https://docs.medlistiq.com/guides/output-formats.md): Pick the response shape that fits how you'll consume the data: inferred_list, fhir_bundle, or fhir_array. - [Understanding the output](https://docs.medlistiq.com/guides/understanding-output.md): How to read `status`, `confidence`, and `evidence` — and what to do with them. - [MedListIQ](https://docs.medlistiq.com/introduction.md): Medication list reconciliation. Send messy data — FHIR resources or clinical PDFs — get a clean deduplicated list. - [Quickstart](https://docs.medlistiq.com/quickstart.md): Your first inference call in under a minute. - [Errors](https://docs.medlistiq.com/resources/errors.md): Every HTTP status code the API returns, when it fires, and how to respond. - [Rate limits & plans](https://docs.medlistiq.com/resources/rate-limits.md): Per-minute and monthly caps by plan, how enforcement works, what happens when you hit a limit. - [Status values](https://docs.medlistiq.com/resources/status-values.md): The 5 possible statuses and the rules that trigger each. ## OpenAPI Specs - [openapi](https://docs.medlistiq.com/api-reference/openapi.json)