Audit API

The medical-bill audit engine, as an API.

Send line items from a bill or EOB; get back the billing errors, with a plain-language explanation and an estimated recoverable amount. The same deterministic engine that powers Paxer for patients, available to your product.

Create a key in Settings → Developers after signing in.

Who it’s for

Built for the buyers whose incentives align with the patient (patient-billing platforms, TPAs, self-insured employers, and HSA/FSA admins), plus care-navigation and advocacy tools. Anywhere a bill needs an instant “is this correct?” check before someone pays it.

We don’t sell this to health plans as the primary buyer. The aligned parties are the ones who win when a bill is corrected, not when a claim is denied. See pricing →

What it detects

One call, every common billing error.

Duplicate charges

The same service billed twice on one bill or across providers.

Cost-share errors

Deductible / coinsurance / copay computed wrong against the plan.

Denials & coordination of benefits

PR-22 and other reason codes that shift a denial onto the patient.

Balance billing (NSA)

Out-of-network amounts billed above the allowed/protected rate.

Unbundling

Codes billed separately that should be a single bundled charge (NCCI).

Implausible charges

Amounts wildly out of line with what the service plausibly costs.

Request

curl -X POST https://paxer.app/api/v1/audit \
  -H "Authorization: Bearer pax_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "lineItems": [
      { "description": "Echocardiogram, complete", "cptHcpcsCode": "93306",
        "chargeAmount": 980, "allowedAmount": 710, "planPaid": 0,
        "patientResponsibility": 710, "adjustmentCodes": ["PR-22"] }
    ]
  }'

Response

{
  "findings": [
    {
      "type": "NON_COVERED_BILLED_TO_PATIENT",
      "severity": "HIGH",
      "title": "Denial billed to you: coordination-of-benefits denial (reason code PR-22), echocardiogram",
      "explanation": "Your plan allowed $710 but paid $0, and the full $710 was passed to you under a PR-22 coordination-of-benefits denial. Denials like this are frequently reversed.",
      "recommendedNextStep": "Submit the primary plan's EOB to this insurer, or call to correct your coordination-of-benefits record so the claim reprocesses. Consider waiting to pay until it has been reprocessed.",
      "estimatedRecovery": 710,
      "confidence": 0.75,
      "detector": "RULE",
      "lineItemIndex": 0
    }
  ],
  "summary": {
    "findingCount": 1,
    "estimatedRecoverable": 710
  },
  "usage": {
    "plan": "free",
    "used": 1,
    "quota": 100
  }
}

Errors & limits

Predictable status codes.

200Findings returned. summary.estimatedRecoverable is capped so it never exceeds total patient responsibility.
400Invalid request body, e.g. missing or malformed lineItems. The response "error" field explains.
401Missing or invalid API key. Send it as Authorization: Bearer pax_live_... (or the x-api-key header).
402Monthly quota exceeded. This calendar month’s audit allotment is used up. Upgrade for a higher quota.
429Rate limited (120 requests/min per key). Retry after the window resets.

Quota is per calendar month and hard-capped, so over the limit returns 402, with no surprise overage charges. Usage resets on the 1st. Keys are created and revoked in Settings → Developers.

Stateless & private

Nothing you send is stored. No data is retained or shared, and responses contain only findings.

Authentication

Bearer API keys, created and revoked in Settings → Developers. Keys are shown once and stored hashed.

Limits & pricing

Free to start, rate-limited per key. For production volume or an SLA, get in touch about Enterprise pricing.

Add bill-accuracy to your product.