Charm API
Integuru generates a production-ready HTTP API for Charm, the CharmHealth cloud EHR and practice management platform used by ambulatory and multi-specialty practices. 16 verified actions cover patient search and creation, insurance policies and card images, schedules, encounter lists, notes, questionnaires and PDF export, quick notes, chart alerts and document uploads, for AI scribe, intake and RCM teams.
16
Verified actions live today
<3 sec
Response latency per call
99.9%+
Reliability rate on generated APIs
24/7
On-call maintenance on Production plans
Integration facts
- Authenticates against
- https://accounts.charmtracker.com/signin
- Authentication
- Login flows, including 2FA, handled by Integuru using your own Charm credentials.
- Approach
- Direct HTTP requests, with no browser automation or RPA involved.
Endpoints
Available actions
Don't see the action you need?
The actions above cover the most common Charm integration patterns, but they're not the full picture. Integuru can build additional workflows for any capability the platform exposes. Our Managed Service handles scoping, building, and maintaining custom actions on your behalf, so just let us know what you need.
Guide
Charm integration guide
Does Charm have a public API?
Yes, for reading the record. CharmHealth's EHR API program exposes HL7 FHIR R4 and US Core resources with SMART app launch, and access takes an API Access Request, a signed API agreement, an issued developer license, and each practice administrator adding your client id under Settings, Account, API Keys. Integuru generates a production-ready HTTP API for the write-side work from the practice's own login, with 16 verified actions.
| CharmHealth FHIR API program | Integuru for Charm | |
|---|---|---|
| Access | Access request, signed agreement, developer license, per-practice client id authorisation | The practice's own Charm login |
| Covers | FHIR R4 and US Core reads of the patient record, SMART app launch | Patient and policy creation, documents and card images, notes, alerts, encounter lists and PDFs |
| Best for | Certified apps reading clinical data across many practices | Scribe, intake and RCM tools that must write into a practice this week |
Both routes can run side by side: the FHIR program for the clinical read, Integuru for the front-desk and billing writes it does not reach. Integuru's calls are direct HTTP requests to the endpoints the Charm web app uses, authenticated, using your own credentials, with login and any second factor handled for you.
What you can do with the Charm API
A multi-specialty clinic takes its new patients in through a web intake form. Each one needs a chart, a primary policy, both sides of the insurance card, and a flag for anything the provider must see before the visit. After the visit, the signed note has to reach the billing company as a PDF.
Create the chart and the coverage
search_patientsfinds patients byquerywithsearch_byset toname_or_mrn(default),name_or_mrn_startswith,dob,phoneoremail;create_patientopens a chart fromfirst_name,last_name,dob,genderandemail, withduplicate_checkon by default andfacility_idfalling back to the account default.list_facilitiesreturns the numeric and 48-character hex facility ids the other actions accept.add_insuranceattaches a policy fromcompany_name,id_numberandinsurance_type, withcategorydefaulting to PRIMARY andrelationshipdefaulting to Self (subscriber demographics auto-filled; otherwise pass asubscriberobject). Setrelease_medical_infoand it requiressignature_on_file_date. Medicare Secondary Payer codes go inmedicare_policy_type_code.upload_patient_document_v2withplacementofinsurance_card_frontorinsurance_card_backfiles the card against the primary policy (or a givenpolicy_id).
Flag what the provider must see
create_chart_alertshowsalert_details(200 characters max) when the chart opens, optionally saving it to the master list;clear_chart_alertremoves one alert by exactalert_textor all of them when omitted.create_quick_noteadds up to 1000 characters of plain text to the chart; longer notes are rejected rather than truncated.
Read the schedule and the encounters
list_appointmentsreturns adate_fromwindow (default 14 days) for afacility_id;list_patient_appointmentsreads one patient.list_recent_encounterspages signed (or anotherstatusbucket) encounters fromdate_from, 25 per page;list_patient_encounterslists one patient's with acriteriafilter.get_encounter_noteandget_encounter_questionnairesread the content, andexport_encounter_pdfrenders anencounter_idfor the billing hand-off.
File documents
upload_patient_documentfiles afile_base64under a configureddocument_type(defaultCorrespondence) with adocument_date(default today) and afile_nameup to 199 characters; the v2 action inferscontent_typeand files underOtherswhen noplacementis given.
Who uses this
AI scribe teams that write to Charm charts export the signed encounter with export_encounter_pdf, file their own summary with upload_patient_document, and leave a create_quick_note when something needs a human. Intake and eligibility tools run create_patient, add_insurance and both card uploads in one flow so the front desk never retypes a card. RCM companies pull list_recent_encounters per facility each night to reconcile what was signed against what was billed. Practices that run a specialty EHR alongside Charm pair this page with the Modmed, DrChrono and NextGen integrations; the healthcare industry page covers intake, documentation and billing as one workflow.
Setup notes
Integuru authenticates against accounts.charmtracker.com with your Charm user. Patient ids are the internal numeric ids from search_patients, never the MRN. Facility-scoped reads accept the numeric or hex id from list_facilities and default to the account's active facility; add_insurance and export_encounter_pdf accept facility_id for consistency but ignore it because they key on account-global ids. Dates are YYYY-MM-DD, phone numbers are digits only, and document_type must be one of the practice's configured types or the upload is rejected.
Get started
Install the CLI and connect your Charm login:
npm install -g integuru
Or sign in at app.integuru.com, add Charm, and run search_patients from the dashboard. Appointment booking, charge entry, prescriptions and lab orders are built on request through the Managed Service.
Guides in Healthcare
Platform API guides in this vertical
Good to know
Before you start
- Can I use it today?
- Yes. Every action listed above has been verified against live Charm traffic. Install the CLI or sign in at app.integuru.com, connect your Charm account, and start calling the endpoints.
- What if Charm changes or breaks?
- On Production plans the Integuru team is on call around the clock, with auth auto-healing included, so target-platform changes get fixed by Integuru rather than by your engineers.
- What does it cost?
- Start on the Free plan at $0/month with 100 API calls/month. Production starts at $499/month with 24/7 on-call maintenance and auth auto-healing.
FAQ