API reference

REST API

Create and submit workers’ compensation bills, then manage documents, status, payer responses, payments, and reviews through one versioned JSON API.

Base URLhttps://app.mindbill.org/partner/v2

Use the same business endpoints from your server or browser to look up reference data, create and submit bills atomically, and perform allowed lifecycle actions. All resources are isolated to the organization attached to the credential.

The downloadable OpenAPI contract describes the shared API and the credentials accepted by each operation.

Conventions

Authentication

Business endpoints accept a server API key or a short-lived browser session as a bearer token. Browser sessions also require the authorized Origin and remain limited by their permissions and bill scope. Session issuance, management sessions, events, and webhook-delivery administration require a server key. See authentication for setup and permission rules.

Request
curl https://app.mindbill.org/partner/v2/bills \
  --header "Authorization: Bearer $MINDBILL_API_KEY"

Idempotency

For endpoints marked idempotent, send a stable Idempotency-Key on mutations. Reusing a key with the same request safely returns the original result; reusing it with a different request is rejected.

Directories

Bills

Documents

Reviews

Lifecycle

GET/bill-dashboard
List the bill dashboard

Organization-wide page pagination and dashboard filters.

GET/bill-tasks
Get bill tasks

Organization-wide task dashboard and waiting queues.

GET/reports/productivity
Get biller productivity

Organization-wide report for the date range.

GET/reports/service-line-items
Get service line items

Organization-wide report for the date range.

POST/bills/{billId}/courtesy-forward
Preview or send a courtesy copy

Preview the exact PDF, recipients, and message before sending.

GET/bills/{billId}/delivery-options
Get bill delivery options

Read delivery choices for an existing bill.

GET/bills/{billId}/eors/{docId}
Download an EOR document

Download an original EOR PDF by its document identifier.

GET/bills/{billId}/ibr-packet
Download an IBR packet

Download the prepared Independent Bill Review packet.

POST/bills/{billId}/submissions
Legacy repeat submission

Compatibility endpoint.

GET/bills/{billId}/lifecycle
Get the complete bill workspace

Read the immutable submitted bill snapshot, human-readable activity history, current lifecycle, EORs, payments, remittance, and payer contacts.

GET/bills/{billId}/packet
Download the complete bill packet

Download one ordered PDF containing truthful submission proof and timeline, the MC 1500, selected supporting attachments, and the practice W-9 when available.

POST/sandbox/bills/{billId}/simulate
Simulate a sandbox lifecycle response

Advance a submitted synthetic sandbox bill through deterministic accepted, processed, rejected, denied, partial-payment, or paid scenarios.

GET/bills/{billId}/reviews/{reviewId}/packet
Download the IBR filing packet

For independent_bill_review reviews only.

GET/bills/{billId}/status
Get bill status

Read normalized lifecycle state, balances, and the latest event position.

GET/bills/{billId}/eor
Get the EOR

Read structured Explanation of Review data and source documents.

POST/bills/{billId}/actions
Perform a bill action

Close, post payment, or start a payer review from one state-aware operation.

Platform

GET/organization
Get the current organization

Read the composed profile for the authenticated organization.

GET/organization/billing-profile
Get bill-entry profile choices

Read masked provider and location choices for bill creation.

GET/organizations/{id}
Get an organization

Read the composed profile.

PUT/organization/billing-profile
Save current organization billing profile

Save profile settings.

PUT/organization/locations
Save current organization locations

Save profile settings.

PUT/organization/w9
Save current organization W-9

Save profile settings.

PUT/organizations/{id}/locations
Save organization locations

Save profile settings.

PUT/organizations/{id}/w9
Save organization W-9

Save profile settings.

GET/organizations/{id}/locations
List organization locations

Read saved locations.

POST/organizations
Provision an organization

Create or find a managed organization using your stable externalId.

GET/organization/team
List organization team

Read existing MindBill accounts and permitted role choices.

PATCH/organization/team/{id}
Update a team member

Change an eligible existing MindBill account's role or active state.

GET/events
List lifecycle events

Read an ordered cursor-based stream of organization billing changes.

GET/webhook-deliveries
List webhook deliveries

Inspect recent webhook attempts and their delivery outcome.

POST/browser-sessions
Create a browser session

Exchange a server API key for a short-lived, organization-bound browser token.

POST/management-sessions
Create a management session

Mint a one-time sign-in URL that opens the hosted MindBill billing workspace for your organization.

PUT/organizations/{id}/billing-profile
Update organization billing profile

Upsert practice identity, billing providers, and rendering providers for an authorized organization.

Errors

API errors generally use RFC 9457-style Problem Details. Lookup routes also have endpoint-specific error shapes documented on their reference pages; the diagnosis-code lookup can return an error field with HTTP 200. Use code for program logic and map each errors[].path back to the corresponding form field.

422 Unprocessable Entity
{
  "type": "about:blank",
  "title": "The request body is invalid.",
  "status": 422,
  "code": "validation_error",
  "detail": "Complete the required bill fields and submit again.",
  "errors": [
    { "path": "bill.renderingProvider.taxonomy", "message": "Required" },
    { "path": "bill.diagnoses", "message": "Add at least one ICD-10 code" }
  ]
}
400

Malformed JSON or an invalid parameter.

401

Missing, expired, or invalid credential.

403

The credential lacks the organization, resource, or role permission.

404

The resource does not exist in the authenticated organization.

409

Lifecycle conflict or idempotency-key reuse with different input.

413

The request body, or the total document bytes on a submission, exceeded the size limits.

415

A document was not a valid PDF, or exceeded the 25 MB per-document limit.

422

Bill data failed field or submission validation.

429

Rate limit exceeded; retry with backoff.