Skip to main content
The Opereit API lets you create and track claims, upload carrier contracts, audit incoming carrier invoices against them, and retrieve the resulting line items and findings. It’s designed so you can build end-to-end workflows without using the dashboard.

Base URL

All endpoints are served under:

Authentication

Every request must be authenticated with an Opereit API key using HTTP Basic Auth. An API key is a pair of values:
  • A key ID: a public identifier for the key.
  • A key secret: the password component, prefixed with opr_live_. The secret is shown only once, at creation time, and cannot be retrieved later. Store it in a secrets manager.
Send credentials in the Authorization header as base64-encoded key_id:key_secret:
Most HTTP clients build this header for you when you supply user/password, for example with curl:
API keys are scoped to a single organization. To provision a key, contact your Opereit account manager.

Unauthenticated requests

Requests without a valid Authorization header receive 401 Unauthorized along with a WWW-Authenticate: Basic realm="Opereit API" response header:

Conventions

These are the defaults for the invoice-auditing endpoints (contracts, invoice audits). The claims endpoints predate them and don’t all follow the same rules — see the Claim Management guide for what’s actually true there (short version: claim IDs and monetary amounts are the odd ones out).
  • All request and response bodies are JSON, except for file uploads which use multipart/form-data.
  • Field names are snake_case.
  • Timestamps are ISO 8601 (2026-04-29T10:15:00Z); date-only fields use YYYY-MM-DD.
  • Monetary amounts, weights, and rates are returned as decimal strings to preserve precision.
  • List endpoints are cursor-paginated with ?limit=50&cursor=<opaque_string> query parameters. Response format: { data, pagination: { cursor, has_more } }.

Errors

Errors return a JSON body describing what went wrong:
Last modified on August 25, 2026