FHIR resources

The Huli Public API serves both FHIR R4 (the stable default) and FHIR R5. Auth, scopes, and pagination are identical across releases — only the wire shapes and the base path (/fhir/R4 vs /fhir/R5) differ. Not sure which to target? See Choosing R4 vs R5.

Implementation Guide

Huli publishes a FHIR Implementation Guide with the profiles, extensions, and value sets for both R4 and R5 — see the FHIR Implementation Guide.

FHIR R4 resources

The stable default surface.

ResourceInteractionsScopes
Patientread, search-type, create, update, $everythingsystem/Patient.rs, system/Patient.cru
Appointmentread, search-type, create, updatesystem/Appointment.rs, system/Appointment.cru
Encounterread, search-type, create, updatesystem/Encounter.rs, system/Encounter.cru
Observationread, search-type, create, updatesystem/Observation.rs, system/Observation.cru
MedicationRequestread, search-type, create, updatesystem/MedicationRequest.rs, system/MedicationRequest.cru
ServiceRequestread, search-type, create, updatesystem/ServiceRequest.rs, system/ServiceRequest.cru
Compositionread, search-type, create, updatesystem/Composition.rs, system/Composition.cru
DocumentReferenceread, search-type, create, update, $uploadsystem/DocumentReference.rs, system/DocumentReference.cru
Practitionerread, search-typesystem/Practitioner.rs
Organizationread, search-typesystem/Organization.rs
Subscriptionread, search-type, create, update, delete, $replay, $stats, $deliveriessystem/Subscription.rs, system/Subscription.crud
Locationread, search-typesystem/Appointment.rs
HealthcareServiceread, search-typesystem/Appointment.rs
PractitionerRoleread, search-typesystem/Practitioner.rs
Scheduleread, search-typesystem/Appointment.rs
Slotsearch-typesystem/Appointment.rs
Deviceread, search-typesystem/Appointment.rs
CodeSystemread
ValueSet$expand

FHIR R5 resources

The newer wire shapes — same token, same scopes, base path /fhir/R5.

ResourceInteractionsScopes
Patientread, search-type, create, update, $everythingsystem/Patient.rs, system/Patient.cru
Appointmentread, search-type, create, updatesystem/Appointment.rs, system/Appointment.cru
Encounterread, search-type, create, updatesystem/Encounter.rs, system/Encounter.cru
Observationread, search-type, create, updatesystem/Observation.rs, system/Observation.cru
MedicationRequestread, search-type, create, updatesystem/MedicationRequest.rs, system/MedicationRequest.cru
ServiceRequestread, search-type, create, updatesystem/ServiceRequest.rs, system/ServiceRequest.cru
Compositionread, search-type, create, updatesystem/Composition.rs, system/Composition.cru
DocumentReferenceread, search-type, create, update, $uploadsystem/DocumentReference.rs, system/DocumentReference.cru
Practitionerread, search-typesystem/Practitioner.rs
Organizationread, search-typesystem/Organization.rs
HealthcareServiceread, search-typesystem/Appointment.rs
PractitionerRoleread, search-typesystem/Practitioner.rs
Scheduleread, search-typesystem/Appointment.rs
Slotsearch-typesystem/Appointment.rs

Subscription, Location, Device, CodeSystem, ValueSet are served on /fhir/R4 only (forwards-compatible — not duplicated onto R5); find them in the R4 table above.

Authentication

All resource requests require a Bearer token from POST /auth/token. See Authentication for the full SMART Backend Services flow, and Scopes for the access model.