SDKs & OpenAPI
An OpenAPI 3.1 spec for generating clients in any language, the raw REST API underneath, and a typed Node SDK on the way. Pick your altitude.
Coming soon
The @invoicejet/node package is not on npm yet; it ships at launch. Everything it wraps works today over the REST API with curl or any HTTP client, and the OpenAPI spec below can generate a typed client in the meantime.
OpenAPI
The full spec lives at /openapi.json. Feed it to openapi-generator, Kiota, Speakeasy, or your tool of choice to generate a client in any language.
Node: @invoicejet/node (coming soon)
Zero-dependency, fully typed, works in Node 18+ (and any runtime with fetch + WebCrypto). This is what it will look like:
import { InvoiceJet, verifyWebhookSignature } from "@invoicejet/node";
const client = new InvoiceJet({ apiKey: process.env.INVOICEJET_API_KEY });
// extract and wait
const invoice = await client.invoices.extract({
fileUrl: "https://example.com/invoices/june.pdf",
wait: true,
});
// or fire-and-poll
const queued = await client.invoices.extract({ file: blob, fileName: "june.pdf" });
const done = await client.waitForCompletion(queued.id);
// list complete invoices ingested through the API
const { data } = await client.invoices.list({ status: "complete", source: "api" });
// key + quota check
const me = await client.me();CLI & MCP (coming soon)
Also shipping at launch: the invoicejet CLI for scripts and pipelines, and the MCP server that gives Claude, Cursor, and any Model Context Protocol client invoice-extraction tools. Their docs preview what's coming.
Base URL
https://nzsktgwehyzltgagloox.supabase.co/functions/v1/apiAll endpoints are versioned under /v1. Breaking changes ship as a new version prefix; /v1 stays stable.