Changelog
What changed in the API, SDK, CLI, and MCP server. The API is versioned by path (/v1); additive changes land here without a version bump, and breaking changes would ship as a new path with a deprecation window announced in advance.
November 2026: Quotas, held invoices, and package fixes
- Over the monthly quota,
POST /v1/invoicesand retries return402 monthly_quota_reached(was 429) withlimit,used, andupgrade_url. Failed extractions are refunded; deleting an invoice does not free quota. Invoices emailed in or uploaded in the app while over quota get the new statusheld(filter withstatus=held) and are processed on upgrade or at the reset on the 1st. POST /v1/invoices/:id/extractreturns the invoice inqueued, so pollers no longer stop on the stale status.overdue=falsenow means not overdue. CORS allowsPATCH. Rate-limit headers are computed from the oldest request in the window.- Exports: new
xeroshape (Xero bills import, DD/MM/YYYY dates). The QuickBookslinesshape gains an Account column, empty for now. - Webhooks: new endpoint URLs must be https, redirects are not followed, and delivery logs keep the response status code only, not the body.
- Reference docs now cover the invoice resource's
citations(page and verbatim text per field),paid_at, andentity_tag. - OpenAPI spec:
paid_at,entity_tag,retry_accepted,key.scope, required fields, every error status, rate-limit and idempotency headers, and webhook signature headers. - Packages at 0.5.0 (not on npm yet): SDK honors
mimeType, takesfileName/mimeTypefor URLs, verifies webhooks on Node 18, and addsinvoices.iterate/events.iterate. CLI--all,--starting-after, and created-date filters. MCPlist_events, pagination, and tool annotations. CLI and MCP bundle the SDK and have no runtime dependencies.
July 2026: Exports everywhere
GET /v1/exports: render CSV or JSON exports in three shapes —lines(QuickBooks bill import),invoices(summary ledger),vendors(per-vendor statement) — with the same filters as list. Up to 10,000 invoices per export, flaggedtruncatedpast that.- Packages at 0.4.0 (not published): SDK
exports.create, CLIexportcommand, MCPexport_invoicestool. The in-app Exports page renders from the same server builder, so every surface produces identical files.
July 2026: Reliability and scopes
Idempotency-Keyheader onPOST /v1/invoices: safe retries with 24-hour response replay.GET /v1/events: durable event log for reconciling missed webhook deliveries.- Webhook redelivery: failed deliveries retry on a +5m/+30m/+2h/+8h/+24h backoff, with a manual Redeliver button in Developers.
- API key scopes:
fullorread(read-only keys get 403insufficient_scopeon writes). X-RateLimit-Limit,X-RateLimit-Remaining, andX-RateLimit-Resetheaders on every authenticated response.- Packages at 0.3.0 (not published): SDK
events.listandidempotencyKey, CLIeventscommand and--version.
July 2026: Documents and connectors
GET /v1/invoices/:id/file: signed one-hour download URL for the original document.POST /v1/invoices/:id/extract: re-run extraction (withforcefor complete invoices).- MCP connect guides for VS Code, Windsurf, and Zed alongside Claude and Cursor.
July 2026: Query and act
GET /v1/vendors, list filters (vendor, paid, overdue, amount and due-date ranges),PATCH /v1/invoices/:id(mark paid, entity tag), andPOST /v1/invoices/:id/approval.- MCP grew to ten tools; the CLI gained vendors, paid, tag, and request-approval.
July 2026: Initial release
POST /v1/invoices(multipart, file_url, base64) with async-by-default extraction andwait=true.- Signed webhooks, the Developers page with keys and playground, public docs.
- Source for
@invoicejetai/node, theinvoicejetCLI, and@invoicejetai/mcp(not published to npm yet).
Questions or something broken? Email support@invoicejet.ai.