The warranted record, typed into your build.
A TypeScript client for the Verzi Health API, generated from the committed /v1 OpenAPI contract. Warrants, fee schedules, coding edits, provider standing, and the archive, with the auth and as-of plumbing done for you. For RCM, billing, and healthtech developers.
Package @verzihealth/sdk · auth X-API-Key · contract /v1 · 264 paths
What it is
Three doors to one room. The SDK is the builder door.
The /v1 API is the single source of truth. The SDK and the MCP server are derived from it, never hand-maintained in parallel. The SDK is for the engineer wiring the warrant into a billing system, a claim scrubber, or an RCM product: deterministic, typed, in your build.
The principle
Generated, never hand-written. It cannot drift.
The one architectural rule behind all three surfaces: one source, three surfaces. The SDK's types are produced from the committed /v1 OpenAPI spec, and a CI drift guard fails the build if the generated types go stale against the contract. A spec change regenerates the SDK. Hand-editing is the one thing that breaks alignment, so there is none.
Quickstart
Install, authenticate, ask.
One client, your key, and the same question every payer meeting asks: what was true on the date of service?
npm install @verzihealth/sdk
// The warrant join for one code, provider, and date of service. import { createVerziClient } from "@verzihealth/sdk"; const verzi = createVerziClient({ apiKey: process.env.VERZI_API_KEY! }); const { data, error } = await verzi.GET("/rules/warrant", { params: { query: { hcpcs: "E0601", as_of: "2024-01-15", npi: "1234567890", state: "UT" } }, }); // One block per warrant: standing, fee, edits, documentation. // Each block carries its own fact and its own receipt: // version_id · file_id · sha256 you can replay, or an honest gap.
as_of is canonical; dos is the alias. Billers think in date-of-service, so the warrant endpoints accept both. For a warrant they are the same date. The full endpoint reference lives in the docs.
The surface
The warrant subset, plus the whole catalog.
Every /v1 path is callable through the client. These are the ones a claims workflow starts with.
Same wall on every surface. The warrant is the paid product on the API, the SDK, and the MCP alike: one entitlement, read by all three. Current-state and catalog reads stay free.
Status
v0.1, early access. Here is what that means.
The honesty rule applies to our own release notes too.
Built and in use
The generated client exists and tracks the live contract.
- Generated types for all 264 /v1 paths · openapi-typescript
- The authed client: X-API-Key plus an as_of default · openapi-fetch
- CI drift guard: stale types fail the build
The typed-warrant gate
We do not announce a typed SDK while the warrant body is loose.
- Server-side response models for the warrant, receipt, standing, and rules outputs
- Packaging, semver policy, and a changelog
- Python SDK follows on demand
Early access: request a key and we will set you up with the SDK directly, on a claim type you pick. The package publishes to npm when the warrant responses are typed end to end.
Type the warranted record into your build.
Request a key, get the SDK, and make your first warrant call on your own claims.
Rules data, not PHI. Nothing Verzi serves contains patient information.