Insurance
120 endpoints
Insurance
99 endpoints
/api/v1/{org_id}/insurance/carriersList carriers
List carriers with optional filters, search, and sorting. Staff callers receive the full ``CarrierListOut`` shape.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
searchstringText search on carrier name, electronic ID, or group name.
carrier_group_namestringFilter by exact carrier group name.
include_hiddenbooleanInclude hidden carriers.
Default: false
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
sort_bystringSort column. One of: carrier_name, electronic_id, carrier_group_name, trust_level, created_at.
sort_order"asc" | "desc"Sort direction. One of: asc, desc.
ascdescDefault: "asc"
Responses
itemsobject[]requiredList of carrier records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching carriers.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/carriers" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/carriers" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/carriers/{carrier_uuid}Get carrier
Retrieve a single carrier by UUID. Staff callers receive the full ``CarrierOut`` shape. Raises 404 if the carrier does not exist.
Parameters
Path Parameters
carrier_uuidstringrequiredorg_idstringrequiredResponses
address_line1stringaddress_line2stringcarrier_group_namestringcarrier_namestringrequiredDisplay name of the carrier.
citystringcob_insurance_paid_behavior_overridestringcreated_atstring (date-time)requiredTimestamp when the carrier was created.
deleted_atstring (date-time)electronic_filing_typeenumdo_not_send_electronicallydo_not_send_secondary_electronicallysend_electronicallyelectronic_idstringera_automation_overrideenumauto_receivedo_not_processmanual_reviewidstring (uuid)requiredCarrier UUID.
is_hiddenbooleanWhether the carrier is hidden from default list views.
notesstringphonestringstatestringtrust_levelenumrequiredTrust level. One of: standard, trusted, untrusted.
standardtrusteduntrustedupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
zip_codestringdetailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/carriers/{carrier_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/carriers/{carrier_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/carriers/statsCarrier stats
Batch stats for all active carriers — plan counts and subscriber counts. Returns one entry per carrier. Designed for lazy-loading alongside the carrier list so the main table renders immediately.
Parameters
Path Parameters
org_idstringrequiredResponses
itemsobject[]requiredOne stats entry per carrier.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/carriers/stats" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/carriers/stats" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/coverage-categoriesList coverage categories
List coverage categories with optional search and filters. Set ``include_spans=true`` to include procedure code spans in each category.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
searchstringCase-insensitive search on category name.
include_hiddenbooleanInclude hidden categories.
Default: false
include_spansbooleanEagerly load procedure code spans for each category.
Default: false
Responses
itemsobject[]requiredList of category records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching categories.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}Get coverage category
Retrieve a single coverage category by UUID. Includes spans by default. Raises 404 if the category does not exist.
Parameters
Path Parameters
category_uuidstringrequiredorg_idstringrequiredQuery Parameters
include_spansbooleanInclude procedure code spans in response.
Default: true
Responses
category_namestringrequiredDisplay name of the category.
created_atstring (date-time)requiredTimestamp when the category was created.
deleted_atstring (date-time)descriptionstringidstring (uuid)requiredCategory UUID.
is_hiddenbooleanWhether hidden from default list views.
is_systembooleanWhether this is a system-seeded category protected from archiving.
item_orderintegerSort order among categories.
spansobject[]updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spansList coverage spans
List procedure code spans within a coverage category. Raises 404 if the category does not exist.
Parameters
Path Parameters
category_uuidstringrequiredorg_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 100
Responses
itemsobject[]requiredList of span records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching spans.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spans" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spans" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/draftsList drafts
List insurance drafts with optional patient and status filters.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
patient_uuidstringFilter drafts by patient UUID.
review_statusstringFilter by review status. One of: pending, matched, converted, rejected.
Responses
itemsobject[]requiredList of draft records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching drafts.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/drafts" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/drafts" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/drafts/{draft_uuid}Get draft with candidates
Retrieve a single draft with its matching candidates. Returns the draft plus candidate carriers, plans, and patients for the review UI. Raises 404 if the draft does not exist.
Parameters
Path Parameters
draft_uuidstringrequiredorg_idstringrequiredResponses
candidatesobjectrequiredMatching candidates for review.
draftobjectrequiredFull insurance draft output.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/drafts/{draft_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/drafts/{draft_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-booksList estimate books
List estimate books with optional filters and search.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
searchstringText search on estimate book name.
scope_typestringFilter by scope type (e.g., tenant, carrier, plan).
statusstringFilter by status (e.g., active, draft, archived).
Responses
itemsobject[]requiredList of estimate book records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching estimate books.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}Get estimate book
Retrieve a single estimate book by UUID. Raises 404 if the estimate book does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredResponses
allowed_fee_scheduleobjectLightweight reference to a related entity — exposes UUID and optional name.
carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
claim_match_methodstringcreated_atstring (date-time)requiredTimestamp when the book was created.
deleted_atstring (date-time)exclude_over_ucrbooleanWhether to cap allowed fees at the UCR amount.
idstring (uuid)requiredEstimate book UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
namestringrequiredDisplay name.
rule_typestringrequiredRule type. One of: manual_fee_schedule, allowed_from_claims, ucr_fallback.
scope_typestringrequiredScope. One of: tenant, carrier, plan.
statusstringrequiredStatus. One of: active, archived.
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/adjustment-logsList adjustment logs
List fee adjustment log entries for an estimate book. Raises 404 if the estimate book does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Responses
itemsobject[]requiredList of adjustment log entries.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching entries.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/adjustment-logs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/adjustment-logs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-feesList allowed fees
List computed allowed fee entries for an estimate book. Raises 404 if the estimate book does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Responses
itemsobject[]requiredList of allowed fee entries.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching entries.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-fees" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-fees" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/evidenceList evidence entries
List claim payment evidence entries for an estimate book. Raises 404 if the estimate book does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Responses
itemsobject[]requiredList of evidence entries.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching entries.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/evidence" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/evidence" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-stepsList rule steps
List rule steps for an estimate book. Set active_only=true to filter to active steps only. Raises 404 if the estimate book does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredQuery Parameters
active_onlybooleanOnly return active rule steps.
Default: false
Responses
itemsobject[]requiredList of rule steps, ordered by priority.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-steps" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-steps" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/runsList estimate book runs
List recomputation runs for an estimate book. Raises 404 if the estimate book does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Responses
itemsobject[]requiredList of run records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of runs.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/runs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/runs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/runs/{run_uuid}Get estimate book run
Retrieve a single run by UUID. Raises 404 if the run does not exist.
Parameters
Path Parameters
book_uuidstringrequiredrun_uuidstringrequiredorg_idstringrequiredResponses
created_atstring (date-time)requiredTimestamp when the run record was created.
deleted_atstring (date-time)errorstringestimate_bookobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
finished_atstring (date-time)idstring (uuid)requiredRun UUID.
started_atstring (date-time)requiredTimestamp when the run started.
statusstringrequiredRun status. One of: running, completed, failed.
summary_jsonobjectupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/runs/{run_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/runs/{run_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedule-assignmentsList assignments
List fee schedule assignments with optional filters. By default returns only active (open-ended) assignments. Use ``active_as_of`` to find assignments effective on a specific date. Use ``effective_start_after`` / ``effective_start_before`` for date-range filtering.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
location_uuidstringFilter by location UUID.
carrier_uuidstringFilter by carrier UUID.
insurance_plan_uuidstringFilter by insurance plan UUID.
assignment_kindstringFilter by assignment kind.
fee_schedule_uuidstringFilter by fee schedule UUID.
active_onlybooleanOnly return active (open-ended) assignments.
Default: true
active_as_ofstringReturn assignments active as of this date.
effective_start_afterstringFilter: effective_start >= this date.
effective_start_beforestringFilter: effective_start <= this date.
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Responses
itemsobject[]requiredpageintegerrequiredpage_sizeintegerrequiredtotalintegerrequireddetailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedule-assignments/{assignment_uuid}Get assignment
Get a single fee schedule assignment by UUID. Raises 404 if the assignment does not exist.
Parameters
Path Parameters
assignment_uuidstringrequiredorg_idstringrequiredResponses
assignment_kindstringrequiredKind of assignment. One of: ucr, primary, copay, out_of_network, allowed, manual_blue_book.
carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredeffective_endstring (date)effective_startstring (date)requiredStart date of this assignment.
estimate_bookobjectLightweight reference to a related entity — exposes UUID and optional name.
fee_scheduleobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredAssignment UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
locationobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
notesstringupdated_atstring (date-time)requiredversionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/{assignment_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/{assignment_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedule-assignments/activityAssignment activity log
Return audit log entries for fee schedule assignment changes. Shows create, update, and archive actions on assignments, ordered newest-first.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
limitintegerMax entries to return.
Default: 20
offsetintegerOffset for pagination.
Default: 0
Responses
itemsobject[]requiredtotalintegerrequireddetailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/activity" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/activity" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedule-assignments/compareCompare plan across locations
Compare a single plan's assignments across all locations for a given kind. Shows which fee schedule is assigned at each location.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
plan_uuidstringrequiredInsurance plan UUID to compare.
kindstringrequiredAssignment kind to compare (e.g., 'primary').
Responses
kindstringrequiredAssignment kind.
locationsobject[]requiredPer-location comparison.
planobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/compare" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/compare" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedule-assignments/matrixAssignment matrix
Build a cross-tab matrix of plans x locations for a given assignment kind. Returns column headers (locations) and rows (plans), with each cell containing the assigned fee schedule or null.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
kindstringrequiredAssignment kind to display (e.g., 'primary', 'ucr').
carrier_uuidstringFilter by carrier.
Responses
kindstringrequiredAssignment kind being displayed.
locationsobject[]requiredColumn headers.
rowsobject[]requiredOne row per plan (or UCR).
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/matrix" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/matrix" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedule-assignments/resolveResolve assignment for slot
Resolve the best-matching fee schedule assignment for a given slot. Uses the standard resolution precedence: plan-specific > carrier-level > UCR fallback. Returns the resolved assignment and the level at which it was found.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
location_uuidstringrequiredLocation UUID to resolve for.
kindstringrequiredAssignment kind to resolve (e.g., ucr, primary).
as_of_datestringrequiredDate of service for which to resolve the assignment.
carrier_uuidstringOptional carrier UUID for carrier-level resolution.
insurance_plan_uuidstringOptional plan UUID for plan-level resolution.
Responses
assignmentobjectFull fee schedule assignment output.
resolution_levelstringresolvedbooleanrequiredWhether an assignment was found for the given parameters.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/resolve" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/resolve" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedule-assignments/upcomingList upcoming changes
List future-dated assignments (effective_start > today). These represent upcoming changes that will take effect in the future.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
location_uuidstringFilter by location.
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Responses
itemsobject[]requiredtotalintegerrequireddetailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/upcoming" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/upcoming" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedule-assignments/validateValidate assignments
Run assignment health checks and return a validation report. Checks include: missing UCR, missing primary, archived schedule references, date overlaps, purpose/kind mismatches, and invalid estimate book references. Optionally filter to a single location.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
location_uuidstringFilter validation to a specific location.
Responses
issuesobject[]requiredList of validation issues.
statsobjectrequiredSummary statistics.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/validate" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/validate" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/locations/{location_uuid}/fee-schedule-assignmentsList assignments at location
List all fee schedule assignments at a specific location. Raises 404 if the location does not exist.
Parameters
Path Parameters
location_uuidstringrequiredorg_idstringrequiredQuery Parameters
assignment_kindstringFilter by assignment kind.
active_onlybooleanOnly return active (open-ended) assignments.
Default: true
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Responses
itemsobject[]requiredpageintegerrequiredpage_sizeintegerrequiredtotalintegerrequireddetailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/locations/{location_uuid}/fee-schedule-assignments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/locations/{location_uuid}/fee-schedule-assignments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/benefitsList patient benefit overrides
List patient-level benefit overrides for a patient plan. Returns only benefits directly attached to the patient plan (not plan-level defaults). Use the effective-benefits endpoint to see the merged view. Raises 404 if the patient plan does not exist.
Parameters
Path Parameters
patient_plan_uuidstringrequiredorg_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
benefit_typestringFilter by benefit type.
Responses
itemsobject[]requiredList of benefit records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching benefits.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/benefits" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/benefits" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/effective-benefitsGet effective benefits for patient plan
Return the merged effective benefits for a patient plan. Merges plan-level benefits with patient-level overrides. Patient overrides take precedence per (coverage_category, benefit_type) key. Raises 404 if the patient plan does not exist.
Parameters
Path Parameters
patient_plan_uuidstringrequiredorg_idstringrequiredResponses
itemsobject[]requiredList of benefit records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching benefits.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/effective-benefits" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/effective-benefits" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/verificationsList verifications for patient plan
List verification history for a specific patient plan. Returns verifications ordered by verified_at descending. Raises 404 if the patient plan does not exist.
Parameters
Path Parameters
patient_plan_uuidstringrequiredorg_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
verification_typestringFilter by verification type.
Responses
itemsobject[]requiredList of verification records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching verifications.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/verifications" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/verifications" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/patients/{patient_uuid}/insuranceList patient insurance plans
List all insurance plan assignments for a specific patient. Staff callers receive the full ``PatientPlanListOut`` shape (with COB overrides, fee-schedule refs, etc.). Raises 404 if the patient does not exist.
Parameters
Path Parameters
patient_uuidstringrequiredorg_idstringrequiredQuery Parameters
include_deletedbooleanInclude archived (soft-deleted) patient plans.
Default: false
Responses
itemsobject[]requiredList of patient plan records.
totalintegerrequiredTotal number of patient plans returned.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/{patient_plan_uuid}Get patient plan
Retrieve a single patient plan by UUID. Staff callers receive the full ``PatientPlanOut`` shape. Raises 404 if the patient or patient plan does not exist.
Parameters
Path Parameters
patient_uuidstringrequiredpatient_plan_uuidstringrequiredorg_idstringrequiredResponses
benefits_last_verified_atstring (date-time)benefits_summaryobjectPlan-level benefit totals. Usage values are zeros until claims tracking is implemented — only the *_total fields carry real data from ``InsuranceBenefit`` rows.
cob_order_overrideintegercoverage_typeenumrequiredCoverage type. One of: dental, medical, vision.
dentalmedicalvisioncreated_atstring (date-time)requiredTimestamp when the patient plan was created.
deleted_atstring (date-time)eligibility_last_verified_atstring (date-time)fee_scheduleobjectLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredPatient plan UUID.
is_pendingbooleanWhether this plan assignment is pending verification.
ordinalintegerrequiredPriority ordinal (1=primary, 2=secondary, 3=tertiary).
pat_id_overridestringpatientobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
relationship_to_subscriberenumrequiredRelationship to subscriber. One of: self, spouse, child, other.
childotherselfspousestatusenumPlan status. One of: active, inactive, pending_verification.
activeinactivepending_verificationsubscriptionobjectBrief subscription info nested inside PatientPlanOut. ``subscriber`` is non-nullable — ``subscriber_id`` is NOT NULL in the DB and the relationship must be eager-loaded. If the eager-load is missing, Pydantic validation will fail (desired fail-fast behavior).
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/{patient_plan_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/{patient_plan_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/plansList insurance plans
List insurance plans with optional filters, search, and sorting. Use ``carrier_uuid`` to show only plans belonging to a specific carrier.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
carrier_uuidstringFilter plans by carrier UUID.
plan_typestringFilter by plan type.
searchstringText search on plan name/group.
include_hiddenbooleanInclude hidden plans.
Default: false
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
sort_bystringSort column. One of: group_name, group_number, plan_type, created_at.
sort_order"asc" | "desc"Sort direction. One of: asc, desc.
ascdescDefault: "asc"
Responses
itemsobject[]requiredList of plan records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching plans.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/plans/{plan_uuid}Get insurance plan
Retrieve a single insurance plan by UUID. Raises 404 if the plan does not exist.
Parameters
Path Parameters
plan_uuidstringrequiredorg_idstringrequiredQuery Parameters
include_benefitsbooleanEagerly load benefit rows for this plan.
Default: false
Responses
assignment_of_benefitsbooleanWhether assignment of benefits is accepted.
benefit_year_start_monthintegerMonth (1-12) the benefit year starts.
carrierobjectBrief carrier reference embedded in plan output.
claim_form_typeenumrequiredClaim form type. One of: ada_2019, cms_1500.
ada_2019cms_1500claims_use_ucrbooleanWhether claims use UCR fees.
cob_ruleenumbasiccarve_outsecondary_medicaidstandardcreated_atstring (date-time)requiredTimestamp when the plan was created.
deleted_atstring (date-time)eclaim_send_behaviorenumrequiredE-claim send behavior. One of: send, do_not_send, secondary_only.
do_not_sendsecondary_onlysendfiling_codestringfiling_code_subtypestringgroup_namestringgroup_numberstringidstring (uuid)requiredPlan UUID.
is_hiddenbooleanWhether hidden from default list views.
is_medicalbooleanWhether this is a medical plan.
is_verification_exemptbooleanWhether verification-exempt.
ortho_auto_claim_days_waitintegerDays to wait between ortho auto-claims.
ortho_auto_claim_typeenumrequiredOrtho auto-claim type. One of: none, initial_only, initial_plus_visit, initial_plus_periodic.
initial_onlyinitial_plus_periodicinitial_plus_visitnoneortho_auto_fee_amtstringortho_auto_proc_codestringplan_notestringplan_typeenumrequiredPlan type. One of: category_percentage, ppo_percentage, ppo_fixed_benefit, medicaid_flat_copay, capitation.
capitationcategory_percentagemedicaid_flat_copayppo_fixed_benefitppo_percentagerelease_of_informationbooleanWhether release of information is authorized.
show_base_unitsbooleanWhether to show base units on claims.
substitution_code_behaviorenumrequiredSubstitution code behavior. One of: none, downgrade_to_amalgam, custom.
customdowngrade_to_amalgamnoneupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefitsList plan benefits
List benefits for an insurance plan with optional type filter. Raises 404 if the plan does not exist.
Parameters
Path Parameters
plan_uuidstringrequiredorg_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
benefit_typestringFilter by benefit type (e.g., coinsurance, deductible, annual_max).
Responses
itemsobject[]requiredList of benefit records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching benefits.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/{benefit_uuid}Get benefit
Retrieve a single benefit by UUID. Raises 404 if the plan or benefit does not exist.
Parameters
Path Parameters
plan_uuidstringrequiredbenefit_uuidstringrequiredorg_idstringrequiredResponses
age_maxintegerage_minintegerbenefit_typestringrequiredBenefit type. One of: coinsurance, deductible, annual_max, ortho_lifetime_max, exclusion, limitation, waiting_period, copayment, family_deductible, family_annual_max.
coverage_categoryobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredTimestamp when the benefit was created.
deleted_atstring (date-time)idstring (uuid)requiredBenefit UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
is_deductible_exemptbooleanWhether exempt from the deductible.
monetary_amtstringpatient_planobjectLightweight reference to a related entity — exposes UUID and optional name.
percentintegerprocedure_codeobjectBrief procedure code info embedded in fee entries.
quantityintegerquantity_qualifierstringsubstitution_codeobjectBrief procedure code info embedded in fee entries.
time_periodstringupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredCurrent version for optimistic concurrency.
waiting_period_monthsintegerdetailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/{benefit_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/{benefit_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/plans/{plan_uuid}/fee-schedule-assignmentsList assignments for plan
List all fee schedule assignments for a specific insurance plan. Raises 404 if the plan does not exist.
Parameters
Path Parameters
plan_uuidstringrequiredorg_idstringrequiredQuery Parameters
assignment_kindstringFilter by assignment kind.
active_onlybooleanOnly return active (open-ended) assignments.
Default: true
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Responses
itemsobject[]requiredpageintegerrequiredpage_sizeintegerrequiredtotalintegerrequireddetailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/fee-schedule-assignments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/fee-schedule-assignments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/plans/{plan_uuid}/subscriber-countGet subscriber count
Return the active subscriber and patient plan counts for a specific plan. Raises 404 if the plan does not exist.
Parameters
Path Parameters
plan_uuidstringrequiredorg_idstringrequiredResponses
active_patient_plan_countintegerrequiredNumber of active patient plans linked to this plan's subscriptions.
plan_uuidstring (uuid)requiredUUID of the plan.
subscriber_countintegerrequiredNumber of active subscribers (subscriptions) on this plan.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/subscriber-count" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/subscriber-count" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/plans/statsPlan stats
Batch stats for all active plans — subscriber counts and fee schedule counts. Returns one entry per plan. Designed for lazy-loading alongside the plan list so the main table renders immediately.
Parameters
Path Parameters
org_idstringrequiredResponses
itemsobject[]requiredOne stats entry per plan.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/stats" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/plans/stats" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/settingsGet insurance settings
Retrieve the organization's insurance settings. Creates default settings if none exist yet.
Parameters
Path Parameters
org_idstringrequiredResponses
allow_fee_exceed_ucrbooleanrequiredWhether insurance fees may exceed UCR.
allow_verification_without_appointmentbooleanrequiredAllow verification without appointment.
auto_calculate_estimatesbooleanrequiredAuto-calculate estimates.
auto_flag_unverifiedbooleanrequiredAuto-flag unverified insurance.
base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
benefits_verify_daysintegerrequiredDays between benefits re-verifications.
color_code_proceduresbooleanrequiredColor-code procedures by category.
created_atstring (date-time)requiredTimestamp when settings were created.
days_before_appointment_flagintegerrequiredDays before appointment to flag.
default_benefit_year_typestringrequiredBenefit year type. One of: calendar, fiscal.
default_cob_rulestringrequiredDefault COB rule. One of: basic, standard, carve_out, secondary_medicaid.
default_fiscal_year_startintegerrequiredFiscal year start month (1-12).
default_insurance_tabstringrequiredDefault tab. One of: benefits, claims, coverage.
eligibility_verify_daysintegerrequiredDays between eligibility re-verifications.
estimate_display_modestringrequiredHow estimates are displayed.
idstring (uuid)requiredSettings UUID.
include_write_offbooleanrequiredInclude write-offs in estimates.
show_alerts_on_check_inbooleanrequiredShow alerts during check-in.
show_on_bannerbooleanrequiredShow insurance in patient banner.
show_on_treatment_plansbooleanrequiredShow estimates on treatment plans.
show_remaining_benefitsbooleanrequiredShow remaining benefits in banner.
updated_atstring (date-time)requiredTimestamp of the last update.
write_off_methodstringrequiredWrite-off method. One of: lesser_of_ucr_fee, fee_only, ucr_only.
writeoff_on_exclusionbooleanrequiredAuto write-off on exclusion.
writeoff_on_frequency_limitbooleanrequiredAuto write-off on frequency limit.
writeoff_on_max_reachedbooleanrequiredAuto write-off when annual max reached.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/settings" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/settings" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/subscriptionsList subscriptions
List insurance subscriptions with optional filters. Filter by insurance_plan_uuid, subscriber_uuid, status, or search text.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
insurance_plan_uuidstringFilter by insurance plan UUID.
subscriber_uuidstringFilter by subscriber (patient) UUID.
statusstringFilter by status. One of: active, inactive, terminated.
searchstringText search on subscriber ID number.
Responses
itemsobject[]requiredList of subscription records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching subscriptions.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/subscriptions" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/subscriptions" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}Get subscription
Retrieve a single subscription by UUID. Raises 404 if the subscription does not exist.
Parameters
Path Parameters
subscription_uuidstringrequiredorg_idstringrequiredResponses
benefit_notesstringcarrierobjectBrief carrier reference embedded in plan output.
created_atstring (date-time)requiredTimestamp when the subscription was created.
date_effectivestring (date)date_termstring (date)deleted_atstring (date-time)idstring (uuid)requiredSubscription UUID.
insurance_planobjectBrief insurance plan reference embedded in subscription output.
last_verified_atstring (date-time)last_verified_sourcestringstatusstringrequiredSubscription status. One of: active, terminated, pending_verification.
subscriberobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
subscriber_id_numberstringrequiredSubscriber ID number from the carrier.
subscriber_notestringupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/verificationsList verifications
List insurance verifications filtered by patient plan or insurance plan. At least one of patient_plan_uuid or insurance_plan_uuid must be provided. Returns empty list if neither is provided.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
patient_plan_uuidstringFilter by patient plan UUID.
insurance_plan_uuidstringFilter by insurance plan UUID.
verification_typestringFilter by verification type. One of: eligibility, benefits.
Responses
itemsobject[]requiredList of verification records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching verifications.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/verifications" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/verifications" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/verifications/{verification_uuid}Get verification
Retrieve a single verification by UUID. Raises 404 if the verification does not exist.
Parameters
Path Parameters
verification_uuidstringrequiredorg_idstringrequiredResponses
assigned_to_user_uuidstring (uuid)call_duration_minutesintegercarrier_ref_numberstringcarrier_rep_namestringcreated_atstring (date-time)requiredTimestamp when the record was created.
deleted_atstring (date-time)idstring (uuid)requiredVerification UUID.
insurance_plan_uuidstring (uuid)next_verification_duestring (date)notesstringpatient_plan_uuidstring (uuid)raw_response_jsonobjectupdated_atstring (date-time)requiredTimestamp of the last update.
verification_sourceenumrequiredSource. One of: manual, phone, electronic, fax.
electronicfaxmanualphoneverification_statusenumrequiredStatus. One of: verified, failed, partial, unable_to_verify.
failedpartialunable_to_verifyverifiedverification_typeenumrequiredType. One of: eligibility, benefits.
benefitseligibilityverified_atstring (date-time)requiredTimestamp when the verification was performed.
verified_by_user_uuidstring (uuid)versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/verifications/{verification_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/verifications/{verification_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/carriersCreate carrier
Create a new insurance carrier. Raises 409 if a carrier with the same name already exists (idempotent).
Parameters
Path Parameters
org_idstringrequiredRequest Body
address_line1stringaddress_line2stringcarrier_group_namestringcarrier_namestringrequiredDisplay name for the carrier.
citystringcob_insurance_paid_behavior_overridestringelectronic_filing_typeenumdo_not_send_electronicallydo_not_send_secondary_electronicallysend_electronicallyelectronic_idstringera_automation_overrideenumauto_receivedo_not_processmanual_reviewis_hiddenbooleannotesstringphonestringstatestringtrust_levelenumstandardtrusteduntrustedzip_codestringResponses
address_line1stringaddress_line2stringcarrier_group_namestringcarrier_namestringrequiredDisplay name of the carrier.
citystringcob_insurance_paid_behavior_overridestringcreated_atstring (date-time)requiredTimestamp when the carrier was created.
deleted_atstring (date-time)electronic_filing_typeenumdo_not_send_electronicallydo_not_send_secondary_electronicallysend_electronicallyelectronic_idstringera_automation_overrideenumauto_receivedo_not_processmanual_reviewidstring (uuid)requiredCarrier UUID.
is_hiddenbooleanWhether the carrier is hidden from default list views.
notesstringphonestringstatestringtrust_levelenumrequiredTrust level. One of: standard, trusted, untrusted.
standardtrusteduntrustedupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
zip_codestringdetailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/carriers" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"address_line1": "string",
"address_line2": "string",
"carrier_group_name": "string",
"carrier_name": "string",
"city": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/carriers" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"address_line1": "string",
"address_line2": "string",
"carrier_group_name": "string",
"carrier_name": "string",
"city": "string"
}'/api/v1/{org_id}/insurance/carriers/{carrier_uuid}/archiveArchive carrier
Soft-delete a carrier by setting deleted_at. The carrier remains in the database but is excluded from default list views. Raises 404 if the carrier does not exist.
Parameters
Path Parameters
carrier_uuidstringrequiredorg_idstringrequiredResponses
address_line1stringaddress_line2stringcarrier_group_namestringcarrier_namestringrequiredDisplay name of the carrier.
citystringcob_insurance_paid_behavior_overridestringcreated_atstring (date-time)requiredTimestamp when the carrier was created.
deleted_atstring (date-time)electronic_filing_typeenumdo_not_send_electronicallydo_not_send_secondary_electronicallysend_electronicallyelectronic_idstringera_automation_overrideenumauto_receivedo_not_processmanual_reviewidstring (uuid)requiredCarrier UUID.
is_hiddenbooleanWhether the carrier is hidden from default list views.
notesstringphonestringstatestringtrust_levelenumrequiredTrust level. One of: standard, trusted, untrusted.
standardtrusteduntrustedupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
zip_codestringdetailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/carriers/{carrier_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/carriers/{carrier_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/carriers/combineCombine carriers
Merge multiple source carriers into a single target carrier. All plans from source carriers are moved to the target. Source carriers are archived after the merge. Raises 404 if any carrier UUID does not exist.
Parameters
Path Parameters
org_idstringrequiredRequest Body
source_uuidsstring (uuid)[]requiredUUIDs of carriers whose plans will be moved to the target.
target_uuidstring (uuid)requiredUUID of the carrier that will absorb plans from source carriers.
Responses
carrierobjectrequiredFull insurance carrier output.
plans_movedintegerrequiredNumber of plans moved from source carriers to the target.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/carriers/combine" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source_uuids": [],
"target_uuid": "00000000-0000-0000-0000-000000000000"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/carriers/combine" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source_uuids": [],
"target_uuid": "00000000-0000-0000-0000-000000000000"
}'/api/v1/{org_id}/insurance/coverage-categoriesCreate coverage category
Create a new coverage category. Raises 409 on idempotency conflict.
Parameters
Path Parameters
org_idstringrequiredRequest Body
category_namestringrequiredDisplay name for the category (e.g., 'Preventive').
descriptionstringis_hiddenbooleanitem_orderintegerResponses
category_namestringrequiredDisplay name of the category.
created_atstring (date-time)requiredTimestamp when the category was created.
deleted_atstring (date-time)descriptionstringidstring (uuid)requiredCategory UUID.
is_hiddenbooleanWhether hidden from default list views.
is_systembooleanWhether this is a system-seeded category protected from archiving.
item_orderintegerSort order among categories.
spansobject[]updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"category_name": "string",
"description": "string",
"is_hidden": null,
"item_order": 1
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"category_name": "string",
"description": "string",
"is_hidden": null,
"item_order": 1
}'/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/archiveArchive coverage category
Soft-delete a coverage category by setting deleted_at. Raises 404 if the category does not exist.
Parameters
Path Parameters
category_uuidstringrequiredorg_idstringrequiredResponses
category_namestringrequiredDisplay name of the category.
created_atstring (date-time)requiredTimestamp when the category was created.
deleted_atstring (date-time)descriptionstringidstring (uuid)requiredCategory UUID.
is_hiddenbooleanWhether hidden from default list views.
is_systembooleanWhether this is a system-seeded category protected from archiving.
item_orderintegerSort order among categories.
spansobject[]updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spansCreate coverage span
Create a procedure code span in a coverage category. Returns the new span plus any overlapping spans as warnings. Raises 404 if the category does not exist.
Parameters
Path Parameters
category_uuidstringrequiredorg_idstringrequiredRequest Body
from_codestringrequiredStart of the procedure code range (inclusive, e.g., 'D0100').
is_exclusionbooleanitem_orderintegerto_codestringrequiredEnd of the procedure code range (inclusive, e.g., 'D0999').
Responses
overlapping_spansobject[]requiredSpans with overlapping code ranges (for warning display).
spanobjectrequiredFull procedure code span output.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spans" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"from_code": "string",
"is_exclusion": null,
"item_order": 1,
"to_code": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spans" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"from_code": "string",
"is_exclusion": null,
"item_order": 1,
"to_code": "string"
}'/api/v1/{org_id}/insurance/coverage-categories/reorderReorder coverage categories
Batch-update the sort order of multiple coverage categories. All referenced categories must exist.
Parameters
Path Parameters
org_idstringrequiredRequest Body
itemsobject[]requiredList of category UUIDs with their new sort orders.
Responses
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/reorder" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"items": []
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/reorder" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"items": []
}'/api/v1/{org_id}/insurance/drafts/{draft_uuid}/convertConvert draft
Convert a matched draft into a subscription and patient plan. Creates real insurance records from the draft data. Raises 404 if the draft does not exist. Raises 422 if the draft is not in 'matched' status.
Parameters
Path Parameters
draft_uuidstringrequiredorg_idstringrequiredResponses
draftobjectrequiredThe updated draft (status=converted).
patient_planobjectrequiredThe created patient plan.
subscriptionobjectrequiredThe created subscription.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/drafts/{draft_uuid}/convert" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/drafts/{draft_uuid}/convert" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/drafts/{draft_uuid}/rejectReject draft
Reject a draft with a reason. Sets review_status to 'rejected'. Raises 404 if the draft does not exist.
Parameters
Path Parameters
draft_uuidstringrequiredorg_idstringrequiredRequest Body
reasonstringrequiredReason for rejecting the draft.
Responses
conversion_errorstringconverted_patient_planobjectLightweight reference to a related entity — exposes UUID and optional name.
converted_subscriptionobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredTimestamp when the draft was created.
idstring (uuid)requiredDraft UUID.
matched_carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
matched_planobjectLightweight reference to a related entity — exposes UUID and optional name.
patientobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
raw_data_jsonobjectrequiredOriginal raw import data.
review_statusstringrequiredReview status. One of: pending, matched, converted, rejected, error.
reviewed_atstring (date-time)reviewed_by_user_uuidstring (uuid)source_refstringsource_systemstringsubscriber_patientobjectLightweight reference to a related entity — exposes UUID and optional name.
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/drafts/{draft_uuid}/reject" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reason": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/drafts/{draft_uuid}/reject" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reason": "string"
}'/api/v1/{org_id}/insurance/drafts/{draft_uuid}/rematchRe-run matching on a draft
Re-run auto-matching on an insurance draft. Clears existing carrier/plan matches and re-runs the auto-match algorithm. Only allowed on drafts that have not been converted. Raises 404 if the draft does not exist. Raises 409 if the draft has already been converted.
Parameters
Path Parameters
draft_uuidstringrequiredorg_idstringrequiredResponses
conversion_errorstringconverted_patient_planobjectLightweight reference to a related entity — exposes UUID and optional name.
converted_subscriptionobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredTimestamp when the draft was created.
idstring (uuid)requiredDraft UUID.
matched_carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
matched_planobjectLightweight reference to a related entity — exposes UUID and optional name.
patientobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
raw_data_jsonobjectrequiredOriginal raw import data.
review_statusstringrequiredReview status. One of: pending, matched, converted, rejected, error.
reviewed_atstring (date-time)reviewed_by_user_uuidstring (uuid)source_refstringsource_systemstringsubscriber_patientobjectLightweight reference to a related entity — exposes UUID and optional name.
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/drafts/{draft_uuid}/rematch" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/drafts/{draft_uuid}/rematch" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/drafts/importImport drafts
Import raw insurance data as draft records for review. Each row becomes a separate draft. Auto-matching is attempted. Raises 404 if the patient does not exist.
Parameters
Path Parameters
org_idstringrequiredRequest Body
patient_uuidstring (uuid)requiredUUID of the patient these drafts belong to.
rowsobject[]requiredRaw insurance data rows to import.
source_systemstringResponses
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/drafts/import" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"patient_uuid": "00000000-0000-0000-0000-000000000000",
"rows": [],
"source_system": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/drafts/import" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"patient_uuid": "00000000-0000-0000-0000-000000000000",
"rows": [],
"source_system": "string"
}'/api/v1/{org_id}/insurance/estimate-booksCreate estimate book
Create a new estimate book for allowed fee computation. Raises 409 on idempotency conflict.
Parameters
Path Parameters
org_idstringrequiredRequest Body
allowed_fee_schedule_uuidstring (uuid)carrier_uuidstring (uuid)claim_match_methodstringexclude_over_ucrbooleaninsurance_plan_uuidstring (uuid)namestringrequiredDisplay name for the estimate book.
rule_typestringrequiredRule type for fee computation. One of: manual_fee_schedule, allowed_from_claims, ucr_fallback.
scope_typestringstatusstringResponses
allowed_fee_scheduleobjectLightweight reference to a related entity — exposes UUID and optional name.
carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
claim_match_methodstringcreated_atstring (date-time)requiredTimestamp when the book was created.
deleted_atstring (date-time)exclude_over_ucrbooleanWhether to cap allowed fees at the UCR amount.
idstring (uuid)requiredEstimate book UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
namestringrequiredDisplay name.
rule_typestringrequiredRule type. One of: manual_fee_schedule, allowed_from_claims, ucr_fallback.
scope_typestringrequiredScope. One of: tenant, carrier, plan.
statusstringrequiredStatus. One of: active, archived.
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allowed_fee_schedule_uuid": "string",
"carrier_uuid": "string",
"claim_match_method": "string",
"exclude_over_ucr": null,
"insurance_plan_uuid": "string",
"name": "string",
"rule_type": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allowed_fee_schedule_uuid": "string",
"carrier_uuid": "string",
"claim_match_method": "string",
"exclude_over_ucr": null,
"insurance_plan_uuid": "string",
"name": "string",
"rule_type": "string"
}'/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/adjustment-logsCreate adjustment log
Record a fee adjustment for an estimate book. Raises 404 if the estimate book, procedure code, or linked run does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredRequest Body
change_reasonstringrequiredReason for the change. One of: rule_match, manual_override, recompute.
delta_allowed_feenumberdescriptionstringrequiredHuman-readable description of the adjustment.
estimate_book_run_uuidstring (uuid)insurance_claim_procedure_identifierintegerinsurance_procedure_estimate_idintegernew_allowed_feenumberrequiredNew allowed fee after adjustment.
previous_allowed_feenumberprocedure_code_uuidstring (uuid)requiredUUID of the procedure code adjusted.
Responses
change_reasonstringrequiredReason. One of: rule_match, manual_override, recompute.
created_atstring (date-time)requiredTimestamp when the log entry was created.
delta_allowed_feenumberdescriptionstringrequiredDescription of the adjustment.
estimate_bookobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
estimate_book_runobjectLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredAdjustment log UUID.
insurance_claim_procedure_identifierintegerinsurance_procedure_estimate_idintegernew_allowed_feenumberrequiredNew allowed fee.
previous_allowed_feenumberprocedure_codeobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/adjustment-logs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"change_reason": "string",
"delta_allowed_fee": null,
"description": "string",
"estimate_book_run_uuid": "string",
"insurance_claim_procedure_identifier": 1,
"new_allowed_fee": 1,
"procedure_code_uuid": "00000000-0000-0000-0000-000000000000"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/adjustment-logs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"change_reason": "string",
"delta_allowed_fee": null,
"description": "string",
"estimate_book_run_uuid": "string",
"insurance_claim_procedure_identifier": 1,
"new_allowed_fee": 1,
"procedure_code_uuid": "00000000-0000-0000-0000-000000000000"
}'/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-feesCreate allowed fee
Create a computed allowed fee entry. Raises 404 if the estimate book, procedure code, or linked run/step does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredRequest Body
allowed_feenumberrequiredComputed allowed fee amount.
computed_atstring (date-time)requiredTimestamp when the fee was computed.
confidencestringestimate_book_rule_step_uuidstring (uuid)estimate_book_run_uuidstring (uuid)expires_atstring (date-time)group_numberstringprocedure_code_uuidstring (uuid)requiredUUID of the procedure code.
resolution_scope_identifierintegerresolution_scope_typestringrequiredScope at which the fee was resolved. One of: insurance_plan, group_number, insurance_carrier.
sample_countintegerNumber of evidence entries used to compute the fee.
Responses
allowed_feenumberrequiredComputed allowed fee amount.
computed_atstring (date-time)requiredWhen the fee was computed.
confidencestringcreated_atstring (date-time)requiredTimestamp when the entry was created.
estimate_bookobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
estimate_book_rule_stepobjectLightweight reference to a related entity — exposes UUID and optional name.
estimate_book_runobjectLightweight reference to a related entity — exposes UUID and optional name.
expires_atstring (date-time)group_numberstringidstring (uuid)requiredAllowed fee UUID.
procedure_codeobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
resolution_scope_identifierintegerresolution_scope_typestringrequiredScope. One of: insurance_plan, group_number, insurance_carrier.
sample_countintegerrequiredNumber of evidence entries used.
updated_atstring (date-time)requiredTimestamp of the last update.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-fees" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allowed_fee": 1,
"computed_at": "2025-01-15T09:00:00Z",
"confidence": "string",
"estimate_book_rule_step_uuid": "string",
"estimate_book_run_uuid": "string",
"procedure_code_uuid": "00000000-0000-0000-0000-000000000000",
"resolution_scope_type": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-fees" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allowed_fee": 1,
"computed_at": "2025-01-15T09:00:00Z",
"confidence": "string",
"estimate_book_rule_step_uuid": "string",
"estimate_book_run_uuid": "string",
"procedure_code_uuid": "00000000-0000-0000-0000-000000000000",
"resolution_scope_type": "string"
}'/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/archiveArchive estimate book
Soft-delete an estimate book by setting deleted_at. Raises 404 if the estimate book does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredResponses
allowed_fee_scheduleobjectLightweight reference to a related entity — exposes UUID and optional name.
carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
claim_match_methodstringcreated_atstring (date-time)requiredTimestamp when the book was created.
deleted_atstring (date-time)exclude_over_ucrbooleanWhether to cap allowed fees at the UCR amount.
idstring (uuid)requiredEstimate book UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
namestringrequiredDisplay name.
rule_typestringrequiredRule type. One of: manual_fee_schedule, allowed_from_claims, ucr_fallback.
scope_typestringrequiredScope. One of: tenant, carrier, plan.
statusstringrequiredStatus. One of: active, archived.
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/evidenceCreate evidence entry
Record a claim payment observation as evidence. Raises 404 if the estimate book or procedure code does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredRequest Body
allowed_overridenumbercarrier_uuidstring (uuid)claim_rolestringclinical_procedure_uuidstring (uuid)group_numberstringinsurance_claim_identifierintegerinsurance_claim_procedure_identifierintegerinsurance_payment_amountnumberinsurance_plan_uuidstring (uuid)procedure_code_uuidstring (uuid)requiredUUID of the procedure code observed.
procedure_service_datestring (date)requiredDate the procedure was performed.
source_typestringrequiredSource of this evidence. One of: adjudicated_claim, import, manual.
Responses
allowed_overridenumbercarrierobjectLightweight reference to a related entity — exposes UUID and optional name.
claim_rolestringclinical_procedure_uuidstring (uuid)created_atstring (date-time)requiredTimestamp when the entry was created.
estimate_bookobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
group_numberstringidstring (uuid)requiredEvidence entry UUID.
insurance_claim_identifierintegerinsurance_claim_procedure_identifierintegerinsurance_payment_amountnumberinsurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
procedure_codeobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
procedure_service_datestring (date)requiredDate the procedure was performed.
source_typestringrequiredEvidence source. One of: adjudicated_claim, import, manual.
updated_atstring (date-time)requiredTimestamp of the last update.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/evidence" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allowed_override": null,
"carrier_uuid": "string",
"claim_role": "string",
"clinical_procedure_uuid": "string",
"group_number": "string",
"procedure_code_uuid": "00000000-0000-0000-0000-000000000000",
"procedure_service_date": "2025-01-15",
"source_type": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/evidence" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allowed_override": null,
"carrier_uuid": "string",
"claim_role": "string",
"clinical_procedure_uuid": "string",
"group_number": "string",
"procedure_code_uuid": "00000000-0000-0000-0000-000000000000",
"procedure_service_date": "2025-01-15",
"source_type": "string"
}'/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/recomputeRecompute estimate book
Start a recomputation run for the estimate book. Creates a new run and recomputes all allowed fees. Raises 404 if the estimate book does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredResponses
created_atstring (date-time)requiredTimestamp when the run record was created.
deleted_atstring (date-time)errorstringestimate_bookobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
finished_atstring (date-time)idstring (uuid)requiredRun UUID.
started_atstring (date-time)requiredTimestamp when the run started.
statusstringrequiredRun status. One of: running, completed, failed.
summary_jsonobjectupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/recompute" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/recompute" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-stepsCreate rule step
Create a rule step defining fee computation logic. Raises 404 if the estimate book does not exist.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredRequest Body
is_activebooleanWhether this step is active.
limit_typestringLimit type for sample filtering. One of: none, years, months, weeks, days.
limit_valueintegerLimit value (e.g., 2 for '2 years').
priority_orderintegerrequiredExecution order (lower runs first).
rule_typestringrequiredRule type. One of: insurance_plan, group_number, insurance_carrier, insurance_carrier_group, manual_fee_schedule, provider_fee.
Responses
created_atstring (date-time)requiredTimestamp when the step was created.
estimate_bookobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredRule step UUID.
is_activebooleanrequiredWhether this step is active.
limit_typestringrequiredLimit type. One of: none, years, months, weeks, days.
limit_valueintegerrequiredLimit value (e.g., 2 for '2 years').
priority_orderintegerrequiredExecution order (lower runs first).
rule_typestringrequiredRule type. One of: insurance_plan, group_number, insurance_carrier, insurance_carrier_group, manual_fee_schedule, provider_fee.
updated_atstring (date-time)requiredTimestamp of the last update.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-steps" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_active": true,
"limit_type": "none",
"limit_value": 0,
"priority_order": 1,
"rule_type": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-steps" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_active": true,
"limit_type": "none",
"limit_value": 0,
"priority_order": 1,
"rule_type": "string"
}'/api/v1/{org_id}/insurance/fee-resolution/debugDebug fee resolution
Trace the full fee resolution process step by step. Walks the assignment hierarchy for each kind (ucr, primary, copay, etc.) and shows match/skip/miss at each level. Does NOT invoke the full estimation orchestrator — this is a diagnostic tool for assignment configuration. Raises 404 if any referenced entity (location, plan, procedure code) is not found.
Parameters
Path Parameters
org_idstringrequiredRequest Body
date_of_servicestring (date)requiredDate of service for resolution.
insurance_plan_uuidstring (uuid)requiredInsurance plan UUID for the patient.
location_uuidstring (uuid)requiredLocation UUID where the procedure is performed.
procedure_codestringrequiredCDT procedure code (e.g., 'D0120').
provider_uuidstring (uuid)Responses
date_of_servicestring (date)requiredThe date of service used.
insurance_planobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
locationobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
procedure_codestringrequiredThe procedure code queried.
statusstringrequiredOverall status. One of: resolved, partial, no_match.
summaryobjectrequiredPer-kind resolved fees (e.g., {'ucr': 150.00, 'primary': 120.00}).
tracesobject[]requiredDetailed per-kind resolution traces.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-resolution/debug" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"date_of_service": "2025-01-15",
"insurance_plan_uuid": "00000000-0000-0000-0000-000000000000",
"location_uuid": "00000000-0000-0000-0000-000000000000",
"procedure_code": "string",
"provider_uuid": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-resolution/debug" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"date_of_service": "2025-01-15",
"insurance_plan_uuid": "00000000-0000-0000-0000-000000000000",
"location_uuid": "00000000-0000-0000-0000-000000000000",
"procedure_code": "string",
"provider_uuid": "string"
}'/api/v1/{org_id}/insurance/fee-schedule-assignmentsCreate assignment
Create a new fee schedule assignment linking a schedule to a location slot. Validates purpose-kind compatibility and checks for date-range overlaps. Raises 409 if an overlapping assignment already exists in the same slot. Raises 422 if the fee schedule purpose is incompatible with the assignment kind.
Parameters
Path Parameters
org_idstringrequiredRequest Body
assignment_kindstringrequiredKind of assignment. One of: ucr, primary, copay, out_of_network, allowed, manual_blue_book.
carrier_uuidstring (uuid)effective_endstring (date)effective_startstring (date)estimate_book_uuidstring (uuid)fee_schedule_uuidstring (uuid)requiredFee schedule to assign.
insurance_plan_uuidstring (uuid)location_uuidstring (uuid)requiredLocation this assignment applies to.
notesstringResponses
assignment_kindstringrequiredKind of assignment. One of: ucr, primary, copay, out_of_network, allowed, manual_blue_book.
carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredeffective_endstring (date)effective_startstring (date)requiredStart date of this assignment.
estimate_bookobjectLightweight reference to a related entity — exposes UUID and optional name.
fee_scheduleobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredAssignment UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
locationobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
notesstringupdated_atstring (date-time)requiredversionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assignment_kind": "string",
"carrier_uuid": "string",
"effective_end": "string",
"effective_start": "string",
"estimate_book_uuid": "string",
"fee_schedule_uuid": "00000000-0000-0000-0000-000000000000",
"location_uuid": "00000000-0000-0000-0000-000000000000"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assignment_kind": "string",
"carrier_uuid": "string",
"effective_end": "string",
"effective_start": "string",
"estimate_book_uuid": "string",
"fee_schedule_uuid": "00000000-0000-0000-0000-000000000000",
"location_uuid": "00000000-0000-0000-0000-000000000000"
}'/api/v1/{org_id}/insurance/fee-schedule-assignments/{assignment_uuid}/archiveArchive assignment
Archive (soft-delete) a fee schedule assignment. Raises 404 if the assignment does not exist.
Parameters
Path Parameters
assignment_uuidstringrequiredorg_idstringrequiredResponses
assignment_kindstringrequiredKind of assignment. One of: ucr, primary, copay, out_of_network, allowed, manual_blue_book.
carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredeffective_endstring (date)effective_startstring (date)requiredStart date of this assignment.
estimate_bookobjectLightweight reference to a related entity — exposes UUID and optional name.
fee_scheduleobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredAssignment UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
locationobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
notesstringupdated_atstring (date-time)requiredversionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/{assignment_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/{assignment_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedule-assignments/bulkBulk assign to locations
Assign a fee schedule to multiple locations in a single request. Each location is processed independently inside a savepoint — failures on individual locations do not roll back other locations. Returns a per-location result set with success/failure status. Raises 422 if assignment_kind is invalid or fee schedule purpose is incompatible.
Parameters
Path Parameters
org_idstringrequiredRequest Body
assignment_kindstringrequiredKind of assignment. One of: ucr, primary, copay, out_of_network, allowed, manual_blue_book.
carrier_uuidstring (uuid)effective_endstring (date)effective_startstring (date)estimate_book_uuidstring (uuid)fee_schedule_uuidstring (uuid)requiredFee schedule to assign to each location.
insurance_plan_uuidstring (uuid)location_uuidsstring (uuid)[]requiredLocation UUIDs to assign the fee schedule to (1–100).
notesstringResponses
failedintegerrequiredNumber of locations that failed.
resultsobject[]requiredPer-location results.
succeededintegerrequiredNumber of locations that succeeded.
totalintegerrequiredTotal number of locations attempted.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/bulk" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assignment_kind": "string",
"carrier_uuid": "string",
"effective_end": "string",
"effective_start": "string",
"estimate_book_uuid": "string",
"fee_schedule_uuid": "00000000-0000-0000-0000-000000000000",
"location_uuids": []
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/bulk" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assignment_kind": "string",
"carrier_uuid": "string",
"effective_end": "string",
"effective_start": "string",
"estimate_book_uuid": "string",
"fee_schedule_uuid": "00000000-0000-0000-0000-000000000000",
"location_uuids": []
}'/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/benefitsCreate patient benefit override
Create a patient-level benefit override for a patient plan. This benefit overrides the plan-level default for the same (coverage_category, benefit_type) combination. Raises 404 if the patient plan does not exist. Raises 409 if a conflicting benefit already exists.
Parameters
Path Parameters
patient_plan_uuidstringrequiredorg_idstringrequiredRequest Body
age_maxintegerage_minintegerbenefit_typestringrequiredBenefit type. One of: coinsurance, deductible, annual_max, ortho_lifetime_max, exclusion, limitation, waiting_period, copayment, family_deductible, family_annual_max.
coverage_category_uuidstring (uuid)is_deductible_exemptbooleanmonetary_amtnumberpercentintegerprocedure_code_uuidstring (uuid)quantityintegerquantity_qualifierstringsubstitution_code_uuidstring (uuid)time_periodstringwaiting_period_monthsintegerResponses
age_maxintegerage_minintegerbenefit_typestringrequiredBenefit type. One of: coinsurance, deductible, annual_max, ortho_lifetime_max, exclusion, limitation, waiting_period, copayment, family_deductible, family_annual_max.
coverage_categoryobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredTimestamp when the benefit was created.
deleted_atstring (date-time)idstring (uuid)requiredBenefit UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
is_deductible_exemptbooleanWhether exempt from the deductible.
monetary_amtstringpatient_planobjectLightweight reference to a related entity — exposes UUID and optional name.
percentintegerprocedure_codeobjectBrief procedure code info embedded in fee entries.
quantityintegerquantity_qualifierstringsubstitution_codeobjectBrief procedure code info embedded in fee entries.
time_periodstringupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredCurrent version for optimistic concurrency.
waiting_period_monthsintegerdetailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/benefits" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"age_max": 1,
"age_min": 1,
"benefit_type": "string",
"coverage_category_uuid": "string",
"is_deductible_exempt": null
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/patient-plans/{patient_plan_uuid}/benefits" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"age_max": 1,
"age_min": 1,
"benefit_type": "string",
"coverage_category_uuid": "string",
"is_deductible_exempt": null
}'/api/v1/{org_id}/insurance/patients/{patient_uuid}/insuranceCreate patient plan
Assign an insurance plan to a patient via subscription. Raises 404 if the patient or subscription does not exist. Raises 422 if the patient already has 3 plans assigned.
Parameters
Path Parameters
patient_uuidstringrequiredorg_idstringrequiredRequest Body
cob_order_overrideintegercoverage_typeenumdentalmedicalvisionfee_schedule_uuidstring (uuid)insurance_subscription_uuidstring (uuid)requiredUUID of the insurance subscription to link.
is_pendingbooleanordinalintegerpat_id_overridestringrelationship_to_subscriberenumrequiredRelationship to the subscriber. One of: self, spouse, child, other.
childotherselfspouseResponses
benefits_last_verified_atstring (date-time)benefits_summaryobjectPlan-level benefit totals. Usage values are zeros until claims tracking is implemented — only the *_total fields carry real data from ``InsuranceBenefit`` rows.
cob_order_overrideintegercoverage_typeenumrequiredCoverage type. One of: dental, medical, vision.
dentalmedicalvisioncreated_atstring (date-time)requiredTimestamp when the patient plan was created.
deleted_atstring (date-time)eligibility_last_verified_atstring (date-time)fee_scheduleobjectLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredPatient plan UUID.
is_pendingbooleanWhether this plan assignment is pending verification.
ordinalintegerrequiredPriority ordinal (1=primary, 2=secondary, 3=tertiary).
pat_id_overridestringpatientobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
relationship_to_subscriberenumrequiredRelationship to subscriber. One of: self, spouse, child, other.
childotherselfspousestatusenumPlan status. One of: active, inactive, pending_verification.
activeinactivepending_verificationsubscriptionobjectBrief subscription info nested inside PatientPlanOut. ``subscriber`` is non-nullable — ``subscriber_id`` is NOT NULL in the DB and the relationship must be eager-loaded. If the eager-load is missing, Pydantic validation will fail (desired fail-fast behavior).
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cob_order_override": 1,
"coverage_type": "string",
"fee_schedule_uuid": "string",
"insurance_subscription_uuid": "00000000-0000-0000-0000-000000000000",
"is_pending": null,
"relationship_to_subscriber": "child"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cob_order_override": 1,
"coverage_type": "string",
"fee_schedule_uuid": "string",
"insurance_subscription_uuid": "00000000-0000-0000-0000-000000000000",
"is_pending": null,
"relationship_to_subscriber": "child"
}'/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/{patient_plan_uuid}/archiveArchive patient plan
Soft-delete a patient plan assignment. Raises 404 if the patient or patient plan does not exist.
Parameters
Path Parameters
patient_uuidstringrequiredpatient_plan_uuidstringrequiredorg_idstringrequiredResponses
benefits_last_verified_atstring (date-time)benefits_summaryobjectPlan-level benefit totals. Usage values are zeros until claims tracking is implemented — only the *_total fields carry real data from ``InsuranceBenefit`` rows.
cob_order_overrideintegercoverage_typeenumrequiredCoverage type. One of: dental, medical, vision.
dentalmedicalvisioncreated_atstring (date-time)requiredTimestamp when the patient plan was created.
deleted_atstring (date-time)eligibility_last_verified_atstring (date-time)fee_scheduleobjectLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredPatient plan UUID.
is_pendingbooleanWhether this plan assignment is pending verification.
ordinalintegerrequiredPriority ordinal (1=primary, 2=secondary, 3=tertiary).
pat_id_overridestringpatientobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
relationship_to_subscriberenumrequiredRelationship to subscriber. One of: self, spouse, child, other.
childotherselfspousestatusenumPlan status. One of: active, inactive, pending_verification.
activeinactivepending_verificationsubscriptionobjectBrief subscription info nested inside PatientPlanOut. ``subscriber`` is non-nullable — ``subscriber_id`` is NOT NULL in the DB and the relationship must be eager-loaded. If the eager-load is missing, Pydantic validation will fail (desired fail-fast behavior).
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/{patient_plan_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/{patient_plan_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/reorderReorder patient plans
Change the priority ordering of a patient's insurance plans. Updates ordinal values (1=primary, 2=secondary, 3=tertiary). Raises 404 if the patient or any patient plan does not exist.
Parameters
Path Parameters
patient_uuidstringrequiredorg_idstringrequiredRequest Body
itemsobject[]requiredList of patient plan UUIDs with their new ordinals.
Responses
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/reorder" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"items": []
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/reorder" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"items": []
}'/api/v1/{org_id}/insurance/plansCreate insurance plan
Create a new insurance plan under a carrier. Raises 404 if the carrier_uuid does not exist. Raises 409 on idempotency conflict.
Parameters
Path Parameters
org_idstringrequiredRequest Body
assignment_of_benefitsbooleanbenefit_year_start_monthintegercarrier_uuidstring (uuid)requiredUUID of the carrier this plan belongs to.
claim_form_typeenumada_2019cms_1500claims_use_ucrbooleancob_ruleenumbasiccarve_outsecondary_medicaidstandardeclaim_send_behaviorenumdo_not_sendsecondary_onlysendfiling_codestringfiling_code_subtypestringgroup_namestringgroup_numberstringis_hiddenbooleanis_medicalbooleanis_verification_exemptbooleanortho_auto_claim_days_waitintegerortho_auto_claim_typeenuminitial_onlyinitial_plus_periodicinitial_plus_visitnoneortho_auto_fee_amtnumberortho_auto_proc_codestringplan_notestringplan_typeenumrequiredPlan type. One of: category_percentage, ppo_percentage, ppo_fixed_benefit, medicaid_flat_copay, capitation.
capitationcategory_percentagemedicaid_flat_copayppo_fixed_benefitppo_percentagerelease_of_informationbooleanshow_base_unitsbooleansubstitution_code_behaviorenumcustomdowngrade_to_amalgamnoneResponses
assignment_of_benefitsbooleanWhether assignment of benefits is accepted.
benefit_year_start_monthintegerMonth (1-12) the benefit year starts.
carrierobjectBrief carrier reference embedded in plan output.
claim_form_typeenumrequiredClaim form type. One of: ada_2019, cms_1500.
ada_2019cms_1500claims_use_ucrbooleanWhether claims use UCR fees.
cob_ruleenumbasiccarve_outsecondary_medicaidstandardcreated_atstring (date-time)requiredTimestamp when the plan was created.
deleted_atstring (date-time)eclaim_send_behaviorenumrequiredE-claim send behavior. One of: send, do_not_send, secondary_only.
do_not_sendsecondary_onlysendfiling_codestringfiling_code_subtypestringgroup_namestringgroup_numberstringidstring (uuid)requiredPlan UUID.
is_hiddenbooleanWhether hidden from default list views.
is_medicalbooleanWhether this is a medical plan.
is_verification_exemptbooleanWhether verification-exempt.
ortho_auto_claim_days_waitintegerDays to wait between ortho auto-claims.
ortho_auto_claim_typeenumrequiredOrtho auto-claim type. One of: none, initial_only, initial_plus_visit, initial_plus_periodic.
initial_onlyinitial_plus_periodicinitial_plus_visitnoneortho_auto_fee_amtstringortho_auto_proc_codestringplan_notestringplan_typeenumrequiredPlan type. One of: category_percentage, ppo_percentage, ppo_fixed_benefit, medicaid_flat_copay, capitation.
capitationcategory_percentagemedicaid_flat_copayppo_fixed_benefitppo_percentagerelease_of_informationbooleanWhether release of information is authorized.
show_base_unitsbooleanWhether to show base units on claims.
substitution_code_behaviorenumrequiredSubstitution code behavior. One of: none, downgrade_to_amalgam, custom.
customdowngrade_to_amalgamnoneupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assignment_of_benefits": null,
"benefit_year_start_month": 1,
"carrier_uuid": "00000000-0000-0000-0000-000000000000",
"claim_form_type": "string",
"claims_use_ucr": null,
"plan_type": "capitation"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assignment_of_benefits": null,
"benefit_year_start_month": 1,
"carrier_uuid": "00000000-0000-0000-0000-000000000000",
"claim_form_type": "string",
"claims_use_ucr": null,
"plan_type": "capitation"
}'/api/v1/{org_id}/insurance/plans/{plan_uuid}/archiveArchive insurance plan
Soft-delete an insurance plan by setting deleted_at. Raises 404 if the plan does not exist.
Parameters
Path Parameters
plan_uuidstringrequiredorg_idstringrequiredResponses
assignment_of_benefitsbooleanWhether assignment of benefits is accepted.
benefit_year_start_monthintegerMonth (1-12) the benefit year starts.
carrierobjectBrief carrier reference embedded in plan output.
claim_form_typeenumrequiredClaim form type. One of: ada_2019, cms_1500.
ada_2019cms_1500claims_use_ucrbooleanWhether claims use UCR fees.
cob_ruleenumbasiccarve_outsecondary_medicaidstandardcreated_atstring (date-time)requiredTimestamp when the plan was created.
deleted_atstring (date-time)eclaim_send_behaviorenumrequiredE-claim send behavior. One of: send, do_not_send, secondary_only.
do_not_sendsecondary_onlysendfiling_codestringfiling_code_subtypestringgroup_namestringgroup_numberstringidstring (uuid)requiredPlan UUID.
is_hiddenbooleanWhether hidden from default list views.
is_medicalbooleanWhether this is a medical plan.
is_verification_exemptbooleanWhether verification-exempt.
ortho_auto_claim_days_waitintegerDays to wait between ortho auto-claims.
ortho_auto_claim_typeenumrequiredOrtho auto-claim type. One of: none, initial_only, initial_plus_visit, initial_plus_periodic.
initial_onlyinitial_plus_periodicinitial_plus_visitnoneortho_auto_fee_amtstringortho_auto_proc_codestringplan_notestringplan_typeenumrequiredPlan type. One of: category_percentage, ppo_percentage, ppo_fixed_benefit, medicaid_flat_copay, capitation.
capitationcategory_percentagemedicaid_flat_copayppo_fixed_benefitppo_percentagerelease_of_informationbooleanWhether release of information is authorized.
show_base_unitsbooleanWhether to show base units on claims.
substitution_code_behaviorenumrequiredSubstitution code behavior. One of: none, downgrade_to_amalgam, custom.
customdowngrade_to_amalgamnoneupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefitsCreate benefit
Create a benefit rule for an insurance plan. Raises 404 if the plan or any referenced entity does not exist. Raises 409 on idempotency conflict.
Parameters
Path Parameters
plan_uuidstringrequiredorg_idstringrequiredRequest Body
age_maxintegerage_minintegerbenefit_typestringrequiredBenefit type. One of: coinsurance, deductible, annual_max, ortho_lifetime_max, exclusion, limitation, waiting_period, copayment, family_deductible, family_annual_max.
coverage_category_uuidstring (uuid)is_deductible_exemptbooleanmonetary_amtnumberpercentintegerprocedure_code_uuidstring (uuid)quantityintegerquantity_qualifierstringsubstitution_code_uuidstring (uuid)time_periodstringwaiting_period_monthsintegerResponses
age_maxintegerage_minintegerbenefit_typestringrequiredBenefit type. One of: coinsurance, deductible, annual_max, ortho_lifetime_max, exclusion, limitation, waiting_period, copayment, family_deductible, family_annual_max.
coverage_categoryobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredTimestamp when the benefit was created.
deleted_atstring (date-time)idstring (uuid)requiredBenefit UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
is_deductible_exemptbooleanWhether exempt from the deductible.
monetary_amtstringpatient_planobjectLightweight reference to a related entity — exposes UUID and optional name.
percentintegerprocedure_codeobjectBrief procedure code info embedded in fee entries.
quantityintegerquantity_qualifierstringsubstitution_codeobjectBrief procedure code info embedded in fee entries.
time_periodstringupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredCurrent version for optimistic concurrency.
waiting_period_monthsintegerdetailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"age_max": 1,
"age_min": 1,
"benefit_type": "string",
"coverage_category_uuid": "string",
"is_deductible_exempt": null
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"age_max": 1,
"age_min": 1,
"benefit_type": "string",
"coverage_category_uuid": "string",
"is_deductible_exempt": null
}'/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/bulkBulk set benefits
Replace all benefits for a plan with the provided set. Existing benefits are deleted and replaced. Raises 404 if the plan does not exist.
Parameters
Path Parameters
plan_uuidstringrequiredorg_idstringrequiredRequest Body
benefitsobject[]requiredList of benefit definitions to set.
Responses
itemsobject[]requiredList of benefit records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching benefits.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/bulk" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"benefits": []
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/bulk" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"benefits": []
}'/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/copy-from/{source_plan_uuid}Copy benefits from another plan
Copy all benefits from a source plan to the target plan. Existing benefits on the target plan are not removed. Raises 404 if either plan does not exist.
Parameters
Path Parameters
plan_uuidstringrequiredsource_plan_uuidstringrequiredorg_idstringrequiredResponses
countintegerrequiredNumber of benefits copied.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/copy-from/{source_plan_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/copy-from/{source_plan_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/plans/{plan_uuid}/cloneClone insurance plan
Create a copy of an existing plan with all its settings and benefits. Optionally provide ``new_group_name`` and ``new_group_number`` to override the cloned plan's group name/number instead of using the default "(Copy)" suffix. Raises 404 if the source plan does not exist.
Parameters
Path Parameters
plan_uuidstringrequiredorg_idstringrequiredRequest Body
new_group_namestringnew_group_numberstringResponses
assignment_of_benefitsbooleanWhether assignment of benefits is accepted.
benefit_year_start_monthintegerMonth (1-12) the benefit year starts.
carrierobjectBrief carrier reference embedded in plan output.
claim_form_typeenumrequiredClaim form type. One of: ada_2019, cms_1500.
ada_2019cms_1500claims_use_ucrbooleanWhether claims use UCR fees.
cob_ruleenumbasiccarve_outsecondary_medicaidstandardcreated_atstring (date-time)requiredTimestamp when the plan was created.
deleted_atstring (date-time)eclaim_send_behaviorenumrequiredE-claim send behavior. One of: send, do_not_send, secondary_only.
do_not_sendsecondary_onlysendfiling_codestringfiling_code_subtypestringgroup_namestringgroup_numberstringidstring (uuid)requiredPlan UUID.
is_hiddenbooleanWhether hidden from default list views.
is_medicalbooleanWhether this is a medical plan.
is_verification_exemptbooleanWhether verification-exempt.
ortho_auto_claim_days_waitintegerDays to wait between ortho auto-claims.
ortho_auto_claim_typeenumrequiredOrtho auto-claim type. One of: none, initial_only, initial_plus_visit, initial_plus_periodic.
initial_onlyinitial_plus_periodicinitial_plus_visitnoneortho_auto_fee_amtstringortho_auto_proc_codestringplan_notestringplan_typeenumrequiredPlan type. One of: category_percentage, ppo_percentage, ppo_fixed_benefit, medicaid_flat_copay, capitation.
capitationcategory_percentagemedicaid_flat_copayppo_fixed_benefitppo_percentagerelease_of_informationbooleanWhether release of information is authorized.
show_base_unitsbooleanWhether to show base units on claims.
substitution_code_behaviorenumrequiredSubstitution code behavior. One of: none, downgrade_to_amalgam, custom.
customdowngrade_to_amalgamnoneupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/clone" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/clone" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/subscriptionsCreate subscription
Create a new insurance subscription. Returns the subscription and an optional duplicate_warning if a similar subscription already exists (same subscriber + plan). Raises 404 if the plan or subscriber does not exist.
Parameters
Path Parameters
org_idstringrequiredRequest Body
benefit_notesstringdate_effectivestring (date)date_termstring (date)insurance_plan_uuidstring (uuid)requiredUUID of the insurance plan to subscribe to.
statusstringsubscriber_id_numberstringrequiredSubscriber ID number assigned by the carrier.
subscriber_notestringsubscriber_uuidstring (uuid)requiredUUID of the patient who is the subscriber.
Responses
duplicate_warningobjectFull insurance subscription output.
subscriptionobjectrequiredFull insurance subscription output.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/subscriptions" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"benefit_notes": "string",
"date_effective": "string",
"date_term": "string",
"insurance_plan_uuid": "00000000-0000-0000-0000-000000000000",
"status": "string",
"subscriber_id_number": "string",
"subscriber_uuid": "00000000-0000-0000-0000-000000000000"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/subscriptions" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"benefit_notes": "string",
"date_effective": "string",
"date_term": "string",
"insurance_plan_uuid": "00000000-0000-0000-0000-000000000000",
"status": "string",
"subscriber_id_number": "string",
"subscriber_uuid": "00000000-0000-0000-0000-000000000000"
}'/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}/archiveArchive subscription
Soft-delete a subscription by setting deleted_at. Raises 404 if the subscription does not exist.
Parameters
Path Parameters
subscription_uuidstringrequiredorg_idstringrequiredResponses
benefit_notesstringcarrierobjectBrief carrier reference embedded in plan output.
created_atstring (date-time)requiredTimestamp when the subscription was created.
date_effectivestring (date)date_termstring (date)deleted_atstring (date-time)idstring (uuid)requiredSubscription UUID.
insurance_planobjectBrief insurance plan reference embedded in subscription output.
last_verified_atstring (date-time)last_verified_sourcestringstatusstringrequiredSubscription status. One of: active, terminated, pending_verification.
subscriberobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
subscriber_id_numberstringrequiredSubscriber ID number from the carrier.
subscriber_notestringupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}/terminateTerminate subscription
Terminate a subscription with a specific date. Sets status to 'terminated' and deactivates associated patient plans. Raises 404 if the subscription does not exist. Raises 409 if base_version does not match.
Parameters
Path Parameters
subscription_uuidstringrequiredorg_idstringrequiredRequest Body
base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
termination_datestring (date)requiredDate the subscription terminates.
Responses
patient_plans_affectedintegerrequiredNumber of patient plans deactivated as a result of termination.
subscriptionobjectrequiredFull insurance subscription output.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}/terminate" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"termination_date": "2025-01-15"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}/terminate" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"termination_date": "2025-01-15"
}'/api/v1/{org_id}/insurance/subscriptions/bulk-terminateBulk terminate subscriptions
Terminate multiple subscriptions with a given date. Also deactivates associated patient plans. Raises 404 if any subscription UUID does not exist.
Parameters
Path Parameters
org_idstringrequiredRequest Body
subscription_idsstring (uuid)[]requiredUUIDs of subscriptions to terminate.
term_datestring (date)requiredTermination date to apply to all subscriptions.
Responses
patient_plans_deactivatedintegerrequiredNumber of patient plans deactivated.
terminatedintegerrequiredNumber of subscriptions terminated.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/subscriptions/bulk-terminate" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"subscription_ids": [],
"term_date": "2025-01-15"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/subscriptions/bulk-terminate" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"subscription_ids": [],
"term_date": "2025-01-15"
}'/api/v1/{org_id}/insurance/verificationsRecord verification
Record a new insurance verification result. Exactly one of patient_plan_uuid or insurance_plan_uuid must be provided. Raises 404 if the patient plan or insurance plan does not exist. Raises 422 if both or neither owner UUID is provided.
Parameters
Path Parameters
org_idstringrequiredRequest Body
assigned_to_user_uuidstring (uuid)call_duration_minutesintegercarrier_ref_numberstringcarrier_rep_namestringinsurance_plan_uuidstring (uuid)next_verification_duestring (date)notesstringpatient_plan_uuidstring (uuid)verification_sourceenumrequiredHow the verification was obtained. One of: manual, phone, electronic, fax.
electronicfaxmanualphoneverification_statusenumrequiredOutcome of verification. One of: verified, failed, partial, unable_to_verify.
failedpartialunable_to_verifyverifiedverification_typeenumrequiredType of verification. One of: eligibility, benefits.
benefitseligibilityResponses
assigned_to_user_uuidstring (uuid)call_duration_minutesintegercarrier_ref_numberstringcarrier_rep_namestringcreated_atstring (date-time)requiredTimestamp when the record was created.
deleted_atstring (date-time)idstring (uuid)requiredVerification UUID.
insurance_plan_uuidstring (uuid)next_verification_duestring (date)notesstringpatient_plan_uuidstring (uuid)raw_response_jsonobjectupdated_atstring (date-time)requiredTimestamp of the last update.
verification_sourceenumrequiredSource. One of: manual, phone, electronic, fax.
electronicfaxmanualphoneverification_statusenumrequiredStatus. One of: verified, failed, partial, unable_to_verify.
failedpartialunable_to_verifyverifiedverification_typeenumrequiredType. One of: eligibility, benefits.
benefitseligibilityverified_atstring (date-time)requiredTimestamp when the verification was performed.
verified_by_user_uuidstring (uuid)versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/verifications" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assigned_to_user_uuid": "string",
"call_duration_minutes": 1,
"carrier_ref_number": "string",
"carrier_rep_name": "string",
"insurance_plan_uuid": "string",
"verification_source": "electronic",
"verification_status": "failed",
"verification_type": "benefits"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/verifications" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assigned_to_user_uuid": "string",
"call_duration_minutes": 1,
"carrier_ref_number": "string",
"carrier_rep_name": "string",
"insurance_plan_uuid": "string",
"verification_source": "electronic",
"verification_status": "failed",
"verification_type": "benefits"
}'/api/v1/{org_id}/insurance/verifications/bulkBulk record verifications
Bulk-record multiple insurance verifications in one request. Each entry must specify exactly one of patient_plan_uuid or insurance_plan_uuid. Raises 404 if any referenced entity does not exist.
Parameters
Path Parameters
org_idstringrequiredRequest Body
verificationsobject[]requiredList of verification entries to record.
Responses
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/verifications/bulk" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"verifications": []
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/verifications/bulk" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"verifications": []
}'/api/v1/{org_id}/insurance/verifications/bulk-markBulk-update verification status
Bulk update the verification_status of multiple verifications. All provided verification UUIDs must exist. Returns the count of updated verifications. Raises 404 if any verification UUID does not exist.
Parameters
Path Parameters
org_idstringrequiredRequest Body
verification_statusenumrequiredNew status. One of: verified, failed, partial, unable_to_verify.
failedpartialunable_to_verifyverifiedverification_uuidsstring (uuid)[]requiredUUIDs of verifications to update.
Responses
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/verifications/bulk-mark" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"verification_status": "failed",
"verification_uuids": []
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/verifications/bulk-mark" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"verification_status": "failed",
"verification_uuids": []
}'/api/v1/{org_id}/insurance/drafts/{draft_uuid}/matchMatch draft
Manually match a draft to a carrier, plan, and/or subscriber. Raises 404 if the draft or any referenced entity does not exist.
Parameters
Path Parameters
draft_uuidstringrequiredorg_idstringrequiredRequest Body
carrier_uuidstring (uuid)plan_uuidstring (uuid)subscriber_patient_uuidstring (uuid)Responses
conversion_errorstringconverted_patient_planobjectLightweight reference to a related entity — exposes UUID and optional name.
converted_subscriptionobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredTimestamp when the draft was created.
idstring (uuid)requiredDraft UUID.
matched_carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
matched_planobjectLightweight reference to a related entity — exposes UUID and optional name.
patientobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
raw_data_jsonobjectrequiredOriginal raw import data.
review_statusstringrequiredReview status. One of: pending, matched, converted, rejected, error.
reviewed_atstring (date-time)reviewed_by_user_uuidstring (uuid)source_refstringsource_systemstringsubscriber_patientobjectLightweight reference to a related entity — exposes UUID and optional name.
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X PUT "https://api.example.com/api/v1/{org_id}/insurance/drafts/{draft_uuid}/match" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"carrier_uuid": "string",
"plan_uuid": "string",
"subscriber_patient_uuid": "string"
}'curl -X PUT "https://api.example.com/api/v1/{org_id}/insurance/drafts/{draft_uuid}/match" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"carrier_uuid": "string",
"plan_uuid": "string",
"subscriber_patient_uuid": "string"
}'/api/v1/{org_id}/insurance/carriers/{carrier_uuid}Update carrier
Update mutable fields on an existing carrier. Raises 404 if the carrier does not exist. Raises 409 if base_version does not match (optimistic concurrency).
Parameters
Path Parameters
carrier_uuidstringrequiredorg_idstringrequiredRequest Body
address_line1stringaddress_line2stringbase_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
carrier_group_namestringcarrier_namestringcitystringcob_insurance_paid_behavior_overridestringelectronic_filing_typeenumdo_not_send_electronicallydo_not_send_secondary_electronicallysend_electronicallyelectronic_idstringera_automation_overrideenumauto_receivedo_not_processmanual_reviewis_hiddenbooleannotesstringphonestringstatestringtrust_levelenumstandardtrusteduntrustedzip_codestringResponses
address_line1stringaddress_line2stringcarrier_group_namestringcarrier_namestringrequiredDisplay name of the carrier.
citystringcob_insurance_paid_behavior_overridestringcreated_atstring (date-time)requiredTimestamp when the carrier was created.
deleted_atstring (date-time)electronic_filing_typeenumdo_not_send_electronicallydo_not_send_secondary_electronicallysend_electronicallyelectronic_idstringera_automation_overrideenumauto_receivedo_not_processmanual_reviewidstring (uuid)requiredCarrier UUID.
is_hiddenbooleanWhether the carrier is hidden from default list views.
notesstringphonestringstatestringtrust_levelenumrequiredTrust level. One of: standard, trusted, untrusted.
standardtrusteduntrustedupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
zip_codestringdetailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/carriers/{carrier_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"address_line1": "string",
"address_line2": "string",
"base_version": 1,
"carrier_group_name": "string",
"carrier_name": "string"
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/carriers/{carrier_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"address_line1": "string",
"address_line2": "string",
"base_version": 1,
"carrier_group_name": "string",
"carrier_name": "string"
}'/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}Update coverage category
Update mutable fields on a coverage category. Raises 404 if the category does not exist. Raises 409 if base_version does not match.
Parameters
Path Parameters
category_uuidstringrequiredorg_idstringrequiredRequest Body
base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
category_namestringdescriptionstringis_hiddenbooleanitem_orderintegerResponses
category_namestringrequiredDisplay name of the category.
created_atstring (date-time)requiredTimestamp when the category was created.
deleted_atstring (date-time)descriptionstringidstring (uuid)requiredCategory UUID.
is_hiddenbooleanWhether hidden from default list views.
is_systembooleanWhether this is a system-seeded category protected from archiving.
item_orderintegerSort order among categories.
spansobject[]updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"category_name": "string",
"description": "string",
"is_hidden": null,
"item_order": 1
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"category_name": "string",
"description": "string",
"is_hidden": null,
"item_order": 1
}'/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spans/{span_uuid}Update coverage span
Update a procedure code span. Returns the updated span plus any overlapping spans as warnings. Raises 404 if the category or span does not exist. Raises 409 if base_version does not match.
Parameters
Path Parameters
category_uuidstringrequiredspan_uuidstringrequiredorg_idstringrequiredRequest Body
base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
from_codestringis_exclusionbooleanitem_orderintegerto_codestringResponses
overlapping_spansobject[]requiredSpans with overlapping code ranges (for warning display).
spanobjectrequiredFull procedure code span output.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spans/{span_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"from_code": "string",
"is_exclusion": null,
"item_order": 1,
"to_code": "string"
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spans/{span_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"from_code": "string",
"is_exclusion": null,
"item_order": 1,
"to_code": "string"
}'/api/v1/{org_id}/insurance/estimate-books/{book_uuid}Update estimate book
Update mutable fields on an estimate book. Raises 404 if the estimate book does not exist. Raises 409 if base_version does not match.
Parameters
Path Parameters
book_uuidstringrequiredorg_idstringrequiredRequest Body
allowed_fee_schedule_uuidstring (uuid)base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
carrier_uuidstring (uuid)claim_match_methodstringexclude_over_ucrbooleaninsurance_plan_uuidstring (uuid)namestringrule_typestringscope_typestringstatusstringResponses
allowed_fee_scheduleobjectLightweight reference to a related entity — exposes UUID and optional name.
carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
claim_match_methodstringcreated_atstring (date-time)requiredTimestamp when the book was created.
deleted_atstring (date-time)exclude_over_ucrbooleanWhether to cap allowed fees at the UCR amount.
idstring (uuid)requiredEstimate book UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
namestringrequiredDisplay name.
rule_typestringrequiredRule type. One of: manual_fee_schedule, allowed_from_claims, ucr_fallback.
scope_typestringrequiredScope. One of: tenant, carrier, plan.
statusstringrequiredStatus. One of: active, archived.
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allowed_fee_schedule_uuid": "string",
"base_version": 1,
"carrier_uuid": "string",
"claim_match_method": "string",
"exclude_over_ucr": null
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allowed_fee_schedule_uuid": "string",
"base_version": 1,
"carrier_uuid": "string",
"claim_match_method": "string",
"exclude_over_ucr": null
}'/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-fees/{entry_uuid}Update allowed fee
Update mutable fields on an allowed fee entry. Raises 404 if the estimate book or allowed fee does not exist.
Parameters
Path Parameters
book_uuidstringrequiredentry_uuidstringrequiredorg_idstringrequiredRequest Body
allowed_feenumbercomputed_atstring (date-time)confidencestringexpires_atstring (date-time)sample_countintegerResponses
allowed_feenumberrequiredComputed allowed fee amount.
computed_atstring (date-time)requiredWhen the fee was computed.
confidencestringcreated_atstring (date-time)requiredTimestamp when the entry was created.
estimate_bookobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
estimate_book_rule_stepobjectLightweight reference to a related entity — exposes UUID and optional name.
estimate_book_runobjectLightweight reference to a related entity — exposes UUID and optional name.
expires_atstring (date-time)group_numberstringidstring (uuid)requiredAllowed fee UUID.
procedure_codeobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
resolution_scope_identifierintegerresolution_scope_typestringrequiredScope. One of: insurance_plan, group_number, insurance_carrier.
sample_countintegerrequiredNumber of evidence entries used.
updated_atstring (date-time)requiredTimestamp of the last update.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-fees/{entry_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allowed_fee": null,
"computed_at": "string",
"confidence": "string",
"expires_at": "string",
"sample_count": 1
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-fees/{entry_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allowed_fee": null,
"computed_at": "string",
"confidence": "string",
"expires_at": "string",
"sample_count": 1
}'/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-steps/{step_uuid}Update rule step
Update mutable fields on a rule step. Raises 404 if the estimate book or rule step does not exist.
Parameters
Path Parameters
book_uuidstringrequiredstep_uuidstringrequiredorg_idstringrequiredRequest Body
is_activebooleanlimit_typestringlimit_valueintegerpriority_orderintegerrule_typestringResponses
created_atstring (date-time)requiredTimestamp when the step was created.
estimate_bookobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredRule step UUID.
is_activebooleanrequiredWhether this step is active.
limit_typestringrequiredLimit type. One of: none, years, months, weeks, days.
limit_valueintegerrequiredLimit value (e.g., 2 for '2 years').
priority_orderintegerrequiredExecution order (lower runs first).
rule_typestringrequiredRule type. One of: insurance_plan, group_number, insurance_carrier, insurance_carrier_group, manual_fee_schedule, provider_fee.
updated_atstring (date-time)requiredTimestamp of the last update.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-steps/{step_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_active": null,
"limit_type": "string",
"limit_value": 1,
"priority_order": 1,
"rule_type": "string"
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-steps/{step_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_active": null,
"limit_type": "string",
"limit_value": 1,
"priority_order": 1,
"rule_type": "string"
}'/api/v1/{org_id}/insurance/fee-schedule-assignments/{assignment_uuid}Update assignment
Update a fee schedule assignment. The slot fields (location, carrier, plan, kind) are immutable. Re-validates purpose-kind compatibility if fee_schedule_id changes. Re-checks date overlap if effective dates change. Raises 409 if version is stale or dates overlap.
Parameters
Path Parameters
assignment_uuidstringrequiredorg_idstringrequiredRequest Body
base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
effective_endstring (date)effective_startstring (date)estimate_book_uuidstring (uuid)fee_schedule_uuidstring (uuid)notesstringResponses
assignment_kindstringrequiredKind of assignment. One of: ucr, primary, copay, out_of_network, allowed, manual_blue_book.
carrierobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredeffective_endstring (date)effective_startstring (date)requiredStart date of this assignment.
estimate_bookobjectLightweight reference to a related entity — exposes UUID and optional name.
fee_scheduleobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredAssignment UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
locationobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
notesstringupdated_atstring (date-time)requiredversionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/{assignment_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"effective_end": "string",
"effective_start": "string",
"estimate_book_uuid": "string",
"fee_schedule_uuid": "string"
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/fee-schedule-assignments/{assignment_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"effective_end": "string",
"effective_start": "string",
"estimate_book_uuid": "string",
"fee_schedule_uuid": "string"
}'/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/{patient_plan_uuid}Update patient plan
Update mutable fields on a patient plan assignment. Raises 404 if the patient or patient plan does not exist. Raises 409 if base_version does not match.
Parameters
Path Parameters
patient_uuidstringrequiredpatient_plan_uuidstringrequiredorg_idstringrequiredRequest Body
base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
benefits_last_verified_atstring (date-time)cob_order_overrideintegercoverage_typeenumdentalmedicalvisioneligibility_last_verified_atstring (date-time)fee_schedule_uuidstring (uuid)is_pendingbooleanordinalintegerpat_id_overridestringrelationship_to_subscriberenumchildotherselfspouseResponses
benefits_last_verified_atstring (date-time)benefits_summaryobjectPlan-level benefit totals. Usage values are zeros until claims tracking is implemented — only the *_total fields carry real data from ``InsuranceBenefit`` rows.
cob_order_overrideintegercoverage_typeenumrequiredCoverage type. One of: dental, medical, vision.
dentalmedicalvisioncreated_atstring (date-time)requiredTimestamp when the patient plan was created.
deleted_atstring (date-time)eligibility_last_verified_atstring (date-time)fee_scheduleobjectLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredPatient plan UUID.
is_pendingbooleanWhether this plan assignment is pending verification.
ordinalintegerrequiredPriority ordinal (1=primary, 2=secondary, 3=tertiary).
pat_id_overridestringpatientobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
relationship_to_subscriberenumrequiredRelationship to subscriber. One of: self, spouse, child, other.
childotherselfspousestatusenumPlan status. One of: active, inactive, pending_verification.
activeinactivepending_verificationsubscriptionobjectBrief subscription info nested inside PatientPlanOut. ``subscriber`` is non-nullable — ``subscriber_id`` is NOT NULL in the DB and the relationship must be eager-loaded. If the eager-load is missing, Pydantic validation will fail (desired fail-fast behavior).
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/{patient_plan_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"benefits_last_verified_at": "string",
"cob_order_override": 1,
"coverage_type": "string",
"eligibility_last_verified_at": "string"
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/patients/{patient_uuid}/insurance/{patient_plan_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"benefits_last_verified_at": "string",
"cob_order_override": 1,
"coverage_type": "string",
"eligibility_last_verified_at": "string"
}'/api/v1/{org_id}/insurance/plans/{plan_uuid}Update insurance plan
Update mutable fields on an existing insurance plan. Returns the updated plan and the count of active subscribers affected. Raises 404 if the plan does not exist. Raises 409 if base_version does not match (optimistic concurrency).
Parameters
Path Parameters
plan_uuidstringrequiredorg_idstringrequiredRequest Body
assignment_of_benefitsbooleanbase_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
benefit_year_start_monthintegercarrier_uuidstring (uuid)claim_form_typeenumada_2019cms_1500claims_use_ucrbooleancob_ruleenumbasiccarve_outsecondary_medicaidstandardeclaim_send_behaviorenumdo_not_sendsecondary_onlysendfiling_codestringfiling_code_subtypestringgroup_namestringgroup_numberstringis_hiddenbooleanis_medicalbooleanis_verification_exemptbooleanortho_auto_claim_days_waitintegerortho_auto_claim_typeenuminitial_onlyinitial_plus_periodicinitial_plus_visitnoneortho_auto_fee_amtnumberortho_auto_proc_codestringplan_notestringrelease_of_informationbooleanshow_base_unitsbooleansubstitution_code_behaviorenumcustomdowngrade_to_amalgamnoneResponses
planobjectrequiredFull insurance plan output.
subscriber_countintegerrequiredNumber of active subscribers affected by this change.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assignment_of_benefits": null,
"base_version": 1,
"benefit_year_start_month": 1,
"carrier_uuid": "string",
"claim_form_type": "string"
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assignment_of_benefits": null,
"base_version": 1,
"benefit_year_start_month": 1,
"carrier_uuid": "string",
"claim_form_type": "string"
}'/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/{benefit_uuid}Update benefit
Update mutable fields on a benefit rule. Raises 404 if the plan or benefit does not exist. Raises 409 if base_version does not match.
Parameters
Path Parameters
plan_uuidstringrequiredbenefit_uuidstringrequiredorg_idstringrequiredRequest Body
age_maxintegerage_minintegerbase_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
benefit_typestringcoverage_category_uuidstring (uuid)is_deductible_exemptbooleanmonetary_amtnumberpercentintegerprocedure_code_uuidstring (uuid)quantityintegerquantity_qualifierstringsubstitution_code_uuidstring (uuid)time_periodstringwaiting_period_monthsintegerResponses
age_maxintegerage_minintegerbenefit_typestringrequiredBenefit type. One of: coinsurance, deductible, annual_max, ortho_lifetime_max, exclusion, limitation, waiting_period, copayment, family_deductible, family_annual_max.
coverage_categoryobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredTimestamp when the benefit was created.
deleted_atstring (date-time)idstring (uuid)requiredBenefit UUID.
insurance_planobjectLightweight reference to a related entity — exposes UUID and optional name.
is_deductible_exemptbooleanWhether exempt from the deductible.
monetary_amtstringpatient_planobjectLightweight reference to a related entity — exposes UUID and optional name.
percentintegerprocedure_codeobjectBrief procedure code info embedded in fee entries.
quantityintegerquantity_qualifierstringsubstitution_codeobjectBrief procedure code info embedded in fee entries.
time_periodstringupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredCurrent version for optimistic concurrency.
waiting_period_monthsintegerdetailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/{benefit_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"age_max": 1,
"age_min": 1,
"base_version": 1,
"benefit_type": "string",
"coverage_category_uuid": "string"
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/{benefit_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"age_max": 1,
"age_min": 1,
"base_version": 1,
"benefit_type": "string",
"coverage_category_uuid": "string"
}'/api/v1/{org_id}/insurance/settingsUpdate insurance settings
Update organization-level insurance settings. Raises 409 if base_version does not match (optimistic concurrency).
Parameters
Path Parameters
org_idstringrequiredRequest Body
allow_fee_exceed_ucrbooleanallow_verification_without_appointmentbooleanauto_calculate_estimatesbooleanauto_flag_unverifiedbooleanbase_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
benefits_verify_daysintegercolor_code_proceduresbooleandays_before_appointment_flagintegerdefault_benefit_year_typestringdefault_cob_rulestringdefault_fiscal_year_startintegerdefault_insurance_tabstringeligibility_verify_daysintegerestimate_display_modestringinclude_write_offbooleanshow_alerts_on_check_inbooleanshow_on_bannerbooleanshow_on_treatment_plansbooleanshow_remaining_benefitsbooleanwrite_off_methodstringwriteoff_on_exclusionbooleanwriteoff_on_frequency_limitbooleanwriteoff_on_max_reachedbooleanResponses
allow_fee_exceed_ucrbooleanrequiredWhether insurance fees may exceed UCR.
allow_verification_without_appointmentbooleanrequiredAllow verification without appointment.
auto_calculate_estimatesbooleanrequiredAuto-calculate estimates.
auto_flag_unverifiedbooleanrequiredAuto-flag unverified insurance.
base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
benefits_verify_daysintegerrequiredDays between benefits re-verifications.
color_code_proceduresbooleanrequiredColor-code procedures by category.
created_atstring (date-time)requiredTimestamp when settings were created.
days_before_appointment_flagintegerrequiredDays before appointment to flag.
default_benefit_year_typestringrequiredBenefit year type. One of: calendar, fiscal.
default_cob_rulestringrequiredDefault COB rule. One of: basic, standard, carve_out, secondary_medicaid.
default_fiscal_year_startintegerrequiredFiscal year start month (1-12).
default_insurance_tabstringrequiredDefault tab. One of: benefits, claims, coverage.
eligibility_verify_daysintegerrequiredDays between eligibility re-verifications.
estimate_display_modestringrequiredHow estimates are displayed.
idstring (uuid)requiredSettings UUID.
include_write_offbooleanrequiredInclude write-offs in estimates.
show_alerts_on_check_inbooleanrequiredShow alerts during check-in.
show_on_bannerbooleanrequiredShow insurance in patient banner.
show_on_treatment_plansbooleanrequiredShow estimates on treatment plans.
show_remaining_benefitsbooleanrequiredShow remaining benefits in banner.
updated_atstring (date-time)requiredTimestamp of the last update.
write_off_methodstringrequiredWrite-off method. One of: lesser_of_ucr_fee, fee_only, ucr_only.
writeoff_on_exclusionbooleanrequiredAuto write-off on exclusion.
writeoff_on_frequency_limitbooleanrequiredAuto write-off on frequency limit.
writeoff_on_max_reachedbooleanrequiredAuto write-off when annual max reached.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/settings" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allow_fee_exceed_ucr": null,
"allow_verification_without_appointment": null,
"auto_calculate_estimates": null,
"auto_flag_unverified": null,
"base_version": 1
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/settings" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"allow_fee_exceed_ucr": null,
"allow_verification_without_appointment": null,
"auto_calculate_estimates": null,
"auto_flag_unverified": null,
"base_version": 1
}'/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}Update subscription
Update mutable fields on a subscription. Raises 404 if the subscription does not exist. Raises 409 if base_version does not match.
Parameters
Path Parameters
subscription_uuidstringrequiredorg_idstringrequiredRequest Body
base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
benefit_notesstringdate_effectivestring (date)date_termstring (date)last_verified_atstring (date-time)last_verified_sourcestringstatusstringsubscriber_id_numberstringsubscriber_notestringResponses
benefit_notesstringcarrierobjectBrief carrier reference embedded in plan output.
created_atstring (date-time)requiredTimestamp when the subscription was created.
date_effectivestring (date)date_termstring (date)deleted_atstring (date-time)idstring (uuid)requiredSubscription UUID.
insurance_planobjectBrief insurance plan reference embedded in subscription output.
last_verified_atstring (date-time)last_verified_sourcestringstatusstringrequiredSubscription status. One of: active, terminated, pending_verification.
subscriberobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
subscriber_id_numberstringrequiredSubscriber ID number from the carrier.
subscriber_notestringupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"benefit_notes": "string",
"date_effective": "string",
"date_term": "string",
"last_verified_at": "string"
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/subscriptions/{subscription_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"benefit_notes": "string",
"date_effective": "string",
"date_term": "string",
"last_verified_at": "string"
}'/api/v1/{org_id}/insurance/verifications/{verification_uuid}Update verification
Update mutable fields on an existing verification. Raises 404 if the verification does not exist. Raises 409 if base_version does not match.
Parameters
Path Parameters
verification_uuidstringrequiredorg_idstringrequiredRequest Body
assigned_to_user_uuidstring (uuid)base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
call_duration_minutesintegercarrier_ref_numberstringcarrier_rep_namestringnext_verification_duestring (date)notesstringverification_statusenumfailedpartialunable_to_verifyverifiedResponses
assigned_to_user_uuidstring (uuid)call_duration_minutesintegercarrier_ref_numberstringcarrier_rep_namestringcreated_atstring (date-time)requiredTimestamp when the record was created.
deleted_atstring (date-time)idstring (uuid)requiredVerification UUID.
insurance_plan_uuidstring (uuid)next_verification_duestring (date)notesstringpatient_plan_uuidstring (uuid)raw_response_jsonobjectupdated_atstring (date-time)requiredTimestamp of the last update.
verification_sourceenumrequiredSource. One of: manual, phone, electronic, fax.
electronicfaxmanualphoneverification_statusenumrequiredStatus. One of: verified, failed, partial, unable_to_verify.
failedpartialunable_to_verifyverifiedverification_typeenumrequiredType. One of: eligibility, benefits.
benefitseligibilityverified_atstring (date-time)requiredTimestamp when the verification was performed.
verified_by_user_uuidstring (uuid)versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/verifications/{verification_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assigned_to_user_uuid": "string",
"base_version": 1,
"call_duration_minutes": 1,
"carrier_ref_number": "string",
"carrier_rep_name": "string"
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/verifications/{verification_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assigned_to_user_uuid": "string",
"base_version": 1,
"call_duration_minutes": 1,
"carrier_ref_number": "string",
"carrier_rep_name": "string"
}'/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spans/{span_uuid}Delete coverage span
Permanently delete a procedure code span. Raises 404 if the category or span does not exist.
Parameters
Path Parameters
category_uuidstringrequiredspan_uuidstringrequiredorg_idstringrequiredResponses
detailobject[]curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spans/{span_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/coverage-categories/{category_uuid}/spans/{span_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-fees/{entry_uuid}Delete allowed fee
Delete an allowed fee entry. Raises 404 if the estimate book or allowed fee does not exist.
Parameters
Path Parameters
book_uuidstringrequiredentry_uuidstringrequiredorg_idstringrequiredResponses
allowed_feenumberrequiredComputed allowed fee amount.
computed_atstring (date-time)requiredWhen the fee was computed.
confidencestringcreated_atstring (date-time)requiredTimestamp when the entry was created.
estimate_bookobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
estimate_book_rule_stepobjectLightweight reference to a related entity — exposes UUID and optional name.
estimate_book_runobjectLightweight reference to a related entity — exposes UUID and optional name.
expires_atstring (date-time)group_numberstringidstring (uuid)requiredAllowed fee UUID.
procedure_codeobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
resolution_scope_identifierintegerresolution_scope_typestringrequiredScope. One of: insurance_plan, group_number, insurance_carrier.
sample_countintegerrequiredNumber of evidence entries used.
updated_atstring (date-time)requiredTimestamp of the last update.
detailobject[]curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-fees/{entry_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/allowed-fees/{entry_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-steps/{step_uuid}Delete rule step
Delete a rule step from an estimate book. Raises 404 if the estimate book or rule step does not exist.
Parameters
Path Parameters
book_uuidstringrequiredstep_uuidstringrequiredorg_idstringrequiredResponses
created_atstring (date-time)requiredTimestamp when the step was created.
estimate_bookobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredRule step UUID.
is_activebooleanrequiredWhether this step is active.
limit_typestringrequiredLimit type. One of: none, years, months, weeks, days.
limit_valueintegerrequiredLimit value (e.g., 2 for '2 years').
priority_orderintegerrequiredExecution order (lower runs first).
rule_typestringrequiredRule type. One of: insurance_plan, group_number, insurance_carrier, insurance_carrier_group, manual_fee_schedule, provider_fee.
updated_atstring (date-time)requiredTimestamp of the last update.
detailobject[]curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-steps/{step_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/estimate-books/{book_uuid}/rule-steps/{step_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/{benefit_uuid}Delete benefit
Permanently delete a benefit rule. Raises 404 if the plan or benefit does not exist.
Parameters
Path Parameters
plan_uuidstringrequiredbenefit_uuidstringrequiredorg_idstringrequiredResponses
detailobject[]curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/{benefit_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/plans/{plan_uuid}/benefits/{benefit_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"Fee Schedules
21 endpoints
/api/v1/{org_id}/insurance/fee-schedulesList fee schedules
List fee schedules with optional filters. Use ``purpose`` to filter by the fee schedule's purpose category (e.g., ``office`` for UCR schedules, ``insurance`` for plan-specific schedules).
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
statusstringFilter by status. One of: active, archived.
fee_sched_typestringFilter by type. One of: normal, copay, out_of_network, fixed_benefit, allowed, manual_blue_book.
purposestringFilter by purpose. One of: office, insurance, allowed.
searchstringText search on name and notes.
Responses
itemsobject[]requiredList of fee schedule records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching fee schedules.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}Get fee schedule
Retrieve a single fee schedule by UUID. Raises 404 if the fee schedule does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredResponses
assignment_countintegerNumber of active assignments using this schedule.
created_atstring (date-time)requiredTimestamp when the schedule was created.
deleted_atstring (date-time)fee_sched_typeenumrequiredSchedule type. One of: normal, copay, out_of_network, fixed_benefit, allowed, manual_blue_book.
allowedcopayfixed_benefitmanual_blue_booknormalout_of_networkidstring (uuid)requiredFee schedule UUID.
namestringrequiredDisplay name.
notesstringnotes_countintegerNumber of note entries attached to this schedule.
purposeenumrequiredPurpose. One of: office, insurance, allowed.
allowedinsuranceofficestatusenumrequiredStatus. One of: active, archived.
activearchivedupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/available-codesList available codes
List procedure codes not yet in the fee schedule. Use this to populate the 'add code' dialog. Raises 404 if the fee schedule does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredQuery Parameters
searchstringSearch by procedure code or description.
categorystringFilter by procedure code category.
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Responses
itemsobject[]requiredList of available procedure codes.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching codes.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/available-codes" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/available-codes" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/feesList fees in schedule
List fees in a fee schedule with optional search, category filter, fee range, and sort. Raises 404 if the fee schedule does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredQuery Parameters
searchstringSearch by procedure code or description.
categorystringFilter by procedure code category (e.g., 'Diagnostic').
fee_minnumberMinimum fee amount (inclusive).
fee_maxnumberMaximum fee amount (inclusive).
sort_colstringSort column. One of: code, description, category, amount.
sort_dirstringSort direction. One of: asc, desc.
Default: "asc"
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Responses
itemsobject[]requiredList of fee records.
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
totalintegerrequiredTotal number of matching fees.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/historyFee schedule audit history
Return audit log entries for a specific fee schedule. Shows create, update, archive, copy, and undulation actions, ordered newest-first. Raises 404 if the fee schedule does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredQuery Parameters
limitintegerMax entries to return.
Default: 20
offsetintegerOffset for pagination.
Default: 0
Responses
itemsobject[]requiredList of audit entries.
totalintegerrequiredTotal number of audit entries.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/history" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/history" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/notesList fee schedule notes
List notes attached to a fee schedule. Raises 404 if the fee schedule does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredResponses
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/notes" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/notes" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedules/statsFee schedule stats
Batch stats for all active fee schedules — fee counts and assignment counts. Returns one entry per fee schedule. Designed for lazy-loading alongside the fee schedule list so the main table renders immediately.
Parameters
Path Parameters
org_idstringrequiredResponses
itemsobject[]requiredOne stats entry per fee schedule.
detailobject[]curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/stats" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X GET "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/stats" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedulesCreate fee schedule
Create a new fee schedule. The fee_sched_type field is immutable after creation. Raises 409 on idempotency conflict.
Parameters
Path Parameters
org_idstringrequiredRequest Body
fee_sched_typeenumrequiredImmutable type for this schedule. One of: normal, copay, out_of_network, fixed_benefit, allowed, manual_blue_book.
allowedcopayfixed_benefitmanual_blue_booknormalout_of_networknamestringrequiredDisplay name for the fee schedule.
notesstringpurposeenumallowedinsuranceofficestatusenumactivearchivedResponses
assignment_countintegerNumber of active assignments using this schedule.
created_atstring (date-time)requiredTimestamp when the schedule was created.
deleted_atstring (date-time)fee_sched_typeenumrequiredSchedule type. One of: normal, copay, out_of_network, fixed_benefit, allowed, manual_blue_book.
allowedcopayfixed_benefitmanual_blue_booknormalout_of_networkidstring (uuid)requiredFee schedule UUID.
namestringrequiredDisplay name.
notesstringnotes_countintegerNumber of note entries attached to this schedule.
purposeenumrequiredPurpose. One of: office, insurance, allowed.
allowedinsuranceofficestatusenumrequiredStatus. One of: active, archived.
activearchivedupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fee_sched_type": "allowed",
"name": "string",
"notes": "string",
"purpose": "string",
"status": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fee_sched_type": "allowed",
"name": "string",
"notes": "string",
"purpose": "string",
"status": "string"
}'/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/archiveArchive fee schedule
Soft-delete a fee schedule by setting deleted_at. Raises 404 if the fee schedule does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredResponses
assignment_countintegerNumber of active assignments using this schedule.
created_atstring (date-time)requiredTimestamp when the schedule was created.
deleted_atstring (date-time)fee_sched_typeenumrequiredSchedule type. One of: normal, copay, out_of_network, fixed_benefit, allowed, manual_blue_book.
allowedcopayfixed_benefitmanual_blue_booknormalout_of_networkidstring (uuid)requiredFee schedule UUID.
namestringrequiredDisplay name.
notesstringnotes_countintegerNumber of note entries attached to this schedule.
purposeenumrequiredPurpose. One of: office, insurance, allowed.
allowedinsuranceofficestatusenumrequiredStatus. One of: active, archived.
activearchivedupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/archive" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/copyCopy fee schedule
Create a copy of a fee schedule with optional percentage adjustment. All fees are copied to the new schedule. Raises 404 if the source schedule does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredRequest Body
new_namestringrequiredName for the copied fee schedule.
percentage_adjustmentnumberResponses
assignment_countintegerNumber of active assignments using this schedule.
created_atstring (date-time)requiredTimestamp when the schedule was created.
deleted_atstring (date-time)fee_sched_typeenumrequiredSchedule type. One of: normal, copay, out_of_network, fixed_benefit, allowed, manual_blue_book.
allowedcopayfixed_benefitmanual_blue_booknormalout_of_networkidstring (uuid)requiredFee schedule UUID.
namestringrequiredDisplay name.
notesstringnotes_countintegerNumber of note entries attached to this schedule.
purposeenumrequiredPurpose. One of: office, insurance, allowed.
allowedinsuranceofficestatusenumrequiredStatus. One of: active, archived.
activearchivedupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/copy" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"new_name": "string",
"percentage_adjustment": null
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/copy" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"new_name": "string",
"percentage_adjustment": null
}'/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/feesCreate fee
Create a single fee entry in a fee schedule. Raises 404 if the fee schedule or procedure code does not exist. Raises 409 on idempotency conflict.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredRequest Body
amountnumberrequiredclinic_uuidstring (uuid)date_effectivestring (date)patient_amountnumberprocedure_code_uuidstring (uuid)requiredUUID of the procedure code.
provider_uuidstring (uuid)Responses
amountstringrequiredFee amount.
clinicobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredTimestamp when the fee was created.
date_effectivestring (date)fee_scheduleobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredFee entry UUID.
patient_amountstringprocedure_codeobjectBrief procedure code info embedded in fee entries.
providerobjectLightweight reference to a related entity — exposes UUID and optional name.
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": null,
"clinic_uuid": "string",
"date_effective": "string",
"patient_amount": null,
"procedure_code_uuid": "00000000-0000-0000-0000-000000000000"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": null,
"clinic_uuid": "string",
"date_effective": "string",
"patient_amount": null,
"procedure_code_uuid": "00000000-0000-0000-0000-000000000000"
}'/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/bulkBulk create fees
Bulk-create fee entries in a fee schedule. Raises 404 if the fee schedule or any procedure code does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredRequest Body
feesobject[]requiredList of fee entries to create.
Responses
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/bulk" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fees": []
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/bulk" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fees": []
}'/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/bulk-updateBulk update fees
Batch-update fee amounts from inline edits on the fee schedule detail UI. Each item carries the fee UUID, new amount, and base_version for optimistic concurrency. Raises 409 on the first version mismatch. Raises 404 if the fee schedule or any fee does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredRequest Body
feesobject[]requiredList of fee updates (max 500 per request).
Responses
updatedintegerrequiredNumber of fees successfully updated.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/bulk-update" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fees": []
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/bulk-update" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fees": []
}'/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/notesCreate fee schedule note
Add a note to a fee schedule. Raises 404 if the fee schedule does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredRequest Body
authorstringdate_entrystring (date)requiredDate the note was entered.
notestringrequiredNote text content.
Responses
authorstringcreated_atstring (date-time)requiredTimestamp when the note was created.
date_entrystring (date)requiredDate the note was entered.
fee_scheduleobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredNote UUID.
notestringrequiredNote text content.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/notes" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"author": "string",
"date_entry": "2025-01-15",
"note": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/notes" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"author": "string",
"date_entry": "2025-01-15",
"note": "string"
}'/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/resolveResolve fee
Resolve the effective fee for a procedure code in a fee schedule. Considers clinic and provider overrides, and effective date. Returns null if no matching fee is found. Raises 404 if the fee schedule or procedure code does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredRequest Body
as_of_datestring (date)clinic_uuidstring (uuid)procedure_code_uuidstring (uuid)requiredUUID of the procedure code to resolve.
provider_uuidstring (uuid)Responses
amountstringrequiredFee amount.
clinicobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredTimestamp when the fee was created.
date_effectivestring (date)fee_scheduleobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredFee entry UUID.
patient_amountstringprocedure_codeobjectBrief procedure code info embedded in fee entries.
providerobjectLightweight reference to a related entity — exposes UUID and optional name.
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/resolve" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"as_of_date": "string",
"clinic_uuid": "string",
"procedure_code_uuid": "00000000-0000-0000-0000-000000000000",
"provider_uuid": "string"
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/resolve" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"as_of_date": "string",
"clinic_uuid": "string",
"procedure_code_uuid": "00000000-0000-0000-0000-000000000000",
"provider_uuid": "string"
}'/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/undulateApply undulation
Apply a percentage increase or decrease to all fees in a schedule. Raises 404 if the fee schedule does not exist. Raises 409 if base_version does not match.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredRequest Body
base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
directionenumrequiredDirection of adjustment. One of: increase, decrease.
decreaseincreasepercentagenumberrequiredResponses
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/undulate" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"direction": "decrease",
"percentage": null
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/undulate" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"direction": "decrease",
"percentage": null
}'/api/v1/{org_id}/insurance/fee-schedules/compareCompare fee schedules
Compare fees across 2-3 fee schedules side by side. Returns a paginated table of procedure codes with fee amounts from each schedule.
Parameters
Path Parameters
org_idstringrequiredQuery Parameters
pageintegerPage number (1-based).
Default: 1
page_sizeintegerItems per page.
Default: 50
Request Body
schedule_uuidsstring (uuid)[]requiredUUIDs of fee schedules to compare (2-3 required).
Responses
pageintegerrequiredCurrent page number (1-based).
page_sizeintegerrequiredNumber of items per page.
rowsobject[]requiredComparison rows, one per procedure code.
schedulesobjectrequiredMap of schedule UUID → schedule metadata.
totalintegerrequiredTotal number of procedure codes in the comparison.
detailobject[]curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/compare" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"schedule_uuids": []
}'curl -X POST "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/compare" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"schedule_uuids": []
}'/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}Update fee schedule
Update mutable fields on a fee schedule. Type and purpose cannot be changed while the schedule has active assignments (422). Raises 404 if the fee schedule does not exist. Raises 409 if base_version does not match. Raises 422 if type/purpose change is blocked by active assignments.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredorg_idstringrequiredRequest Body
base_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
fee_sched_typeenumallowedcopayfixed_benefitmanual_blue_booknormalout_of_networknamestringnotesstringpurposeenumallowedinsuranceofficestatusenumactivearchivedResponses
assignment_countintegerNumber of active assignments using this schedule.
created_atstring (date-time)requiredTimestamp when the schedule was created.
deleted_atstring (date-time)fee_sched_typeenumrequiredSchedule type. One of: normal, copay, out_of_network, fixed_benefit, allowed, manual_blue_book.
allowedcopayfixed_benefitmanual_blue_booknormalout_of_networkidstring (uuid)requiredFee schedule UUID.
namestringrequiredDisplay name.
notesstringnotes_countintegerNumber of note entries attached to this schedule.
purposeenumrequiredPurpose. One of: office, insurance, allowed.
allowedinsuranceofficestatusenumrequiredStatus. One of: active, archived.
activearchivedupdated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"fee_sched_type": "string",
"name": "string",
"notes": "string",
"purpose": "string"
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"base_version": 1,
"fee_sched_type": "string",
"name": "string",
"notes": "string",
"purpose": "string"
}'/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/{fee_uuid}Update fee
Update a single fee entry. Raises 404 if the fee does not exist. Raises 409 if base_version does not match.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredfee_uuidstringrequiredorg_idstringrequiredRequest Body
amountnumberbase_versionintegerrequiredCurrent version for optimistic concurrency — rejected with 409 if stale.
clinic_uuidstring (uuid)date_effectivestring (date)patient_amountnumberprovider_uuidstring (uuid)Responses
amountstringrequiredFee amount.
clinicobjectLightweight reference to a related entity — exposes UUID and optional name.
created_atstring (date-time)requiredTimestamp when the fee was created.
date_effectivestring (date)fee_scheduleobjectrequiredLightweight reference to a related entity — exposes UUID and optional name.
idstring (uuid)requiredFee entry UUID.
patient_amountstringprocedure_codeobjectBrief procedure code info embedded in fee entries.
providerobjectLightweight reference to a related entity — exposes UUID and optional name.
updated_atstring (date-time)requiredTimestamp of the last update.
versionintegerrequiredVersion for optimistic concurrency.
detailobject[]curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/{fee_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": null,
"base_version": 1,
"clinic_uuid": "string",
"date_effective": "string",
"patient_amount": null
}'curl -X PATCH "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/{fee_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": null,
"base_version": 1,
"clinic_uuid": "string",
"date_effective": "string",
"patient_amount": null
}'/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/{fee_uuid}Delete fee
Permanently delete a fee entry from a fee schedule. Raises 404 if the fee does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequiredfee_uuidstringrequiredorg_idstringrequiredResponses
detailobject[]curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/{fee_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/fees/{fee_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/notes/{note_uuid}Delete fee schedule note
Delete a note from a fee schedule. Raises 404 if the note does not exist.
Parameters
Path Parameters
fee_schedule_uuidstringrequirednote_uuidstringrequiredorg_idstringrequiredResponses
detailobject[]curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/notes/{note_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"curl -X DELETE "https://api.example.com/api/v1/{org_id}/insurance/fee-schedules/{fee_schedule_uuid}/notes/{note_uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"