v1.13.0 — Contract parity
Product-write semantics, expanded OAuth consent, plan-derived API capacity and multiline PDF notes.
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/products | Create a product |
PUT/v1/products/{product} | Update a product |