Bills API
Quote a California encounter
Estimate statutory fees and assess supported same-day coding edits across multiple service lines.
https://app.mindbill.org/partner/v2/fee-quotes/ca/claimCalculate a complete encounter before creating a professional bill, or power the FeeScheduleCalculator component. The browser client's quoteClaimFees() unwraps data.
Use this URL with a server API key or a browser session and its exact allowed Origin. Both credentials use the same request and response contract. See the component API inventory for exact paths and SDK methods.
Request body
linesRequiredobject[]1–100 lines for one patient and one provider/group. Each date is evaluated separately.
lines[].idRequiredstringUnique line identifier, up to 100 characters.
lines[].codeRequiredstringFive-character procedure code.
lines[].dateOfServiceRequiredstringActual calendar date, YYYY-MM-DD.
lines[].unitsnumberPositive quantity, at most 10,000; some categories require additional unit context.
lines[].chargeCentsintegerPositive submitted line charge, up to 100,000,000 cents.
lines[].modifiersstring[]Up to four distinct two-character modifiers. Do not add a modifier solely to bypass an edit.
lines[].serviceZip / serviceCountystringService locality inputs. ZIP accepts 5 digits or ZIP+4. Required locality depends on category and date.
lines[].physicianContextobjectProvider kind, two-digit placeOfService, standaloneService, globalPeriodApplies, and hpsaBonusEligible. Supply telehealthModality for audio/video context where applicable. See OpenAPI for specialty context schemas.
completeDateOfServiceContextRequiredbooleanWhether all related services for these dates and this patient/provider group are included. Derive from encounter records; no separate user checkbox is necessary.
ordinaryMultipleSurgeryContextbooleanOptional confirmation that the submitted encounter meets the supported ordinary multiple-surgery context. Do not infer this from codes alone.
Examples
curl 'https://app.mindbill.org/partner/v2/fee-quotes/ca/claim' \
--header "Authorization: Bearer $MINDBILL_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"completeDateOfServiceContext": true,
"lines": [
{
"id": "office-visit",
"code": "99213",
"dateOfService": "2026-08-25",
"units": 1,
"chargeCents": 15000,
"modifiers": [],
"serviceZip": "90012",
"physicianContext": {
"providerKind": "physician",
"placeOfService": "11",
"standaloneService": true,
"globalPeriodApplies": false,
"hpsaBonusEligible": false
}
}
]
}'Response
200 OK
// Response envelope; full types are exported by @mindbill/browser.
{ data: CaClaimFeeQuoteResult }
// Never treat a resolved subtotal as a complete allowance.
if (data.status === "requires_review") {
// data.totals.estimatedPayableCents === null
showReview(data.lines, data.claimEdits, data.limitations);
} else {
showEstimate(data.totals.estimatedPayableCents);
}data.status"priced" | "requires_review" | "not_separately_payable"Final claim assessment after line calculations and supported claim edits.
data.lines[]object[]Line id, normalized input, base quote, final assessment, findings, and any paymentAdjustment. A priced base quote can still have a requires_review final assessment.
data.lines[].quoteobjectCategory-specific status, amounts when priced, calculation details, provenance, and notes or review reason.
data.lines[].findings[]object[]Coding findings with code, lineIds, message, and optional citationUrl and edit details.
data.totalsobjectsubmittedChargeCents, pricedSubtotalCents, estimatedPayableCents, scheduleMaximumCents, and reviewLineCount. Whole-claim payable and schedule totals are null if review is unresolved. The priced subtotal includes resolved lines only.
data.claimEdits[]object[]Per-date screening with lineIds, status, findings, optional reason/provenance, and supported date intervals. Status is evaluated, requires_review, source_unavailable, or not_applicable; not_applicable does not guarantee the absence of other coding rules.
data.limitationsstring[]Context and coverage limitations to display with the result.