Healthcare · Beta
Open Dental
API integration
Ship Healthcare features without building the integration. Full Open Dental API access via Proxy and 390+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Open Dental
Common scenarios for SaaS companies building Open Dental integrations for their customers.
Launch a white-label patient scheduling product
Patient engagement platforms can expose real appointment availability from Open Dental and write confirmed bookings back into the practice schedule, without each customer having to configure anything beyond connecting their PMS.
Automate insurance verification and RCM workflows
Revenue cycle SaaS can read insurance plans, subscribers, and benefits, run eligibility checks, and bulk-update verification status in Open Dental so front desk teams stop chasing coverage manually.
Ship AI imaging and clinical intelligence tools
Computer vision and clinical AI vendors can sync radiographs and documents in and out of Open Dental via SFTP, then push findings back as diseases, procedures, or treatment plan line items directly into the patient chart.
Power DSO-wide analytics and payroll
BI and workforce platforms serving multi-location DSOs can pull production, collections, payments, and clock events across every clinic into one warehouse, including raw SQL exports for custom reporting.
Drive patient collections and payment capture
Billing and payments SaaS can read aging balances and patient balances, trigger outbound reminders, and write payments and pay splits back to Open Dental once the patient pays through their checkout.
What You Can Build
Ship these features with Truto + Open Dental
Concrete product features your team can ship faster by leveraging Truto’s Open Dental integration instead of building from scratch.
Two-way appointment sync with native Web Sched
List open appointment slots, create Web Sched or standard appointments, and bulk-update confirmations and breaks to keep your scheduler and Open Dental in lockstep.
ASAP waitlist automation
Monitor the ASAP list, trigger outbound ASAP comms when slots open up, and auto-book responders into the first available opening with a full commlog audit trail.
Automated insurance eligibility engine
Pull insurance plans, subscribers, benefits, and verification records, then bulk-update ins verifies after running checks through your clearinghouse.
AI imaging pipeline with chart write-back
Download images and documents from the A-to-Z folder via SFTP, run inference, and upload annotated files plus structured disease and procedure log entries back into the patient record.
Digital treatment plan presentation
Create treatment plans, attach procedures, and persist saved treatment plans so case acceptance tools can present and record signed plans directly in Open Dental.
DSO analytics with raw SQL extracts
Use query export and short queries to run read-only SQL across production, payments, pay splits, and clock events for multi-location dashboards and provider compensation reporting.
SuperAI
Open Dental AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_open_dental_account_module_agings
Get a patient's family aging balances (0-30, 31-60, 61-90, over 90 days, total, insurance estimate), as shown in the Account Module aging grid. Returns: Bal_0_30, Bal_31_60, Bal_61_90, BalOver90, Total, InsEst, and more. Required: PatNum.
list_all_open_dental_account_module_patient_balances
Get the patient portion for a patient's family, as shown in the Account Module Select Patient grid. Returns: PatNum, Name, Balance. Required: PatNum.
list_all_open_dental_account_module_service_date_views
List every charge and credit on a patient's account (optionally the whole family), as shown in the Service Date View. Returns: ObjectType, PrimaryKey, Type, ServiceDate, TransDate, Patient, and more. Required: PatNum.
list_all_open_dental_adjustments
List Open Dental Adjustments. Filter by AdjType, ProcNum. Returns: AdjNum, AdjDate, AdjAmt, PatNum, AdjType, ProvNum, and more. Required: PatNum.
create_a_open_dental_adjustment
Create an Open Dental Adjustment. Returns: AdjNum, AdjDate, AdjAmt, PatNum, AdjType, ProvNum, and more. Required: PatNum, AdjType, AdjAmt, AdjDate.
update_a_open_dental_adjustment_by_id
Update an Open Dental Adjustment by id. Only the fields you send change. A discount plan adjustment cannot be changed to another AdjType. Returns: AdjNum, AdjDate, AdjAmt, PatNum, AdjType, ProvNum, and more. Required: id.
get_single_open_dental_allergy_by_id
Get a single Open Dental Allergy (patient allergy) by id. Returns: AllergyNum, AllergyDefNum, PatNum, Reaction, StatusIsActive, DateTStamp, and more. Required: id.
list_all_open_dental_allergies
List Open Dental Allergies (patient allergy). Filter by PatNum. Returns: AllergyNum, AllergyDefNum, PatNum, Reaction, StatusIsActive, DateTStamp, and more.
create_a_open_dental_allergy
Create an Open Dental Allergy (patient allergy). Returns: AllergyNum, AllergyDefNum, PatNum, Reaction, StatusIsActive, DateTStamp, and more. Required: PatNum.
update_a_open_dental_allergy_by_id
Update an Open Dental Allergy (patient allergy) by id. Only the fields you send change. Returns: AllergyNum, AllergyDefNum, PatNum, Reaction, StatusIsActive, DateTStamp, and more. Required: id.
delete_a_open_dental_allergy_by_id
Delete an Open Dental Allergy (patient allergy) by id. Returns no content. Required: id.
get_single_open_dental_allergy_def_by_id
Get a single Open Dental AllergyDef (allergy definition) by id. Returns: AllergyDefNum, IsHidden, DateTStamp, SnomedType, MedicationNum, UniiCode. Required: id.
list_all_open_dental_allergy_defs
List Open Dental AllergyDefs (allergy definition). Returns: AllergyDefNum, IsHidden, DateTStamp, SnomedType, MedicationNum, UniiCode.
create_a_open_dental_allergy_def
Create an Open Dental AllergyDef (allergy definition). Returns: AllergyDefNum, IsHidden, DateTStamp, SnomedType, MedicationNum, UniiCode. Required: Description.
update_a_open_dental_allergy_def_by_id
Update an Open Dental AllergyDef (allergy definition) by id. Only the fields you send change. Returns: AllergyDefNum, IsHidden, DateTStamp, SnomedType, MedicationNum, UniiCode. Required: id.
get_single_open_dental_appointment_by_id
Get a single Open Dental Appointment by id. Returns: AptNum, PatNum, AptStatus, Pattern, Confirmed, TimeLocked, and more. Required: id.
list_all_open_dental_appointments
List Open Dental Appointments. Filter by PatNum, AptStatus, Op, date, dateStart, dateEnd, ClinicNum, and more. Returns: AptNum, PatNum, AptStatus, Pattern, Confirmed, TimeLocked, and more.
create_a_open_dental_appointment
Create an Open Dental Appointment. Returns: AptNum, PatNum, AptStatus, Pattern, Confirmed, TimeLocked, and more. Required: PatNum, Op, AptDateTime.
update_a_open_dental_appointment_by_id
Update an Open Dental Appointment by id. Only the fields you send change. It is common to only set one or two fields. Note will overwrite any existing note. Returns: AptNum, PatNum, AptStatus, Pattern, Confirmed, TimeLocked, and more. Required: id.
list_all_open_dental_asap_appointments
List appointments on the ASAP list, meaning Priority is ASAP instead of Normal. Returns: AptNum, PatNum, AptStatus, Pattern, Confirmed, TimeLocked, and more.
list_all_open_dental_appointment_slots
Find open appointment slots from provider and operatory schedules, the way Open Dental's own appointment search does. Pass ProvNum and OpNum for the most useful results. Returns: DateTimeStart, DateTimeEnd, ProvNum, OpNum.
list_all_open_dental_web_sched_appointment_slots
Find open slots using the Web Sched logic for new or existing patients. Rarely used; the office needs a Web Sched eService and Web Sched setup. Returns: DateTimeStart, DateTimeEnd, ProvNum, OpNum.
list_all_open_dental_web_sched_appointments
List appointments and flag those made through Web Sched in eServiceLogType (Recall, NewPat, ExistingPat, ASAP, or None). Rarely used; appointments list is usually enough. Returns: AptNum, PatNum, AptStatus, Pattern, Confirmed, Op, and more.
create_a_open_dental_web_sched_appointment
Create an appointment the way Web Sched does, in a slot found with the web_sched_appointment_slots list method. Rarely used; the office needs Web Sched eServices. Returns: AptNum, PatNum, AptStatus, Pattern, Confirmed, TimeLocked, and more. Required: PatNum, DateTimeStart, DateTimeEnd, ProvNum, OpNum, defNumApptType.
create_a_open_dental_planned_appointment
Create a planned appointment for a patient (shown in the Planned Appts tab of the Chart Module). Attach procedures with AppointmentTypeNum or procNums. Returns: AptNum, PatNum, AptStatus, Pattern, Confirmed, TimeLocked, and more. Required: PatNum.
create_a_open_dental_scheduled_planned_appointment
Schedule a new appointment from an existing planned appointment. The planned appointment is kept. Use appointment_slots list to find a free slot first. Returns: AptNum, PatNum, AptStatus, Pattern, Confirmed, TimeLocked, and more. Required: AptNum, AptDateTime, ProvNum, Op.
open_dental_appointment_breaks_bulk_update
Break a Scheduled appointment, optionally sending it to the Unscheduled list and adding a missed or cancelled procedure. May create a commlog entry. The Open Dental docs list no response body. Required: AptNum, sendToUnscheduledList.
open_dental_appointment_notes_bulk_update
Append a line of text to an appointment's note. The Open Dental docs list no response body. Required: AptNum, Note.
open_dental_appointment_confirmations_bulk_update
Set the Confirmed status of an appointment, using either confirmVal or a defNum, not both. The Open Dental docs list no response body. Required: AptNum.
get_single_open_dental_appointment_type_by_id
Get a single Open Dental AppointmentType by id. Returns: AppointmentTypeNum, AppointmentTypeName, ItemOrder, IsHidden, Pattern, CodeStr, and more. Required: id.
list_all_open_dental_appointment_types
List Open Dental AppointmentTypes. Returns: AppointmentTypeNum, AppointmentTypeName, ItemOrder, IsHidden, Pattern, CodeStr, and more.
create_a_open_dental_appointment_type
Create an Open Dental AppointmentType. Returns: AppointmentTypeNum, AppointmentTypeName, ItemOrder, IsHidden, Pattern, CodeStr, and more. Required: AppointmentTypeName.
update_a_open_dental_appointment_type_by_id
Update an Open Dental AppointmentType by id. Only the fields you send change. Returns: AppointmentTypeNum, AppointmentTypeName, ItemOrder, IsHidden, Pattern, CodeStr, and more. Required: id.
delete_a_open_dental_appointment_type_by_id
Delete an Open Dental AppointmentType by id. Cannot delete appointmenttypes that are in use on appointments or Web Sched New Pat Appt Types definitions. Returns no content. Required: id.
get_single_open_dental_appt_field_def_by_id
Get a single Open Dental ApptFieldDef (custom appointment field definition) by id. Returns: ApptFieldDefNum, FieldName, FieldType, PickList, ItemOrder. Required: id.
list_all_open_dental_appt_field_defs
List Open Dental ApptFieldDefs (custom appointment field definition). Returns: ApptFieldDefNum, FieldName, FieldType, PickList, ItemOrder.
create_a_open_dental_appt_field_def
Create an Open Dental ApptFieldDef (custom appointment field definition). The API supports creating both Text type and PickList type ApptFieldDefs. Duplicate ApptFieldDefs are not allowed. Returns: ApptFieldDefNum, FieldName, FieldType, PickList, ItemOrder. Required: FieldName.
update_a_open_dental_appt_field_def_by_id
Update an Open Dental ApptFieldDef (custom appointment field definition) by id. Only the fields you send change. Returns: ApptFieldDefNum, FieldName, FieldType, PickList, ItemOrder. Required: id.
get_single_open_dental_appt_field_by_id
Get a single Open Dental ApptField (custom appointment field value) by id. Returns: ApptFieldNum, AptNum, FieldName, FieldValue. Required: id.
list_all_open_dental_appt_fields
List Open Dental ApptFields (custom appointment field value). Filter by AptNum, FieldName. Returns: ApptFieldNum, AptNum, FieldName, FieldValue.
create_a_open_dental_appt_field
Create an Open Dental ApptField (custom appointment field value). Returns: ApptFieldNum, AptNum, FieldName, FieldValue. Required: AptNum, FieldName, FieldValue.
open_dental_appt_fields_bulk_update
Update the value of an existing ApptField, found by AptNum and FieldName in the body instead of by id (the form older Open Dental versions use). Returns: ApptFieldNum, AptNum, FieldName, FieldValue. Required: FieldValue.
update_a_open_dental_appt_field_by_id
Update the value of an existing ApptField (a custom appointment field) by its ApptFieldNum in the URL. Returns: ApptFieldNum, AptNum, FieldName, FieldValue. Required: id, FieldValue.
delete_a_open_dental_appt_field_by_id
Delete an Open Dental ApptField (custom appointment field value) by id. Returns no content. Required: id.
get_single_open_dental_asap_comm_by_id
Get a single Open Dental AsapComm (ASAP text message record) by id. Returns: AsapCommNum, FKey, FKeyType, ScheduleNum, PatNum, ClinicNum, and more. Required: id.
list_all_open_dental_asap_comms
List Open Dental AsapComms (ASAP text message record). Filter by ClinicNum, date, dateStart, dateEnd. Returns: AsapCommNum, FKey, FKeyType, ScheduleNum, PatNum, ClinicNum, and more.
create_a_open_dental_asap_comm
Create an Open Dental AsapComm (ASAP text message record). Rarely used. Dental office must be subscribed to the following eServices: WebSched ASAP and Integrated Texting Feature. Returns: AsapCommNum, FKey, FKeyType, ScheduleNum, PatNum, ClinicNum, and more. Required: op, dateTimeStart.
list_all_open_dental_auto_note_controls
List Open Dental AutoNoteControls (prompt fields inside an auto note). Returns: AutoNoteControlNum, Descript, ControlType, ControlLabel, ControlOptions.
create_a_open_dental_auto_note_control
Create an Open Dental AutoNoteControl (prompt fields inside an auto note). Returns: AutoNoteControlNum, Descript, ControlType, ControlLabel, ControlOptions. Required: Descript, ControlType, ControlLabel.
update_a_open_dental_auto_note_control_by_id
Update an Open Dental AutoNoteControl (prompt fields inside an auto note) by id. Only the fields you send change. The Open Dental docs list no response body. Required: id.
list_all_open_dental_auto_notes
List Open Dental AutoNotes (reusable note template). Filter by Category. Returns: AutoNoteNum, AutoNoteName, MainText, Category.
create_a_open_dental_auto_note
Create an Open Dental AutoNote (reusable note template). For information on how Auto Notes are categorized, see Definitions: Auto Note Categories. Returns: AutoNoteNum, AutoNoteName, MainText, Category. Required: AutoNoteName, MainText.
update_a_open_dental_auto_note_by_id
Update an Open Dental AutoNote (reusable note template) by id. Only the fields you send change. For information on how Auto Notes are categorized, see Definitions: Auto Note Categories. Returns: AutoNoteNum, AutoNoteName, MainText, Category. Required: id.
get_single_open_dental_benefit_by_id
Get a single Open Dental Benefit (insurance plan benefit line) by id. Returns: BenefitNum, PlanNum, PatPlanNum, CovCatNum, BenefitType, Percent, and more. Required: id.
list_all_open_dental_benefits
List Open Dental Benefits (insurance plan benefit line). Filter by PlanNum, PatPlanNum, CovCatNum, CodeNum, CodeGroupNum. Empty Percent and MonetaryAmt values are indicated by -1. Returns: BenefitNum, PlanNum, PatPlanNum, CovCatNum, BenefitType, Percent, and more.
create_a_open_dental_benefit
Create an Open Dental Benefit (insurance plan benefit line). Returns: BenefitNum, PlanNum, PatPlanNum, CovCatNum, BenefitType, Percent, and more. Required: BenefitType, CoverageLevel.
update_a_open_dental_benefit_by_id
Update an Open Dental Benefit (insurance plan benefit line) by id. Only the fields you send change. Returns: BenefitNum, PlanNum, PatPlanNum, CovCatNum, BenefitType, Percent, and more. Required: id.
delete_a_open_dental_benefit_by_id
Delete an Open Dental Benefit (insurance plan benefit line) by id. Returns no content. Required: id.
get_single_open_dental_carrier_by_id
Get a single Open Dental Carrier (insurance carrier) by id. Returns: CarrierNum, CarrierName, Address, Address2, City, State, and more. Required: id.
list_all_open_dental_carriers
List Open Dental Carriers (insurance carrier). Returns: CarrierNum, CarrierName, Address, Address2, City, State, and more.
create_a_open_dental_carrier
Create an Open Dental Carrier (insurance carrier). Returns: CarrierNum, CarrierName, Address, Address2, City, State, and more. Required: CarrierName.
update_a_open_dental_carrier_by_id
Update an Open Dental Carrier (insurance carrier) by id. Only the fields you send change. The Open Dental docs list no response body. Required: id.
list_all_open_dental_chart_module_prog_notes
Get a patient's progress notes as shown in the Chart Module (procedures, appointments, commlogs, tasks, and more). Returns: ObjectType, PrimaryKey, Date, Time, DateTime, Th, and more. Required: PatNum.
list_all_open_dental_chart_module_patient_infos
Get patient info as shown in the Chart Module (age, premedication, problems, medications, allergies). Returns: Field, Content. Required: PatNum.
list_all_open_dental_chart_module_planned_appts
Get a patient's planned appointments as shown in the Planned Appointments tab of the Chart Module. Returns: AptNum, ProvNum, ItemOrder, ProcDescript, Note, AptStatus. Required: PatNum.
get_single_open_dental_claim_form_by_id
Get a single Open Dental ClaimForm (claim form layout) by id. Returns: ClaimFormNum, Description, IsHidden. Required: id.
list_all_open_dental_claim_forms
List Open Dental ClaimForms (claim form layout). Returns: ClaimFormNum, Description, IsHidden.
get_single_open_dental_claim_payment_by_id
Get a single Open Dental ClaimPayment (insurance check or EOB payment) by id. Returns: ClaimPaymentNum, CheckDate, CheckAmt, CheckNum, BankBranch, Note, and more. Required: id.
list_all_open_dental_claim_payments
List Open Dental ClaimPayments (insurance check or EOB payment). Filter by SecDateTEdit. Returns: ClaimPaymentNum, CheckDate, CheckAmt, CheckNum, BankBranch, Note, and more.
create_a_open_dental_claim_payment
Create an Open Dental ClaimPayment (insurance check or EOB payment). Finalize a claimpayment for a single Claim. Cannot use this method if the dental office has the preference ClaimPaymentBatchOnly set to true. Returns: ClaimPaymentNum, CheckDate, CheckAmt, CheckNum, BankBranch, Note, and more. Required: claimNum, CheckAmt.
update_a_open_dental_claim_payment_by_id
Update an Open Dental ClaimPayment (insurance check or EOB payment) by id. Only the fields you send change. Returns: ClaimPaymentNum, CheckDate, CheckAmt, CheckNum, BankBranch, Note, and more. Required: id.
delete_a_open_dental_claim_payment_by_id
Delete an Open Dental ClaimPayment (insurance check or EOB payment) by id. Cannot delete a claimpayment if it is associated with an EOB or a deposit. Returns no content. Required: id.
create_a_open_dental_claim_payment_batch
Create one claim payment that covers several claims (a batch insurance payment). Claim procedures must already be Received or Supplemental with a final InsPayAmt. Returns: ClaimPaymentNum, CheckDate, CheckAmt, CheckNum, BankBranch, Note, and more. Required: claimNums, CheckAmt.
get_single_open_dental_claim_proc_by_id
Get a single Open Dental ClaimProc (per-procedure insurance claim line) by id. Returns: ClaimProcNum, ProcNum, ClaimNum, PatNum, ProvNum, FeeBilled, and more. Required: id.
list_all_open_dental_claim_procs
List Open Dental ClaimProcs (per-procedure insurance claim line). Filter by ProcNum, ClaimNum, PatNum, Status, ClaimPaymentNum. Returns: ClaimProcNum, ProcNum, ClaimNum, PatNum, ProvNum, FeeBilled, and more.
update_a_open_dental_claim_proc_by_id
Update an Open Dental ClaimProc (per-procedure insurance claim line) by id. Only the fields you send change. ClaimProcs are complex. They are used to link procedures to claims, insurance payments to procedures or claims, and insurance estimates to procedures without a claim. Returns: ClaimProcNum, ProcNum, ClaimNum, PatNum, ProvNum, FeeBilled, and more. Required: id.
delete_a_open_dental_claim_proc_by_id
Delete an Open Dental ClaimProc (per-procedure insurance claim line) by id. Cannot delete claimprocs that are attached to ClaimPayments or OrthoCases, or have any associated Supplemental ClaimProcs. Cannot delete the last ClaimProc from a claim. Returns no content. Required: id.
open_dental_claim_proc_ins_adjusts_bulk_update
Add or change the claim procedure that acts as an insurance adjustment. Pass the total insurance and deductible used; claim procedures may be added or deleted to match. The Open Dental docs list no response body. Required: PatPlanNum.
create_a_open_dental_claim_proc_ins_adjust
Create a claim procedure that acts as an insurance benefit adjustment (insurance used or deductible used) for a patient plan. Returns: ClaimProcNum, ProcNum, ClaimNum, PatNum, ProvNum, FeeBilled, and more. Required: PatPlanNum.
open_dental_claim_proc_pending_supplementals_bulk_update
Update a pending supplemental claim procedure. Returns: ClaimProcNum, ProcNum, ClaimNum, PatNum, ProvNum, FeeBilled, and more. Required: ClaimProcNum.
create_a_open_dental_claim_proc_pending_supplemental
Create a claim procedure for a pending insurance overpayment or underpayment. Returns: ClaimProcNum, ProcNum, ClaimNum, PatNum, ProvNum, FeeBilled, and more. Required: ClaimProcNum.
create_a_open_dental_claim_proc_supplemental
Create a claim procedure with Status Supplemental, for a supplemental insurance payment. Returns: ClaimProcNum, ProcNum, ClaimNum, PatNum, ProvNum, FeeBilled, and more. Required: ClaimProcNum.
get_single_open_dental_claim_by_id
Get a single Open Dental Claim (insurance claim) by id. Returns: ClaimNum, PatNum, DateService, DateSent, ClaimStatus, DateReceived, and more. Required: id.
list_all_open_dental_claims
List Open Dental Claims (insurance claim). Filter by PatNum, ClaimStatus, ClaimType, PlanNum, PlanNum2, ClaimIdentifier, SecDateTEdit. Returns: ClaimNum, PatNum, DateService, DateSent, ClaimStatus, DateReceived, and more.
create_a_open_dental_claim
Create an Open Dental Claim (insurance claim). The insurance plan specified must be associated with the patient. Creating a primary or secondary claim will use the patient's primary or secondary insurance respectively. Returns: ClaimNum, PatNum, DateService, DateSent, ClaimStatus, DateReceived, and more. Required: PatNum, procNums, ClaimType.
update_a_open_dental_claim_by_id
Update an Open Dental Claim (insurance claim) by id. Only the fields you send change. Returns: ClaimNum, PatNum, DateService, DateSent, ClaimStatus, DateReceived, and more. Required: id.
delete_a_open_dental_claim_by_id
Delete an Open Dental Claim (insurance claim) by id. Will not delete claims with insurance payments/checks attached or have a status of Received. If the claim is attached to at least one ERA it will unassociate from the ERA(s) before deleting. Returns no content. Required: id.
open_dental_claim_statuses_bulk_update
Set a claim to Sent and create an Etrans entry. Rarely used; claims update is usually enough. Returns: ClaimNum, PatNum, DateService, DateSent, ClaimStatus, DateReceived, and more. Required: ClaimNum, DateSent.
open_dental_claim_splits_bulk_update
Split a claim by moving the listed procedures from it to a newly created claim. Returns: ClaimNum, ProcNums. Required: ClaimNum, ProcNums.
list_all_open_dental_claim_trackings
List Open Dental ClaimTrackings (claim tracking note). Filter by ClaimNum. Returns: ClaimTrackingNum, ClaimNum, TrackingType, UserNum, DateTimeEntry, Note, and more.
create_a_open_dental_claim_tracking
Create an Open Dental ClaimTracking (claim tracking note). Requires one-time setup by the Dental Office, see Edit Claim - Status History Tab. Returns: ClaimTrackingNum, ClaimNum, TrackingType, UserNum, DateTimeEntry, Note, and more. Required: ClaimNum, TrackingDefNum.
update_a_open_dental_claim_tracking_by_id
Update an Open Dental ClaimTracking (claim tracking note) by id. Only the fields you send change. Returns: ClaimTrackingNum, ClaimNum, TrackingType, UserNum, DateTimeEntry, Note, and more. Required: id.
list_all_open_dental_clinics
List Open Dental Clinics (clinic or office location). An empty list indicates the dental office does not utilize the Clinics feature. Returns: ClinicNum, Description, Address, Address2, City, State, and more.
update_a_open_dental_clinic_by_id
Update an Open Dental Clinic (clinic or office location) by id. Only the fields you send change. The Open Dental docs list no response body. Required: id.
get_single_open_dental_clock_event_by_id
Get a single Open Dental ClockEvent (employee clock in or out record) by id. Returns: ClockEventNum, EmployeeNum, TimeEntered1, TimeDisplayed1, ClockStatus, Note, and more. Required: id.
list_all_open_dental_clock_events
List Open Dental ClockEvents (employee clock in or out record). Filter by EmployeeNum, ClockStatus, ClinicNum, date, dateStart, dateEnd. Returns: ClockEventNum, EmployeeNum, TimeEntered1, TimeDisplayed1, ClockStatus, Note, and more.
get_single_open_dental_code_group_by_id
Get a single Open Dental CodeGroup (procedure code group) by id. Returns: CodeGroupNum, GroupName, ProcCodes, ItemOrder, CodeGroupFixed, IsHidden, and more. Required: id.
list_all_open_dental_code_groups
List Open Dental CodeGroups (procedure code group). Filter by IsHidden, ShowInAgeLimit, ShowInFrequency, ShowInOther, ShowInHistory. Returns: CodeGroupNum, GroupName, ProcCodes, ItemOrder, CodeGroupFixed, IsHidden, and more.
create_a_open_dental_code_group
Create an Open Dental CodeGroup (procedure code group). Returns: CodeGroupNum, GroupName, ProcCodes, ItemOrder, CodeGroupFixed, IsHidden, and more. Required: GroupName.
update_a_open_dental_code_group_by_id
Update an Open Dental CodeGroup (procedure code group) by id. Only the fields you send change. Returns: CodeGroupNum, GroupName, ProcCodes, ItemOrder, CodeGroupFixed, IsHidden, and more. Required: id.
delete_a_open_dental_code_group_by_id
Delete an Open Dental CodeGroup (procedure code group) by id. Codegroups cannot be deleted if they are attached to a benefit. Returns no content. Required: id.
get_single_open_dental_commlog_by_id
Get a single Open Dental Commlog (patient communication log entry) by id. Returns: CommlogNum, PatNum, CommDateTime, CommType, Note, Mode_, and more. Required: id.
list_all_open_dental_commlogs
List Open Dental Commlogs (patient communication log entry). Filter by PatNum, DateTStamp. Returns: CommlogNum, PatNum, CommDateTime, CommType, Note, Mode_, and more.
create_a_open_dental_commlog
Create an Open Dental Commlog (patient communication log entry). Returns: CommlogNum, PatNum, CommDateTime, CommType, Note, Mode_, and more. Required: PatNum, Note.
update_a_open_dental_commlog_by_id
Update an Open Dental Commlog (patient communication log entry) by id. Only the fields you send change. Returns: CommlogNum, PatNum, CommDateTime, CommType, Note, Mode_, and more. Required: id.
list_all_open_dental_computers
List Open Dental Computers (registered workstation). LastHeartBeat indicates which computers are actively running. Returns: ComputerNum, CompName, LastHeartBeat.
get_single_open_dental_cov_cat_by_id
Get a single Open Dental CovCat (insurance coverage category) by id. Returns: CovCatNum, Description, DefaultPercent, CovOrder, IsHidden, EbenefitCat. Required: id.
list_all_open_dental_cov_cats
List Open Dental CovCats (insurance coverage category). Returns: CovCatNum, Description, DefaultPercent, CovOrder, IsHidden, EbenefitCat.
create_a_open_dental_cov_cat
Create an Open Dental CovCat (insurance coverage category). Do not alter Insurance Categories without a full understanding of what this does as insurance categories are global and changes may affect all plans. Returns: CovCatNum, Description, DefaultPercent, CovOrder, IsHidden, EbenefitCat. Required: Description.
update_a_open_dental_cov_cat_by_id
Update an Open Dental CovCat (insurance coverage category) by id. Only the fields you send change. This does affect all benefits that are currently tied to this CovCat. CovOrder is important as multiple benefits can apply to a single procedure code. Returns: CovCatNum, Description, DefaultPercent, CovOrder, IsHidden, EbenefitCat. Required: id.
get_single_open_dental_cov_span_by_id
Get a single Open Dental CovSpan (procedure code range within a coverage category) by id. Returns: CovSpanNum, CovCatNum, FromCode, ToCode. Required: id.
list_all_open_dental_cov_spans
List Open Dental CovSpans (procedure code range within a coverage category). Filter by CovCatNum. Returns: CovSpanNum, CovCatNum, FromCode, ToCode.
create_a_open_dental_cov_span
Create an Open Dental CovSpan (procedure code range within a coverage category). Returns: CovSpanNum, CovCatNum, FromCode, ToCode. Required: CovCatNum, FromCode, ToCode.
update_a_open_dental_cov_span_by_id
Update an Open Dental CovSpan (procedure code range within a coverage category) by id. Only the fields you send change. Returns: CovSpanNum, CovCatNum, FromCode, ToCode. Required: id.
delete_a_open_dental_cov_span_by_id
Delete an Open Dental CovSpan (procedure code range within a coverage category) by id. Returns no content. Required: id.
get_single_open_dental_definition_by_id
Get a single Open Dental Definition (office-defined list item, such as a billing type or confirmation status) by id. Returns: DefNum, Category, ItemOrder, ItemName, ItemValue, ItemColor, and more. Required: id.
list_all_open_dental_definitions
List Open Dental Definitions (office-defined list item, such as a billing type or confirmation status). Filter by Category, category, includeHidden. Returns: DefNum, Category, ItemOrder, ItemName, ItemValue, ItemColor, and more.
create_a_open_dental_definition
Create an Open Dental Definition (office-defined list item, such as a billing type or confirmation status). Creates a new definition, attempts to set the Category (definition.Category) will be silently ignored. Returns: DefNum, Category, ItemOrder, ItemName, ItemValue, ItemColor, and more. Required: category, ItemName.
update_a_open_dental_definition_by_id
Update an Open Dental Definition (office-defined list item, such as a billing type or confirmation status) by id. Only the fields you send change. Returns: DefNum, Category, ItemOrder, ItemName, ItemValue, ItemColor, and more. Required: id.
list_all_open_dental_definition_category_options
Get what each definition category supports (which fields can be set on definitions create and update). Static for an Open Dental version, so cache it. Returns: Category, CanEditName, EnableValue, EnableColor, CanHide, IsValueDefNum, and more.
get_single_open_dental_deposit_by_id
Get a single Open Dental Deposit (bank deposit) by id. Returns: DepositNum, DateDeposit, BankAccountInfo, Amount, Memo, Batch, and more. Required: id.
list_all_open_dental_deposits
List Open Dental Deposits (bank deposit). Filter by DateDeposit. Returns: DepositNum, DateDeposit, BankAccountInfo, Amount, Memo, Batch, and more.
create_a_open_dental_deposit
Create an Open Dental Deposit (bank deposit). Returns: DepositNum, DateDeposit, BankAccountInfo, Amount, Memo, Batch, and more.
update_a_open_dental_deposit_by_id
Update an Open Dental Deposit (bank deposit) by id. Only the fields you send change. Returns: DepositNum, DateDeposit, BankAccountInfo, Amount, Memo, Batch, and more. Required: id.
delete_a_open_dental_deposit_by_id
Delete an Open Dental Deposit (bank deposit) by id. Cannot delete deposits that are attached to transactions older than 2 days, or transactions that are reconciled. Returns no content. Required: id.
get_single_open_dental_discount_plan_by_id
Get a single Open Dental DiscountPlan by id. Returns: DiscountPlanNum, Description, FeeSchedNum, DefNum, IsHidden, PlanNote, and more. Required: id.
list_all_open_dental_discount_plans
List Open Dental DiscountPlans. Returns: DiscountPlanNum, Description, FeeSchedNum, DefNum, IsHidden, PlanNote, and more.
create_a_open_dental_discount_plan
Create an Open Dental DiscountPlan. Frequencies that do not have a limitation display as blank in Open Dental and are stored as -1 in the database. Returns: DiscountPlanNum, Description, FeeSchedNum, DefNum, IsHidden, PlanNote, and more. Required: Description, FeeSchedNum, DefNum.
update_a_open_dental_discount_plan_by_id
Update an Open Dental DiscountPlan by id. Only the fields you send change. Updating Description and/or PlanNote will overwrite existing values. Frequencies that do not have a limitation display as blank in Open Dental and are stored as -1 in the database. Returns: DiscountPlanNum, Description, FeeSchedNum, DefNum, IsHidden, PlanNote, and more. Required: id.
list_all_open_dental_discount_plan_subs
List Open Dental DiscountPlanSubs (patient discount plan enrollment). Gets a DiscountPlanSub from a patient that is subscribed to a Discount Plan. Returns: DiscountSubNum, DiscountPlanNum, PatNum, DateEffective, DateTerm, SubNote. Required: PatNum.
create_a_open_dental_discount_plan_sub
Create an Open Dental DiscountPlanSub (patient discount plan enrollment). Subscribes a patient to an existing DiscountPlan. The Open Dental docs list no response body. Required: DiscountPlanNum, PatNum.
update_a_open_dental_discount_plan_sub_by_id
Update an Open Dental DiscountPlanSub (patient discount plan enrollment) by id. Only the fields you send change. Updating SubNote will overwrite the existing subscriber note. The Open Dental docs list no response body. Required: id, PatNum.
delete_a_open_dental_discount_plan_sub_by_id
Delete an Open Dental DiscountPlanSub (patient discount plan enrollment) by id. Returns no content. Required: id.
get_single_open_dental_disease_def_by_id
Get a single Open Dental DiseaseDef (problem definition) by id. Returns: DiseaseDefNum, DiseaseName, IsHidden, DateTStamp, ICD9Code, ICD10Code, and more. Required: id.
list_all_open_dental_disease_defs
List Open Dental DiseaseDefs (problem definition). Returns: DiseaseDefNum, DiseaseName, IsHidden, DateTStamp, ICD9Code, ICD10Code, and more.
create_a_open_dental_disease_def
Create an Open Dental DiseaseDef (problem definition). The Open Dental docs list no response body. Required: DiseaseName.
get_single_open_dental_disease_by_id
Get a single Open Dental Disease (patient problem) by id. Returns: DiseaseNum, PatNum, DiseaseDefNum, PatNote, ProbStatus, DateStart, and more. Required: id.
list_all_open_dental_diseases
List Open Dental Diseases (patient problem). Filter by PatNum. Returns: DiseaseNum, PatNum, DiseaseDefNum, PatNote, ProbStatus, DateStart, and more.
create_a_open_dental_disease
Create an Open Dental Disease (patient problem). Attaches a diseaseDef (Problem) to a patient. Returns: DiseaseNum, PatNum, DiseaseDefNum, PatNote, ProbStatus, DateStart, and more. Required: PatNum.
update_a_open_dental_disease_by_id
Update an Open Dental Disease (patient problem) by id. Only the fields you send change. Returns: DiseaseNum, PatNum, DiseaseDefNum, PatNote, ProbStatus, DateStart, and more. Required: id.
delete_a_open_dental_disease_by_id
Delete an Open Dental Disease (patient problem) by id. Returns no content. Required: id.
get_single_open_dental_document_by_id
Get a single Open Dental Document by id. The result does not include the actual document file. Returns: DocNum, Description, DateCreated, DocCategory, PatNum, FileName, and more. Required: id.
list_all_open_dental_documents
List Open Dental Documents. PatNum is required. If the file storage method is InDatabase, the returned filePath field will be blank. Returns: DocNum, MountNum, Description, PatNum, Note, DateCreated, and more. Required: PatNum.
update_a_open_dental_document_by_id
Update an Open Dental Document by id. Only the fields you send change. Returns: DocNum, Description, DateCreated, DocCategory, PatNum, FileName, and more. Required: id.
delete_a_open_dental_document_by_id
Delete an Open Dental Document by id. Deletes both the database row and any associated file from the A to Z folder. Returns no content. Required: id.
create_a_open_dental_document_sftp_download
Place a document's file on an SFTP site you control, so you can download it from there. Existing files with the same name are overwritten. The Open Dental docs list no response body. Required: SftpAddress, SftpUsername, SftpPassword.
create_a_open_dental_document_sftp_upload
Create a document by pulling a file you already uploaded to your own SFTP site into the patient's images (AtoZ folder, database, or cloud). Returns: DocNum, Description, ToothNumbers, Note, DateCreated, DateTStamp, and more. Required: PatNum, SftpAddress, SftpUsername, SftpPassword.
create_a_open_dental_document_upload
Create a document from a base64 file you send, for a patient. The file is stored in document.Note until the customer first opens it. Returns: DocNum, Description, DateCreated, DocCategory, PatNum, FileName, and more. Required: PatNum, rawBase64, extension.
create_a_open_dental_document_thumbnail
Create thumbnails (100 x 100) for all of a patient's image documents and place them on an SFTP site you control. Mounts and PDFs are skipped. Returns: DocNum, FileName. Required: PatNum, SftpAddress, SftpUsername, SftpPassword.
create_a_open_dental_document_mount_download
Place the individual images of one mount on an SFTP site you control. Rarely needed; document_sftp_downloads returns the composite mount image. Returns: DocNum, FileName. Required: MountNum, SftpAddress, SftpUsername, SftpPassword.
create_a_open_dental_document_url_upload
Create a document that points at a URL. The URL is stored in document.Note and downloaded when the customer first opens it. Returns: DocNum, Description, DateCreated, DocCategory, PatNum, FileName, and more. Required: PatNum, url.
get_single_open_dental_ehr_patient_by_id
Get a single Open Dental EhrPatient (EHR patient extension record) by id. Returns: PatNum, MotherMaidenFname, MotherMaidenLname, VacShareOk, MedicaidState, SexualOrientation, and more. Required: id.
update_a_open_dental_ehr_patient_by_id
Update an Open Dental EhrPatient (EHR patient extension record) by id. Only the fields you send change. Returns: PatNum, MotherMaidenFname, MotherMaidenLname, VacShareOk, MedicaidState, SexualOrientation, and more. Required: id.
get_single_open_dental_employee_by_id
Get a single Open Dental Employee (staff member, not a login user) by id. Returns: EmployeeNum, LName, FName, MiddleI, IsHidden, ClockStatus, and more. Required: id.
list_all_open_dental_employees
List Open Dental Employees (staff member, not a login user). Filter by ReportsTo. Returns: EmployeeNum, LName, FName, MiddleI, IsHidden, ClockStatus, and more.
create_a_open_dental_employee
Create an Open Dental Employee (staff member, not a login user). Returns: EmployeeNum, LName, FName, MiddleI, IsHidden, ClockStatus, and more.
update_a_open_dental_employee_by_id
Update an Open Dental Employee (staff member, not a login user) by id. Only the fields you send change. Cannot update it in a way that would cause LName and FName to both end up blank. Returns: EmployeeNum, LName, FName, MiddleI, IsHidden, ClockStatus, and more. Required: id.
get_single_open_dental_employer_by_id
Get a single Open Dental Employer (patient employer) by id. Returns: EmployerNum, EmpName, Address, Address2, City, State, and more. Required: id.
list_all_open_dental_employers
List Open Dental Employers (patient employer). Returns: EmployerNum, EmpName, Address, Address2, City, State, and more.
create_a_open_dental_employer
Create an Open Dental Employer (patient employer). Returns: EmployerNum, EmpName, Address, Address2, City, State, and more. Required: EmpName.
update_a_open_dental_employer_by_id
Update an Open Dental Employer (patient employer) by id. Only the fields you send change. Returns: EmployerNum, EmpName, Address, Address2, City, State, and more. Required: id, EmpName.
delete_a_open_dental_employer_by_id
Delete an Open Dental Employer (patient employer) by id. Employers associated with a patient or an insurance plan cannot be deleted. Returns no content. Required: id.
list_all_open_dental_eob_attaches
List Open Dental EobAttaches (EOB image attached to a claim payment). Returns: EobAttachNum, ClaimPaymentNum, DateTCreated, FileName, RawBase64. Required: ClaimPaymentNum.
delete_a_open_dental_eob_attach_by_id
Delete an Open Dental EobAttach (EOB image attached to a claim payment) by id. Deletes both the database row and any associated file from the A to Z folder. Returns no content. Required: id.
create_a_open_dental_eob_attach_sftp_download
Place an EOB attachment image on an SFTP site you control, so you can download it from there. Existing files with the same name are overwritten. The Open Dental docs list no response body. Required: EobAttachNum, SftpAddress, SftpUsername, SftpPassword.
create_a_open_dental_eob_attach_sftp_upload
Attach an EOB image to a claim payment by pulling a file you already uploaded to your own SFTP site. Returns: EobAttachNum, ClaimPaymentNum, DateTCreated, FileName, RawBase64. Required: ClaimPaymentNum, SftpAddress, SftpUsername, SftpPassword.
get_single_open_dental_etrans_message_text_by_id
Get a single Open Dental EtransMessageText (electronic transaction message text) by id. For more information, see Etrans Edit. Returns: EtransMessageTextNum, MessageText. Required: id.
list_all_open_dental_etranss
List Open Dental Etranss (electronic transaction record, such as a claim or eligibility check). Filter by CarrierNum, ClaimNum. Returns: EtransNum, DateTimeTrans, ClearingHouseNum, Etype, ClaimNum, OfficeSequenceNumber, and more. Required: PatNum.
list_all_open_dental_family_module_insurances
Get a patient's insurance as shown in the Family Module. Returns 0 to 2 rows, one per coverage. Returns: PatNum, InsSubNum, Subscriber, SubscriberID, SubscNote, PatPlanNum, and more. Required: PatNum.
get_single_open_dental_fee_by_id
Get a single Open Dental Fee (procedure fee) by id. Returns: FeeNum, Amount, FeeSched, CodeNum, ClinicNum, ProvNum, and more. Required: id.
list_all_open_dental_fees
List Open Dental Fees (procedure fee). Filter by FeeSched, CodeNum, ClinicNum, ProvNum. Any fees with ClinicNum and/or ProvNum greater than zero are associated with a non-global FeeSched. Returns: FeeNum, Amount, FeeSched, CodeNum, ClinicNum, ProvNum, and more.
create_a_open_dental_fee
Create an Open Dental Fee (procedure fee). Fees are complex. If the FeeSched is non-global, you can specify a ClinicNum and/or a ProvNum. Returns: FeeNum, Amount, FeeSched, CodeNum, ClinicNum, ProvNum, and more. Required: Amount, FeeSched, CodeNum.
update_a_open_dental_fee_by_id
Update an Open Dental Fee (procedure fee) by id. Only the fields you send change. Returns: FeeNum, Amount, FeeSched, CodeNum, ClinicNum, ProvNum, and more. Required: id, Amount.
delete_a_open_dental_fee_by_id
Delete an Open Dental Fee (procedure fee) by id. Returns no content. Required: id.
list_all_open_dental_fee_scheds
List Open Dental FeeScheds (fee schedule). Returns: FeeSchedNum, Description, FeeSchedType, ItemOrder, IsHidden, IsGlobal, and more.
create_a_open_dental_fee_sched
Create an Open Dental FeeSched (fee schedule). Global fee schedules only allow a single (global) fee per procedure. When using a non-global fee schedule, fees can be overridden for clinics or providers. Returns: FeeSchedNum, Description, FeeSchedType, ItemOrder, IsHidden, IsGlobal, and more. Required: Description, FeeSchedType.
update_a_open_dental_fee_sched_by_id
Update an Open Dental FeeSched (fee schedule) by id. Only the fields you send change. Returns: FeeSchedNum, Description, FeeSchedType, ItemOrder, IsHidden, IsGlobal, and more. Required: id.
get_single_open_dental_guardian_by_id
Get a single Open Dental Guardian (guardian link between two patients) by id. Returns: GuardianNum, PatNumChild, PatNumGuardian, Relationship, IsGuardian. Required: id.
list_all_open_dental_guardians
List Open Dental Guardians (guardian link between two patients). Filter by PatNumChild, PatNumGuardian. Returns: GuardianNum, PatNumChild, PatNumGuardian, Relationship, IsGuardian.
create_a_open_dental_guardian
Create an Open Dental Guardian (guardian link between two patients). Returns: GuardianNum, PatNumChild, PatNumGuardian, Relationship, IsGuardian. Required: PatNumChild, PatNumGuardian, Relationship.
update_a_open_dental_guardian_by_id
Update an Open Dental Guardian (guardian link between two patients) by id. Only the fields you send change. Returns: GuardianNum, PatNumChild, PatNumGuardian, Relationship, IsGuardian. Required: id.
delete_a_open_dental_guardian_by_id
Delete an Open Dental Guardian (guardian link between two patients) by id. Returns no content. Required: id.
list_all_open_dental_hist_appointments
List Open Dental HistAppointments (appointment history entry). Filter by HistApptAction, AptNum, PatNum, AptStatus, ClinicNum, date, dateStart, and more. A HistAppointment is a historical copy of an appointment. A new HistAppointment entry is created anytime an appointment is created, changed, missed, cancelled, or deleted. Returns: HistApptNum, HistUserNum, HistDateTStamp, HistApptAction, ApptSource, AptNum, and more.
get_single_open_dental_ins_plan_by_id
Get a single Open Dental InsPlan (insurance plan) by id. Returns: PlanNum, GroupName, GroupNum, PlanNote, FeeSched, PlanType, and more. Required: id.
list_all_open_dental_ins_plans
List Open Dental InsPlans (insurance plan). Filter by PlanType, CarrierNum. Returns: PlanNum, GroupName, GroupNum, PlanNote, FeeSched, PlanType, and more.
create_a_open_dental_ins_plan
Create an Open Dental InsPlan (insurance plan). Returns: PlanNum, GroupName, GroupNum, PlanNote, FeeSched, PlanType, and more. Required: CarrierNum.
update_a_open_dental_ins_plan_by_id
Update an Open Dental InsPlan (insurance plan) by id. Only the fields you send change. Returns: PlanNum, GroupName, GroupNum, PlanNote, FeeSched, PlanType, and more. Required: id.
get_single_open_dental_ins_sub_by_id
Get a single Open Dental InsSub (insurance subscriber, a patient covered under a plan) by id. Returns: InsSubNum, PlanNum, Subscriber, DateEffective, DateTerm, SubscriberID, and more. Required: id.
list_all_open_dental_ins_subs
List Open Dental InsSubs (insurance subscriber, a patient covered under a plan). Filter by PlanNum, Subscriber, SecDateTEdit. If no parameter is given, it will get all InsSubs ordered by InsSubNum. Returns: InsSubNum, PlanNum, Subscriber, DateEffective, DateTerm, SubscriberID, and more.
create_a_open_dental_ins_sub
Create an Open Dental InsSub (insurance subscriber, a patient covered under a plan). This does not create a new insurance plan or change benefits. Returns: InsSubNum, PlanNum, Subscriber, DateEffective, DateTerm, SubscriberID, and more. Required: PlanNum, Subscriber, SubscriberID.
update_a_open_dental_ins_sub_by_id
Update an Open Dental InsSub (insurance subscriber, a patient covered under a plan) by id. Only the fields you send change. This can be used to assign a different PlanNum or Subscriber to this InsSub. The Open Dental docs list no response body. Required: id.
delete_a_open_dental_ins_sub_by_id
Delete an Open Dental InsSub (insurance subscriber, a patient covered under a plan) by id. Will fail if any PatPlans exist. Returns no content. Required: id.
get_single_open_dental_ins_verify_by_id
Get a single Open Dental InsVerify (insurance verification record) by id. Returns: InsVerifyNum, DateLastVerified, UserNum, VerifyType, FKey, DefNum, and more. Required: id.
list_all_open_dental_ins_verifies
List Open Dental InsVerifies (insurance verification record). Filter by VerifyType, FKey, SecDateTEdit. Returns: InsVerifyNum, DateLastVerified, UserNum, VerifyType, FKey, DefNum, and more.
open_dental_ins_verifies_bulk_update
Update an insurance verification, found by VerifyType and FKey in the body. Older entries are kept in the insverifyhist table. Returns: InsVerifyNum, DateLastVerified, UserNum, VerifyType, FKey, DefNum, and more. Required: VerifyType, FKey.
get_single_open_dental_lab_case_by_id
Get a single Open Dental LabCase by id. Returns: LabCaseNum, PatNum, LaboratoryNum, AptNum, PlannedAptNum, DateTimeDue, and more. Required: id.
list_all_open_dental_lab_cases
List Open Dental LabCases. Filter by PatNum, LaboratoryNum, AptNum, PlannedAptNum, ProvNum. Returns: LabCaseNum, PatNum, LaboratoryNum, AptNum, PlannedAptNum, DateTimeDue, and more.
create_a_open_dental_lab_case
Create an Open Dental LabCase. Returns: LabCaseNum, PatNum, LaboratoryNum, AptNum, PlannedAptNum, DateTimeDue, and more. Required: PatNum, LaboratoryNum, ProvNum.
update_a_open_dental_lab_case_by_id
Update an Open Dental LabCase by id. Only the fields you send change. Returns: LabCaseNum, PatNum, LaboratoryNum, AptNum, PlannedAptNum, DateTimeDue, and more. Required: id.
delete_a_open_dental_lab_case_by_id
Delete an Open Dental LabCase by id. Returns no content. Required: id.
get_single_open_dental_laboratory_by_id
Get a single Open Dental Laboratory (dental lab) by id. Returns: LaboratoryNum, Description, Phone, Notes, Slip, Address, and more. Required: id.
list_all_open_dental_laboratories
List Open Dental Laboratories (dental lab). Returns: LaboratoryNum, Description, Phone, Notes, Slip, Address, and more.
create_a_open_dental_laboratory
Create an Open Dental Laboratory (dental lab). Returns: LaboratoryNum, Description, Phone, Notes, Slip, Address, and more. Required: Description.
update_a_open_dental_laboratory_by_id
Update an Open Dental Laboratory (dental lab) by id. Only the fields you send change. Returns: LaboratoryNum, Description, Phone, Notes, Slip, Address, and more. Required: id.
get_single_open_dental_lab_turnaround_by_id
Get a single Open Dental LabTurnaround (lab turnaround time) by id. Returns: LabTurnaroundNum, LaboratoryNum, Description, DaysPublished, DaysActual. Required: id.
list_all_open_dental_lab_turnarounds
List Open Dental LabTurnarounds (lab turnaround time). Filter by LaboratoryNum. Returns: LabTurnaroundNum, LaboratoryNum, Description, DaysPublished, DaysActual.
create_a_open_dental_lab_turnaround
Create an Open Dental LabTurnaround (lab turnaround time). Returns: LabTurnaroundNum, LaboratoryNum, Description, DaysPublished, DaysActual. Required: LaboratoryNum, Description, DaysActual.
update_a_open_dental_lab_turnaround_by_id
Update an Open Dental LabTurnaround (lab turnaround time) by id. Only the fields you send change. Returns: LabTurnaroundNum, LaboratoryNum, Description, DaysPublished, DaysActual. Required: id.
get_single_open_dental_medication_pat_by_id
Get a single Open Dental MedicationPat (medication assigned to a patient) by id. Returns: MedicationPatNum, PatNum, MedicationNum, PatNote, DateStart, DateStop, and more. Required: id.
list_all_open_dental_medication_pats
List Open Dental MedicationPats (medication assigned to a patient). Filter by PatNum, includeDiscontinued. Returns: MedicationPatNum, PatNum, MedicationNum, PatNote, DateStart, DateStop, and more.
create_a_open_dental_medication_pat
Create an Open Dental MedicationPat (medication assigned to a patient). Attaches a medication to a patient. Returns: MedicationPatNum, PatNum, MedicationNum, PatNote, DateTStamp, DateStart, and more. Required: PatNum.
update_a_open_dental_medication_pat_by_id
Update an Open Dental MedicationPat (medication assigned to a patient) by id. Only the fields you send change. Returns: MedicationPatNum, PatNum, MedicationNum, PatNote, DateTStamp, DateStart, and more. Required: id.
delete_a_open_dental_medication_pat_by_id
Delete an Open Dental MedicationPat (medication assigned to a patient) by id. Returns no content. Required: id.
get_single_open_dental_medication_by_id
Get a single Open Dental Medication (medication definition) by id. Returns: MedicationNum, MedName, GenericNum, Notes, DateTStamp, IsHidden. Required: id.
list_all_open_dental_medications
List Open Dental Medications (medication definition). Returns: MedicationNum, MedName, GenericNum, Notes, DateTStamp, IsHidden.
create_a_open_dental_medication
Create an Open Dental Medication (medication definition). Returns: MedicationNum, MedName, GenericNum, Notes, DateTStamp, IsHidden. Required: MedName.
update_a_open_dental_medication_by_id
Update an Open Dental Medication (medication definition) by id. Only the fields you send change. Returns: MedicationNum, MedName, GenericNum, Notes, DateTStamp, IsHidden. Required: id.
delete_a_open_dental_medication_by_id
Delete an Open Dental Medication (medication definition) by id. Returns no content. Required: id.
get_single_open_dental_operatory_by_id
Get a single Open Dental Operatory (treatment room) by id. Returns: OperatoryNum, OpName, Abbrev, ItemOrder, IsHidden, ProvDentist, and more. Required: id.
list_all_open_dental_operatories
List Open Dental Operatories (treatment room). Filter by ClinicNum. Returns: OperatoryNum, OpName, Abbrev, ItemOrder, IsHidden, ProvDentist, and more.
list_all_open_dental_pat_field_defs
List Open Dental PatFieldDefs (custom patient field definition). Returns: PatFieldDefNum, FieldName, FieldType, PickList, IsHidden.
create_a_open_dental_pat_field_def
Create an Open Dental PatFieldDef (custom patient field definition). Returns: PatFieldDefNum, FieldName, FieldType, PickList, IsHidden. Required: FieldName, FieldType.
update_a_open_dental_pat_field_def_by_id
Update an Open Dental PatFieldDef (custom patient field definition) by id. Only the fields you send change. Returns: PatFieldDefNum, FieldName, FieldType, PickList, IsHidden. Required: id.
delete_a_open_dental_pat_field_def_by_id
Delete an Open Dental PatFieldDef (custom patient field definition) by id. Cannot delete a patfielddef that is in use. Returns no content. Required: id.
get_single_open_dental_pat_field_by_id
Get a single Open Dental PatField (custom patient field value) by id. Returns: PatFieldNum, PatNum, FieldName, FieldValue, SecDateEntry, SecDateTEdit. Required: id.
list_all_open_dental_pat_fields
List Open Dental PatFields (custom patient field value). Filter by PatNum, FieldName, SecDateTEdit. Returns: PatFieldNum, PatNum, FieldName, FieldValue, SecDateEntry, SecDateTEdit.
create_a_open_dental_pat_field
Create an Open Dental PatField (custom patient field value). Cannot create PatFields associated with hidden PatFieldDefs. Returns: PatFieldNum, PatNum, FieldName, FieldValue, SecDateEntry, SecDateTEdit. Required: PatNum, FieldName, FieldValue.
open_dental_pat_fields_bulk_update
Update the value of an existing PatField (a custom patient field), found by PatNum and FieldName in the body. There is no id in the URL. Returns: PatFieldNum, PatNum, FieldName, FieldValue, SecDateEntry, SecDateTEdit. Required: PatNum, FieldName, FieldValue.
delete_a_open_dental_pat_field_by_id
Delete an Open Dental PatField (custom patient field value) by id. Will not delete a PatField with an associated PatFieldDef of type CareCreditStatus. Returns no content. Required: id.
get_single_open_dental_patient_note_by_id
Get a single Open Dental PatientNote (patient notes record, one per patient) by id. PatientNotes have a 1:1 relationship to Patients and contain additional information about the patient. The PatNum must be included in the URL. Returns: PatNum, FamFinancial, Medical, Service, MedicalComp, Treatment, and more. Required: id.
list_all_open_dental_patient_notes
List Open Dental PatientNotes (patient notes record, one per patient). Returns: PatNum, FamFinancial, Medical, Service, MedicalComp, Treatment, and more.
update_a_open_dental_patient_note_by_id
Update an Open Dental PatientNote (patient notes record, one per patient) by id. Only the fields you send change. Returns: PatNum, FamFinancial, Medical, Service, MedicalComp, Treatment, and more. Required: id.
list_all_open_dental_patient_races
List Open Dental PatientRaces (patient race or ethnicity entry). Gets all of the Race and Ethnicity information for a Patient, similarly to how it shows in the Edit Patient Information: Public Health Tab. Returns: PatientRaceNum, PatNum, CdcrecCode. Required: PatNum.
get_single_open_dental_patient_by_id
Get a single Open Dental Patient by id. Returns: PatNum, LName, FName, MiddleI, Preferred, PatStatus, and more. Required: id.
list_all_open_dental_patients
List patients with the fast Simple search. Filter by name, status, birthdate, phone, provider, clinic, insurance, or DateTStamp for incremental sync. Preferred over search_patients. Returns: PatNum, LName, FName, MiddleI, Preferred, PatStatus, and more.
create_a_open_dental_patient
Create an Open Dental Patient. The only required fields are LName and FName. All other fields are optional. Returns: PatNum, LName, FName, MiddleI, Preferred, PatStatus, and more. Required: LName, FName.
update_a_open_dental_patient_by_id
Update an Open Dental Patient by id. Only the fields you send change. Languages are stored in ISO 639-2 format, unless custom, in the preference "LanguagesUsedByPatients". Returns: PatNum, LName, FName, MiddleI, Preferred, PatStatus, and more. Required: id.
list_all_open_dental_search_patients
Search patients with the Patient Select-style search. Most string filters match part of the value and ignore case. Returns fewer fields and can be slow on large databases; prefer patients list. Combine LName, FName, and Birthdate for a unique match. Returns: PatNum, LName, FName, MiddleI, Preferred, PatStatus, and more.
list_all_open_dental_pat_plans
List Open Dental PatPlans (patient insurance coverage link). Filter by PatNum, InsSubNum. Returns: PatPlanNum, PatNum, Ordinal, IsPending, Relationship, PatID, and more.
create_a_open_dental_pat_plan
Create an Open Dental PatPlan (patient insurance coverage link). Returns: PatPlanNum, PatNum, Ordinal, IsPending, Relationship, InsSubNum, and more. Required: PatNum, InsSubNum.
update_a_open_dental_pat_plan_by_id
Update an Open Dental PatPlan (patient insurance coverage link) by id. Only the fields you send change. This updates an existing PatPlan row in the database. PatNum cannot be updated. Returns: PatPlanNum, PatNum, Ordinal, IsPending, Relationship, InsSubNum, and more. Required: id.
delete_a_open_dental_pat_plan_by_id
Delete an Open Dental PatPlan (patient insurance coverage link) by id. This is called "Drop" in the Open Dental UI. This removes a PatPlan row from the database, indicating no coverage, but does not affect the InsPlan itself. Returns no content. Required: id.
get_single_open_dental_pat_restriction_by_id
Get a single Open Dental PatRestriction (patient restriction) by id. Returns: PatRestrictionNum, PatNum, PatRestrictType. Required: id.
list_all_open_dental_pat_restrictions
List Open Dental PatRestrictions (patient restriction). Filter by PatNum. Returns: PatRestrictionNum, PatNum, PatRestrictType.
create_a_open_dental_pat_restriction
Create an Open Dental PatRestriction (patient restriction). Returns: PatRestrictionNum, PatNum, PatRestrictType. Required: PatNum, PatRestrictType.
delete_a_open_dental_pat_restriction_by_id
Delete an Open Dental PatRestriction (patient restriction) by id. Returns no content. Required: id.
list_all_open_dental_payments
List Open Dental Payments (patient payment). Filter by PayType, PatNum, DateEntry. Returns: PayNum, PayType, PayDate, PayAmt, CheckNum, BankBranch, and more.
create_a_open_dental_payment
Create an Open Dental Payment (patient payment). Does not support insurance payments or income transfers. Payments apply to outstanding charges in a FIFO order. Returns: PayNum, PayType, PayDate, PayAmt, CheckNum, BankBranch, and more. Required: PayAmt, PatNum.
update_a_open_dental_payment_by_id
Update an Open Dental Payment (patient payment) by id. Only the fields you send change. Returns: PayNum, PayType, PayDate, PayAmt, CheckNum, BankBranch, and more. Required: id.
create_a_open_dental_payment_refund
Create a refund payment for an existing payment. Payments on payment plans or with negative paysplits cannot be refunded. Returns: PayNum, PayType, PayDate, PayAmt, CheckNum, BankBranch, and more. Required: PayNum.
open_dental_payment_partials_bulk_update
Replace a payment's paysplits with new ones allocated to procedures and/or payment plan charges. Rarely used. The amounts must add up to the payment's PayAmt. Returns: PayNum, PayType, PayDate, PayAmt, CheckNum, BankBranch, and more. Required: PayNum.
list_all_open_dental_pay_plan_charges
List Open Dental PayPlanCharges (payment plan charge). Filter by includeProjected. Returns: PayPlanChargeNum, PayPlanNum, Guarantor, PatNum, ChargeDate, Principal, and more. Required: PayPlanNum.
create_a_open_dental_pay_plan_charge
Create an Open Dental PayPlanCharge (payment plan charge). Returns: PayPlanChargeNum, PayPlanNum, Guarantor, PatNum, ChargeDate, Principal, and more. Required: PayPlanNum, ChargeDate, Principal, FKey, LinkType.
update_a_open_dental_pay_plan_charge_by_id
Update an Open Dental PayPlanCharge (payment plan charge) by id. Only the fields you send change. Returns: PayPlanChargeNum, PayPlanNum, Guarantor, PatNum, ChargeDate, Principal, and more. Required: id.
delete_a_open_dental_pay_plan_charge_by_id
Delete an Open Dental PayPlanCharge (payment plan charge) by id. Will not delete a payplancharge with an associated PaySplit. Returns no content. Required: id.
get_single_open_dental_pay_plan_link_by_id
Get a single Open Dental PayPlanLink (link between a dynamic payment plan and a procedure or adjustment) by id. Returns: PayPlanLinkNum, PayPlanNum, LinkType, FKey, AmountOverride, SecDateTEntry. Required: id.
list_all_open_dental_pay_plan_links
List Open Dental PayPlanLinks (link between a dynamic payment plan and a procedure or adjustment). Filter by PayPlanNum. Can optionally filter by PayPlanNum. Returns: PayPlanLinkNum, PayPlanNum, LinkType, FKey, AmountOverride, SecDateTEntry.
create_a_open_dental_pay_plan_link
Create an Open Dental PayPlanLink (link between a dynamic payment plan and a procedure or adjustment). Returns: PayPlanLinkNum, PayPlanNum, LinkType, FKey, AmountOverride, SecDateTEntry. Required: PayPlanNum, LinkType, FKey.
update_a_open_dental_pay_plan_link_by_id
Update an Open Dental PayPlanLink (link between a dynamic payment plan and a procedure or adjustment) by id. Only the fields you send change. Returns: PayPlanLinkNum, PayPlanNum, LinkType, FKey, AmountOverride, SecDateTEntry. Required: id.
delete_a_open_dental_pay_plan_link_by_id
Delete an Open Dental PayPlanLink (link between a dynamic payment plan and a procedure or adjustment) by id. Returns no content. Required: id.
get_single_open_dental_pay_plan_by_id
Get a single Open Dental PayPlan (payment plan) by id. Returns: PayPlanNum, PatNum, Guarantor, PayPlanDate, APR, Note, and more. Required: id.
list_all_open_dental_pay_plans
List Open Dental PayPlans (payment plan). Filter by PatNum, Guarantor. An Insurance payment plan has a PlanNum and InsSubNum value greater then zero, a Dynamic payment plan has IsDynamic as true, otherwise it is a Patient payment plan. Returns: PayPlanNum, PatNum, Guarantor, PayPlanDate, APR, Note, and more.
create_a_open_dental_pay_plan
Create an Open Dental PayPlan (payment plan). This method is deprecated in version 23.3.1. This is a patient payment plan, not an insurance or dynamic payment plan. The Open Dental docs list no response body. Required: PatNum.
create_a_open_dental_dynamic_pay_plan
Create a dynamic payment plan for a patient, tied to procedures and/or adjustments. Returns: PayPlanNum, PatNum, Guarantor, PayPlanDate, APR, Note, and more. Required: PatNum.
open_dental_dynamic_pay_plans_bulk_update
Update a dynamic payment plan. Returns: PayPlanNum, PatNum, Guarantor, PayPlanDate, APR, Note, and more. Required: PayPlanNum.
open_dental_pay_plan_closures_bulk_update
Close a patient or dynamic payment plan. Outstanding interest is charged to the patient and is due immediately. Returns: PayPlanNum, PatNum, Guarantor, PayPlanDate, APR, Note, and more. Required: PayPlanNum.
list_all_open_dental_pay_splits
List Open Dental PaySplits (portion of a payment applied to a procedure, adjustment, or provider). Filter by PatNum, PayNum, ProcNum. Returns: SplitNum, SplitAmt, PatNum, PayNum, ProvNum, PayPlanNum, and more.
update_a_open_dental_pay_split_by_id
Update an Open Dental PaySplit (portion of a payment applied to a procedure, adjustment, or provider) by id. Only the fields you send change. Rarely used. Returns: SplitNum, SplitAmt, PatNum, PayNum, ProvNum, PayPlanNum, and more. Required: id.
get_single_open_dental_perio_exam_by_id
Get a single Open Dental PerioExam by id. Returns: PerioExamNum, PatNum, ExamDate, ProvNum, DateTMeasureEdit, Note. Required: id.
list_all_open_dental_perio_exams
List Open Dental PerioExams. Filter by PatNum, ExamDate. Returns: PerioExamNum, PatNum, ExamDate, ProvNum, DateTMeasureEdit, Note.
create_a_open_dental_perio_exam
Create an Open Dental PerioExam. For more information, see Perio Chart. Rarely used. Returns: PerioExamNum, PatNum, ExamDate, ProvNum, DateTMeasureEdit, Note. Required: PatNum.
update_a_open_dental_perio_exam_by_id
Update an Open Dental PerioExam by id. Only the fields you send change. Returns: PerioExamNum, PatNum, ExamDate, ProvNum, DateTMeasureEdit, Note. Required: id.
delete_a_open_dental_perio_exam_by_id
Delete an Open Dental PerioExam by id. Also deletes all associated periomeasures. Returns no content. Required: id.
list_all_open_dental_perio_measures
List Open Dental PerioMeasures (perio chart measurement). Filter by PerioExamNum. Returns: PerioMeasureNum, PerioExamNum, SequenceType, IntTooth, ToothValue, MBvalue, and more.
create_a_open_dental_perio_measure
Create an Open Dental PerioMeasure (perio chart measurement). New periomeasures are compared against existing periomeasures attached to the same perioexam to prevent duplicates. Returns: PerioMeasureNum, PerioExamNum, SequenceType, IntTooth, ToothValue, MBvalue, and more. Required: PerioExamNum, SequenceType, IntTooth.
update_a_open_dental_perio_measure_by_id
Update an Open Dental PerioMeasure (perio chart measurement) by id. Only the fields you send change. Returns: PerioMeasureNum, PerioExamNum, SequenceType, IntTooth, ToothValue, MBvalue, and more. Required: id.
delete_a_open_dental_perio_measure_by_id
Delete an Open Dental PerioMeasure (perio chart measurement) by id. Deletes an existing periomeasure with a SequenceType of "Mobility" or "SkipTooth". Returns no content. Required: id.
get_single_open_dental_pharmacy_by_id
Get a single Open Dental Pharmacy by id. Returns: PharmacyNum, StoreName, Phone, Fax, Address, Address2, and more. Required: id.
list_all_open_dental_pharmacies
List Open Dental Pharmacies. Returns: PharmacyNum, StoreName, Phone, Fax, Address, Address2, and more.
list_all_open_dental_popups
List Open Dental Popups (patient popup alert). Gets active and disabled popups for a patient and associated Family and SuperFamily. For versions 22.2 and later, the IsDisabled field is deprecated and may give unreliable information. Returns: PopupNum, PatNum, Description, IsDisabled, PopupLevel, DateTimeEntry, and more. Required: PatNum.
create_a_open_dental_popup
Create an Open Dental Popup (patient popup alert). Be careful. Popups tend to be annoying to users and are usually reserved for more important notes. Returns: PopupNum, PatNum, Description, IsDisabled, PopupLevel, DateTimeEntry, and more. Required: PatNum, Description.
update_a_open_dental_popup_by_id
Update an Open Dental Popup (patient popup alert) by id. Only the fields you send change. Returns: PopupNum, PatNum, Description, IsDisabled, PopupLevel, DateTimeEntry, and more. Required: id.
list_all_open_dental_preferences
List Open Dental Preferences (office preference setting). Filter by PrefName. PrefName is optional. Otherwise you end up with all ~1000 preferences, paginated. Returns: PrefNum, PrefName, ValueString.
get_single_open_dental_procedure_code_by_id
Get a single Open Dental ProcedureCode by id. Returns: CodeNum, ProcCode, Descript, AbbrDesc, ProcTime, ProcCat, and more. Required: id.
list_all_open_dental_procedure_codes
List Open Dental ProcedureCodes. Filter by DateTStamp. Returns: CodeNum, ProcCode, Descript, AbbrDesc, ProcTime, ProcCat, and more.
create_a_open_dental_procedure_code
Create an Open Dental ProcedureCode. For more information, see Procedure Code. Returns: CodeNum, ProcCode, Descript, AbbrDesc, ProcTime, ProcCat, and more. Required: ProcCode, Descript, AbbrDesc.
update_a_open_dental_procedure_code_by_id
Update an Open Dental ProcedureCode by id. Only the fields you send change. For more information, see Procedure Code. Returns: CodeNum, ProcCode, Descript, AbbrDesc, ProcTime, ProcCat, and more. Required: id.
get_single_open_dental_procedure_log_by_id
Get a single Open Dental ProcedureLog (treatment planned, completed, or existing procedure) by id. Returns: ProcNum, PatNum, AptNum, ProcDate, ProcFee, Surf, and more. Required: id.
list_all_open_dental_procedure_logs
List Open Dental ProcedureLogs (treatment planned, completed, or existing procedure). Filter by PatNum, AptNum, ProcDate, ProcStatus, PlannedAptNum, ClinicNum, CodeNum, and more. Returns: ProcNum, PatNum, AptNum, ProcDate, ProcFee, Surf, and more.
create_a_open_dental_procedure_log
Create an Open Dental ProcedureLog (treatment planned, completed, or existing procedure). The following pairs of fields may only have one of the two passed in at once: Priority and priority, Dx and dxName. Attempts to set them both will be silently ignored. Returns: ProcNum, PatNum, AptNum, ProcDate, ProcFee, Surf, and more. Required: PatNum, ProcDate, ProcStatus.
update_a_open_dental_procedure_log_by_id
Update an Open Dental ProcedureLog (treatment planned, completed, or existing procedure) by id. Only the fields you send change. When changing procCode, the treatment area of the current and passed in procedure codes must match. Returns: ProcNum, PatNum, AptNum, ProcDate, ProcFee, Surf, and more. Required: id.
delete_a_open_dental_procedure_log_by_id
Delete an Open Dental ProcedureLog (treatment planned, completed, or existing procedure) by id. Can only delete procedures with a ProcStatus of TP, TPi, or C. Returns no content. Required: id.
list_all_open_dental_procedure_log_insurance_histories
Get the previous treatment dates by category (bitewings, exams, prophy, and so on) for a patient's insurance plan, as in the Insurance History form. Returns: insHistPrefName, procDate, ProcNum. Required: PatNum, InsSubNum.
create_a_open_dental_procedure_log_insurance_history
Record a previous treatment date for one insurance history category. Creates an Existing Other Provider procedure and an InsHist claim procedure. Returns: ProcNum, PatNum, AptNum, ProcDate, ProcFee, Surf, and more. Required: PatNum, InsSubNum, insHistPrefName, ProcDate.
list_all_open_dental_procedure_log_group_notes
Get the group notes for a set of a patient's procedures. Returns: PatNum, ProvNum, ProcNum, ProcNums, Note. Required: PatNum.
create_a_open_dental_procedure_log_group_note
Create a group note for a set of a patient's procedures. Returns: PatNum, ProvNum, ProcNum, ProcNums, Note. Required: PatNum, Note.
open_dental_procedure_log_group_notes_bulk_update
Update a group note procedure for a patient. Returns: PatNum, ProvNum, ProcNum, ProcNums, Note. Required: ProcNum, PatNum, Note.
open_dental_procedure_log_group_notes_bulk_delete
Delete a group note procedure. Returns no content. Required: ProcNum.
list_all_open_dental_proc_notes
List Open Dental ProcNotes (procedure note). Filter by PatNum, ProcNum. When a procnote is edited in Open Dental, a new procnote is created. No existing procnote can EVER be edited or deleted. Returns: ProcNoteNum, PatNum, ProcNum, EntryDateTime, UserNum, Note, and more.
create_a_open_dental_proc_note
Create an Open Dental ProcNote (procedure note). If the Procedure Note contains 50 or more consecutive blank lines, they will be removed. The new procnote will always replace the existing procnote. Returns: ProcNoteNum, PatNum, ProcNum, EntryDateTime, UserNum, Note, and more. Required: PatNum, ProcNum, Note.
list_all_open_dental_proc_tps
List Open Dental ProcTPs (procedure on a saved treatment plan). Returns: ProcTPNum, TreatPlanNum, PatNum, ProcNumOrig, ItemOrder, Priority, and more. Required: TreatPlanNum.
update_a_open_dental_proc_tp_by_id
Update an Open Dental ProcTP (procedure on a saved treatment plan) by id. Only the fields you send change. Only ProcTPs associated with an unsigned treatment plan can be updated. Returns: ProcTPNum, TreatPlanNum, PatNum, ProcNumOrig, ItemOrder, Priority, and more. Required: id.
delete_a_open_dental_proc_tp_by_id
Delete an Open Dental ProcTP (procedure on a saved treatment plan) by id. Only ProcTPs associated with an unsigned treatment plan can be deleted. Returns no content. Required: id.
get_single_open_dental_provider_by_id
Get a single Open Dental Provider (dentist or hygienist) by id. Returns: ProvNum, Abbr, LName, FName, MI, Suffix, and more. Required: id.
list_all_open_dental_providers
List Open Dental Providers (dentist or hygienist). Filter by ClinicNum, DateTStamp. Two different queries are used. ClinicNum is not a field in the Provider table, so it does not get returned in any results. Returns: ProvNum, Abbr, LName, FName, MI, Suffix, and more.
create_a_open_dental_provider
Create an Open Dental Provider (dentist or hygienist). After adding a provider, there's no way to delete it, not even from within Open Dental. The best you can do is to go into Open Dental and hide the provider. Returns: ProvNum, Abbr, LName, FName, MI, Suffix, and more. Required: Abbr.
update_a_open_dental_provider_by_id
Update an Open Dental Provider (dentist or hygienist) by id. Only the fields you send change. Returns: ProvNum, Abbr, LName, FName, MI, Suffix, and more. Required: id.
create_a_open_dental_query_export
Run a read-only SQL query and write the results as CSV to an SFTP site you control. Overwrites an existing file with the same name. The Open Dental docs list no response body. Required: SqlCommand, SftpAddress, SftpUsername, SftpPassword.
list_all_open_dental_short_queries
Run a read-only SQL query and return up to 100 rows per page as JSON. Use query_exports create for larger results. Each row is an object keyed by the selected column names. Required: SqlCommand.
get_single_open_dental_quick_paste_cat_by_id
Get a single Open Dental QuickPasteCat (quick paste category) by id. Returns: QuickPasteCatNum, Description, ItemOrder, DefaultForTypes. Required: id.
list_all_open_dental_quick_paste_cats
List Open Dental QuickPasteCats (quick paste category). Returns: QuickPasteCatNum, Description, ItemOrder, DefaultForTypes.
get_single_open_dental_quick_paste_note_by_id
Get a single Open Dental QuickPasteNote by id. Returns: QuickPasteNoteNum, QuickPasteCatNum, ItemOrder, Note, Abbreviation. Required: id.
list_all_open_dental_quick_paste_notes
List Open Dental QuickPasteNotes. Filter by QuickPasteCatNum. Returns: QuickPasteNoteNum, QuickPasteCatNum, ItemOrder, Note, Abbreviation.
list_all_open_dental_recalls
List Open Dental Recalls (patient recall). Filter by PatNum. Returns: RecallNum, PatNum, DateDue, DatePrevious, RecallInterval, RecallStatus, and more.
create_a_open_dental_recall
Create an Open Dental Recall (patient recall). A patient should have at most, one recall for each Recall Type. Returns: RecallNum, PatNum, DateDue, DatePrevious, RecallInterval, RecallStatus, and more. Required: PatNum, RecallTypeNum.
update_a_open_dental_recall_by_id
Update an Open Dental Recall (patient recall) by id. Only the fields you send change. Returns: RecallNum, PatNum, DateDue, DatePrevious, RecallInterval, RecallStatus, and more. Required: id.
list_all_open_dental_recall_lists
Get the recall list as shown in the Appointment Module (Lists, then Recalls), filtered by due dates, provider, clinic, and recall type. Returns: DueDate, PatNum, Patient, Age, Type, Interval, and more.
open_dental_recall_statuses_bulk_update
Set the RecallStatus on a patient's recall and log a commlog entry. This is the reminder status, not an appointment status. The Open Dental docs list no response body. Required: PatNum, recallType.
open_dental_recall_type_switches_bulk_update
Switch a patient's recall type between Prophy and Perio, like the Set Perio and Set Prophy buttons. The Open Dental docs list no response body. Required: PatNum.
get_single_open_dental_recall_type_by_id
Get a single Open Dental RecallType by id. Returns: RecallTypeNum, Description, DefaultInterval, TimePattern, Procedures, AppendToSpecial. Required: id.
list_all_open_dental_recall_types
List Open Dental RecallTypes. Returns: RecallTypeNum, Description, DefaultInterval, TimePattern, Procedures, AppendToSpecial.
list_all_open_dental_ref_attaches
List Open Dental RefAttaches (referral attached to a patient). Filter by ReferralNum, PatNum, DateTStamp. Returns: RefAttachNum, ReferralNum, PatNum, ItemOrder, RefDate, ReferralType, and more.
create_a_open_dental_ref_attach
Create an Open Dental RefAttach (referral attached to a patient). Attaches a patient to a referral source. The referral source must be specified by either ReferralNum or referralName. Returns: RefAttachNum, ReferralNum, PatNum, ItemOrder, RefDate, ReferralType, and more. Required: PatNum.
update_a_open_dental_ref_attach_by_id
Update an Open Dental RefAttach (referral attached to a patient) by id. Only the fields you send change. Returns: RefAttachNum, ReferralNum, PatNum, ItemOrder, RefDate, ReferralType, and more. Required: id.
delete_a_open_dental_ref_attach_by_id
Delete an Open Dental RefAttach (referral attached to a patient) by id. Returns no content. Required: id.
get_single_open_dental_referral_by_id
Get a single Open Dental Referral (referral source) by id. Returns: ReferralNum, LName, FName, MName, SSN, UsingTIN, and more. Required: id.
list_all_open_dental_referrals
List Open Dental Referrals (referral source). Filter by IsHidden, NotPerson, IsDoctor, IsPreferred, isPatient, BusinessName. These can be either a provider, patient, or non-person. The description of non-patient sources is stored in the LName field. Returns: ReferralNum, LName, FName, MName, SSN, UsingTIN, and more.
create_a_open_dental_referral
Create an Open Dental Referral (referral source). Referrals can be for patients (provide PatNum), providers (provide specialty) or non-persons (provide neither PatNum or specialty). Returns: ReferralNum, LName, FName, MName, SSN, UsingTIN, and more. Required: LName.
update_a_open_dental_referral_by_id
Update an Open Dental Referral (referral source) by id. Only the fields you send change. Referrals for a patient can only have the Note and DisplayNote fields modified. Returns: ReferralNum, LName, FName, MName, SSN, UsingTIN, and more. Required: id.
list_all_open_dental_aging_reports
Get the aging report for all guarantors, as of a date. Rarely used and slow on large databases; see the Open Dental docs on retrieving aging data. Returns: PatNum, Bal_0_30, Bal_31_60, Bal_61_90, BalOver90, BalTotal, and more.
list_all_open_dental_finance_charge_reports
Get the finance charge report for a date range, optionally limited to providers and billing types. Returns: PatNum, PatName, Preferred, AdjAmt.
get_single_open_dental_rx_pat_by_id
Get a single Open Dental RxPat (prescription) by id. Returns: RxNum, PatNum, RxDate, Drug, Sig, Disp, and more. Required: id.
list_all_open_dental_rx_pats
List Open Dental RxPats (prescription). Filter by PatNum. Returns: RxNum, PatNum, RxDate, Drug, Sig, Disp, and more.
list_all_open_dental_schedule_ops
List Open Dental ScheduleOps (link between a schedule entry and an operatory). Filter by ScheduleNum, OperatoryNum. Returns: ScheduleOpNum, ScheduleNum, OperatoryNum.
get_single_open_dental_schedule_by_id
Get a single Open Dental Schedule (schedule entry: provider time, blockout, or note) by id. Returns: ScheduleNum, SchedDate, StartTime, StopTime, SchedType, ProvNum, and more. Required: id.
list_all_open_dental_schedules
List Open Dental Schedules (schedule entry: provider time, blockout, or note). Filter by date, dateStart, dateEnd, SchedType, BlockoutDefNum, ProvNum, EmployeeNum. Results are sorted by StartTime. Returns: ScheduleNum, SchedDate, StartTime, StopTime, SchedType, ProvNum, and more.
list_all_open_dental_security_perms
List Open Dental SecurityPerms (security permission). Uses the Customer's API Key specified in the API request header. Returns: Permission, HasPermission.
list_all_open_dental_security_logs
List Open Dental SecurityLogs (security audit log entry). Filter by PermType. Returns: SecurityLogNum, PermType, UserNum, LogDateTime, LogText, PatNum, and more.
get_single_open_dental_sheet_def_by_id
Get a single Open Dental SheetDef (sheet template) by id. Returns: SheetDefNum, Description, SheetType. Required: id.
list_all_open_dental_sheet_defs
List Open Dental SheetDefs (sheet template). Filter by SheetType. Returns: SheetDefNum, Description, SheetType.
get_single_open_dental_sheet_field_def_by_id
Get a single Open Dental SheetFieldDef (field on a sheet template) by id. Returns: SheetFieldDefNum, SheetDefNum, FieldType, FieldName, FieldValue, IsRequired. Required: id.
list_all_open_dental_sheet_field_defs
List Open Dental SheetFieldDefs (field on a sheet template). Filter by SheetDefNum. Returns: SheetFieldDefNum, SheetDefNum, FieldType, FieldName, FieldValue, IsRequired.
get_single_open_dental_sheet_field_by_id
Get a single Open Dental SheetField (field value on a patient sheet) by id. Returns: SheetFieldNum, SheetNum, FieldType, FieldName, FieldValue, IsRequired, and more. Required: id.
list_all_open_dental_sheet_fields
List Open Dental SheetFields (field value on a patient sheet). Filter by SheetNum. Returns: SheetFieldNum, SheetNum, FieldType, FieldName, FieldValue, IsRequired, and more.
update_a_open_dental_sheet_field_by_id
Update an Open Dental SheetField (field value on a patient sheet) by id. Only the fields you send change. Only SheetFields of FieldType "OutputText", "InputField", and "CheckBox" are supported. Returns: SheetFieldNum, SheetNum, FieldType, FieldName, FieldValue, IsRequired, and more. Required: id.
list_all_open_dental_sheets
List Open Dental Sheets (patient sheet or form). Returns: SheetNum, SheetType, PatNum, DateTimeSheet, InternalNote, Description, and more. Required: PatNum.
create_a_open_dental_sheet
Create an Open Dental Sheet (patient sheet or form). Only SheetDefs of SheetType "Consent", "PatientLetter", "PatientForm", "MedicalHistory", and "ExamSheet" are supported. Returns: SheetNum, SheetType, PatNum, DateTimeSheet, InternalNote, Description, and more. Required: SheetDefNum, PatNum.
create_a_open_dental_sheet_sftp_download
Convert a sheet to PDF and place it on an SFTP site you control, so you can download it from there. The Open Dental docs list no response body. Required: SheetNum, SftpAddress, SftpUsername, SftpPassword.
list_all_open_dental_signalods
List Open Dental Signalods (internal signal). SigDateTime is a required parameter. If any Signalods exist after the given dateTime, they will be returned. Returns: SignalNum, DateViewing, SigDateTime, FKey, FKeyType, IType, and more. Required: SigDateTime.
get_single_open_dental_statement_by_id
Get a single Open Dental Statement (patient statement) by id. Returns: StatementNum, PatNum, DateSent, DateRangeFrom, DateRangeTo, Note, and more. Required: id.
list_all_open_dental_statements
List Open Dental Statements (patient statement). Filter by PatNum. Returns: StatementNum, PatNum, DateSent, DateRangeFrom, DateRangeTo, Note, and more.
create_a_open_dental_statement
Create an Open Dental Statement (patient statement). Does not impact billing. Returns: StatementNum, PatNum, DateSent, DateRangeFrom, DateRangeTo, Note, and more. Required: PatNum.
delete_a_open_dental_statement_by_id
Delete an Open Dental Statement (patient statement) by id. Only statements created by the API (statement.Mode_="API") can be deleted. If the statement has an associated document, the document must be deleted first. Returns no content. Required: id.
create_a_open_dental_subscription
Create an Open Dental Subscription (API event subscription). Subscriptions are specific to the Customer's API Key specified in the API request header. Each subscription is for either a database event or for a UI event. Returns: SubscriptionNum, EndPointUrl, Workstation, CustomerKey, WatchTable, PollingSeconds, and more. Required: EndPointUrl.
list_all_open_dental_subscriptions
List Open Dental Subscriptions (API event subscription). Returns: SubscriptionNum, EndPointUrl, Workstation, CustomerKey, WatchTable, PollingSeconds, and more.
update_a_open_dental_subscription_by_id
Update an Open Dental Subscription (API event subscription) by id. Only the fields you send change. Returns: SubscriptionNum, EndPointUrl, Workstation, CustomerKey, WatchTable, PollingSeconds, and more. Required: id.
delete_a_open_dental_subscription_by_id
Delete an Open Dental Subscription (API event subscription) by id. Returns no content. Required: id.
list_all_open_dental_substitution_links
List Open Dental SubstitutionLinks (insurance procedure code substitution). Filter by PlanNum. Returns: SubstitutionLinkNum, PlanNum, CodeNum, SubstitutionCode, SubstOnlyIf.
create_a_open_dental_substitution_link
Create an Open Dental SubstitutionLink (insurance procedure code substitution). These links are created for a single insurance plan and will overwrite the ProcedureCode on a procedure with the SubstitutionCode. This replacement is based upon the SubstOnlyIf condition. Returns: SubstitutionLinkNum, PlanNum, CodeNum, SubstitutionCode, SubstOnlyIf. Required: PlanNum, CodeNum, SubstitutionCode, SubstOnlyIf.
update_a_open_dental_substitution_link_by_id
Update an Open Dental SubstitutionLink (insurance procedure code substitution) by id. Only the fields you send change. Returns: SubstitutionLinkNum, PlanNum, CodeNum, SubstitutionCode, SubstOnlyIf. Required: id.
delete_a_open_dental_substitution_link_by_id
Delete an Open Dental SubstitutionLink (insurance procedure code substitution) by id. Returns no content. Required: id.
list_all_open_dental_task_lists
List Open Dental TaskLists. Filter by TaskListStatus. Returns: TaskListNum, Descript, Parent, DateTL, IsRepeating, DateType, and more.
get_single_open_dental_task_note_by_id
Get a single Open Dental TaskNote by id. Returns: TaskNoteNum, TaskNum, UserNum, DateTimeNote, Note. Required: id.
list_all_open_dental_task_notes
List Open Dental TaskNotes. Filter by TaskNum, UserNum. Returns: TaskNoteNum, TaskNum, UserNum, DateTimeNote, Note.
create_a_open_dental_task_note
Create an Open Dental TaskNote. Returns: TaskNoteNum, TaskNum, UserNum, DateTimeNote, Note. Required: TaskNum, UserNum, Note.
update_a_open_dental_task_note_by_id
Update an Open Dental TaskNote by id. Only the fields you send change. Returns: TaskNoteNum, TaskNum, UserNum, DateTimeNote, Note. Required: id.
get_single_open_dental_task_by_id
Get a single Open Dental Task by id. Returns: TaskNum, TaskListNum, DateTask, KeyNum, Descript, TaskStatus, and more. Required: id.
list_all_open_dental_tasks
List Open Dental Tasks. Filter by TaskListNum, KeyNum, ObjectType, TaskStatus, DateTimeOriginal. To get a list of all patient or appointment tasks, use only the ObjectType. To get a list of tasks for a specific patient or appointment, use both the ObjectType and KeyNum. Returns: TaskNum, TaskListNum, DateTask, KeyNum, Descript, TaskStatus, and more.
create_a_open_dental_task
Create an Open Dental Task. Returns: TaskNum, TaskListNum, DateTask, KeyNum, Descript, TaskStatus, and more. Required: TaskListNum, Descript, UserNum.
update_a_open_dental_task_by_id
Update an Open Dental Task by id. Only the fields you send change. Returns: TaskNum, TaskListNum, DateTask, KeyNum, Descript, TaskStatus, and more. Required: id.
list_all_open_dental_tooth_initials
List Open Dental ToothInitials (tooth chart initial, such as a missing tooth or movement). Filter by PatNum. Returns: ToothInitialNum, PatNum, ToothNum, InitialType, Movement, DrawingSegment, and more.
create_a_open_dental_tooth_initial
Create an Open Dental ToothInitial (tooth chart initial, such as a missing tooth or movement). Returns: ToothInitialNum, PatNum, ToothNum, InitialType, Movement, DrawingSegment, and more. Required: PatNum, ToothNum.
delete_a_open_dental_tooth_initial_by_id
Delete an Open Dental ToothInitial (tooth chart initial, such as a missing tooth or movement) by id. Deletes an existing toothinitial with an InitialType of "Missing", "Hidden", "Primary", "ShiftM", "ShiftO", "ShiftB", "Rotate", "TipM", or "TipB". Returns no content. Required: id.
open_dental_tooth_initial_clear_movements_bulk_update
Clear a patient's tooth movement records (shift, rotate, tip) for selected teeth or for all teeth. The Open Dental docs list no response body. Required: PatNum.
list_all_open_dental_treat_plan_attaches
List Open Dental TreatPlanAttaches (procedure attached to a treatment plan). Returns: TreatPlanAttachNum, TreatPlanNum, ProcNum, Priority. Required: TreatPlanNum.
create_a_open_dental_treat_plan_attach
Create an Open Dental TreatPlanAttach (procedure attached to a treatment plan). Returns: TreatPlanAttachNum, TreatPlanNum, ProcNum, Priority. Required: TreatPlanNum, ProcNum.
update_a_open_dental_treat_plan_attach_by_id
Update an Open Dental TreatPlanAttach (procedure attached to a treatment plan) by id. Only the fields you send change. Returns: TreatPlanAttachNum, TreatPlanNum, ProcNum, Priority. Required: id.
list_all_open_dental_treat_plans
List Open Dental TreatPlans (treatment plan). Filter by PatNum, SecDateTEdit, TPStatus. Returns: TreatPlanNum, PatNum, DateTP, Heading, Note, SigIsTopaz, and more.
create_a_open_dental_treat_plan
Create an Open Dental TreatPlan (treatment plan). Returns: TreatPlanNum, PatNum, DateTP, Heading, Note, SigIsTopaz, and more. Required: PatNum.
update_a_open_dental_treat_plan_by_id
Update an Open Dental TreatPlan (treatment plan) by id. Only the fields you send change. To sign a saved Treatment Plan for a patient, set isSigned to "true". Most developers will only use isSigned. Returns: TreatPlanNum, PatNum, DateTP, Heading, Note, SigIsTopaz, and more. Required: id.
delete_a_open_dental_treat_plan_by_id
Delete an Open Dental TreatPlan (treatment plan) by id. For treatplans with a TPStatus of "Saved", all associated proctps are also deleted. Returns no content. Required: id.
create_a_open_dental_saved_treat_plan
Create an unsigned Saved treatment plan from an existing Active or Inactive one. Returns: TreatPlanNum, PatNum, DateTP, Heading, Note, SigIsTopaz, and more. Required: TreatPlanNum.
list_all_open_dental_user_group_attaches
List Open Dental UserGroupAttaches (link between a user and a user group). Filter by UserNum, UserGroupNum. Returns: UserGroupAttachNum, UserNum, UserGroupNum.
list_all_open_dental_user_groups
List Open Dental UserGroups. Filter by includeCEMT. Returns: UserGroupNum, Description, UserGroupNumCEMT.
list_all_open_dental_userods
List Open Dental Userods (Open Dental login user). Filter by includeHidden, includeCEMT. Users are separate entities from Providers and Employees, although they can be linked. A user can be a provider, an employee, both, or neither. Returns: UserNum, UserName, EmployeeNum, ClinicNum, ProviderNum, IsHidden, and more.
create_a_open_dental_userod
Create an Open Dental Userod (Open Dental login user). Returns: UserNum, UserName, EmployeeNum, ProviderNum, ClinicNum, IsHidden, and more. Required: UserName, UserGroupNum, Password.
update_a_open_dental_userod_by_id
Update an Open Dental Userod (Open Dental login user) by id. Only the fields you send change. Returns: UserNum, UserName, EmployeeNum, ProviderNum, ClinicNum, IsHidden, and more. Required: id.
get_single_open_dental_vitalsign_by_id
Get a single Open Dental Vitalsign (vital signs reading) by id. Returns: VitalsignNum, PatNum, Height, Weight, BpSystolic, BpDiastolic, and more. Required: id.
list_all_open_dental_vitalsigns
List Open Dental Vitalsigns (vital signs reading). Filter by PatNum. Returns: VitalsignNum, PatNum, Height, Weight, BpSystolic, BpDiastolic, and more.
create_a_open_dental_vitalsign
Create an Open Dental Vitalsign (vital signs reading). Returns: VitalsignNum, PatNum, Height, Weight, BpSystolic, BpDiastolic, and more. Required: PatNum.
update_a_open_dental_vitalsign_by_id
Update an Open Dental Vitalsign (vital signs reading) by id. Only the fields you send change. Returns: VitalsignNum, PatNum, Height, Weight, BpSystolic, BpDiastolic, and more. Required: id.
delete_a_open_dental_vitalsign_by_id
Delete an Open Dental Vitalsign (vital signs reading) by id. Returns no content. Required: id.
Why Truto
Why use Truto’s MCP server for Open Dental
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Open Dental in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Open Dental account
Use Truto’s frontend SDK to connect your customer’s Open Dental account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Open Dental
Truto’s Proxy API is a 1-to-1 mapping of the Open Dental API. You call us, we call Open Dental, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Open Dental’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Open Dental on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication work for Open Dental through Truto?
Open Dental uses API key based authentication with a Developer Key plus a per-practice Customer Key. Truto captures both from your end user during the Link flow and attaches them to every request, so you never handle or store credentials yourself.
Can we read and write clinical data, or is it read-only?
The integration supports full read and write on most clinical and operational objects, including patients, appointments, procedure logs, treatment plans, diseases, allergies, medications, perio exams, claims, payments, and documents.
How do we handle large files like X-rays and CBCT scans?
Open Dental exposes dedicated SFTP endpoints for documents and EOB attachments. You can trigger SFTP downloads and uploads through Truto to move large images and PDFs in and out of the A-to-Z folder without hitting typical REST payload limits.
Can we run custom reports that aren't covered by REST endpoints?
Yes. Open Dental supports read-only SQL via the query export and short queries endpoints, which Truto exposes as standard actions. This is useful for BI and DSO reporting where you need joins across tables that no single REST resource covers.
How does pagination work across list endpoints?
Open Dental list endpoints are offset and limit based. Truto normalizes pagination so you can iterate through patients, appointments, procedure logs, and other collections without writing per-endpoint pagination logic.
Does the integration support multi-location DSOs?
Yes. You can list clinics, operatories, providers, and employees, and most records expose a clinic reference. Each DSO location typically has its own Customer Key, so Truto treats each clinic as a separate connection you can query independently or in aggregate.
Open Dental
Get Open Dental integrated into your app
Our team understands what it takes to make a Open Dental integration successful. A short, crisp 30 minute call with folks who understand the problem.