v1.13.0 — Contract parity
Product-write semantics, expanded OAuth consent, plan-derived API capacity and multiline PDF notes.
Historical entry. This is the record of what was announced on 23 August 2026, and its example routes are kept exactly as they were published then. For the contract in force, read one breaking window — axis and payload.
23 August 2026 — this release changes behavior and documentation without adding public endpoints or MCP tools; its public surface is unchanged from the previous release.
Product writes
- Product create/update requests now document
specificationsas a replace-all object of name/value pairs. On update,nullclears it and omission preserves it. PUT /v1/products/{product}remains a partial update.stockis an absolute target: the API records only the difference as a stock movement; the same value is a no-op andnullmeans zero.stockandlow_stock_thresholdpreserve four-decimal precision.- Creating with an existing
external_idupdates that product idempotently. Productmetadatakeeps its legacy compatibility behavior, accepting lists and coercing scalar values to strings. - The OpenAPI contract also aligns nullable
series_idupdate fields and theibanalias accepted for supplier bank accounts.
OAuth and MCP
OAuth consent adds six scopes: price_lists.read, price_lists.write,
facturae.read, facturae.write, tax_reports.read and
tax_reports.write. Those scopes make 24 existing tools available to OAuth
apps, moving the totals to 343 OAuth-reachable and 81 API-key-only tools.
The assignable API-key catalog remains intentionally narrower than the append-only scope registry: the four reserved GoCardless and MONEI auto-invoicing scopes are not yet assignable.
Plan-derived Developer API capacity
API capacity now follows the active Factuarea plan directly: Trial/Free,
Emprendedor/Starter, Empresario/Pro and Enterprise/Scale. There is no separate
Developer API add-on or capacity boost to purchase. A historical
grandfathered_addon migration may preserve a higher tier while an eligible
plan remains active.
Webhook capacity errors now reflect the plan model: addon_required means the
current plan grants zero endpoints; addon_not_active means no eligible active
plan; and exceeding a positive endpoint cap returns
business_rule_violation with subcode: max_webhook_endpoints_reached.
Document PDFs
Multiline notes and terms now keep their line breaks and render as stacked lines in generated document PDFs.
Updated endpoints2
| Endpoint | Description |
|---|---|
POST/v1/companies/{company}/products | Create a product |
PATCH/v1/companies/{company}/products/{product} | Update a product |