Bills API

Quote one treatment line

Estimate a treatment line with optional authorized practice-charge or payer-contract context.

POSThttps://app.mindbill.org/partner/v2/fee-quotes

Look up one line before bill entry. Use the claim quote endpoint for encounter-wide NCCI and unit-edit assessment.

AuthenticationServer API key or browser session + Origin
Permissions by credentialServer: bills:read · Browser: bills:read
IdempotencyNot required

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

FieldTypeDescription
codeRequired
string

Procedure code.

dateOfServiceRequired
string

Actual calendar date, YYYY-MM-DD.

chargeCents / units / modifiers
integer / number / string[]

Submitted line charge in cents, positive units, and up to four modifiers.

serviceZip / serviceCounty
string

Locality information appropriate to the service.

physicianContext
object

Actual provider/setting and encounter facts. Specialty inputs are defined in the OpenAPI schema.

billingProviderId / payerId
string

Optional authorized identities for matching practice charges or payer contracts. A resource-scoped browser session cannot supply billingProviderId.

Examples

Synthetic office visit
curl 'https://app.mindbill.org/partner/v2/fee-quotes' \
  --header "Authorization: Bearer $MINDBILL_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "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
// Response shape varies by assessment; no numeric fallback on review.
if (data.status === "priced") {
  showEstimate(data.amountCents, data.scheduleMaximumCents);
  showSources(data.provenance);
} else {
  showReason(data.status, data.reason, data.provenance);
}
FieldTypeDescription
data.status
"priced" | "requires_review" | "not_separately_payable"

Inspect this before using amounts. Review and nonpayable results carry a reason, not a priced amount.

data.amountCents / scheduleMaximumCents
integer

Present on priced results: estimated payable amount and fee ceiling. The payable amount is capped by a supplied charge.

data.reason
string

Reason requiring review or preventing separate payment.

data.provenance[]
object[]

Source records with id and url; downloaded data can include sha256, effectiveFrom, effectiveThrough. Regulatory citations may be undated.

data.calculation / feeBreakdown
object

Optional detailed calculation: method, inputs, components, adjustments, and rounding appropriate to the fee category.

data.practiceCharge / chargeAmountCents
object / integer

Optional matched practice-charge information and line charge. A practice charge schedule alone does not change the statutory reimbursement ceiling.

data.statutoryMaximumCents / reimbursementBasis
integer / "statutory_schedule" | "payer_contract"

Optional statutory ceiling retained separately when practice context applies, and reimbursement basis. Only an explicit matching payer contract changes reimbursement.