Skip to main content

API Changelog

This page lists every change to the Quaderno API, newest version first.

How versioning works​

Send the version you want in the Accept header:

Accept: application/json; api_version=20260309

If you do not send api_version, the API version configured on your account is used. Backwards-compatible changes are added to every version.

Each entry is labeled:

  • Breaking change: applies only when you move to this version. Your integration keeps working on its current version.
  • Backported breaking change: applies to every API version, including the ones you already use.
  • Backwards-compatible change: additive. It does not require any change in your integration.
  • Deprecation: still works, but will be removed in the future.

Versions​

VersionBreaking changesHighlights
20241028YesTax code and country validation in the Transactions API
20240705YesPagination sorted by descending ID, deliveries object
20231201YesTransactions API sends documents automatically, /taxes/validate removed
20220325Yesexchange_rate, items and evidence objects
20210701YesDocuments can no longer be deleted, items cap, new webhooks
20210316Yescreated_before pagination, /tax_rates/calculate
20170914YesAccounts API
20170628YesRate limits return 429
20170418NoEditable custom_metadata
20161108Nocountry in documents
20160614YesAmounts as cents, version in the Accept header
20160602NoFirst version

20241028​

  • Backported breaking change: for Spanish Verifactu accounts, number and issue_date are ignored when creating documents, and Quaderno Templates are not available.
  • Breaking change: an invalid tax_code in the items of the Transactions API returns 406 Not Acceptable. Before, it was ignored and the account default was used.
  • Breaking change: the country parameter of the tax object is now required and validated. Before, it was not enforced, although the documentation said it was.

20240705​

  • Breaking change: paginated lists are sorted by descending ID.
  • Backwards-compatible change: permanent_establishment and import_scheme can be set and read on the /tax_ids endpoints. This was backported to all versions.
  • Backwards-compatible change: invoice and credit deliveries to external systems, such as TicketBAI, are exposed in a deliveries object.

20231201​

  • Breaking change: the Transactions API sends invoices and credit notes automatically when the automatic delivery option of the account is enabled.
  • Breaking change: the deprecated /taxes/validate endpoint is removed. Use /tax_ids/validate and send tax_id instead of vat_number.

20220325​

  • Backwards-compatible change: listing endpoints accept processor_id as a filter.
  • Backwards-compatible change: the Transactions API returns exchange_rate for non-default currencies.
  • Backwards-compatible change: the Billing API accepts items and evidence objects. The items_attributes and evidence_attributes arrays are deprecated.
  • Backwards-compatible change: expense payments include processor and processor_id.
  • Breaking change: /tax_rates/calculate no longer returns a notice text.
  • Backwards-compatible change: /tax_rates/calculate always returns a status code.
  • Backwards-compatible change: recurring documents include recurring_period and recurring_frequency.
  • Backwards-compatible change: accounts include postal_code and web.

20210701​

  • Backwards-compatible change: invoices and credits include verification_code and verification_permalink.
  • Backported breaking change: documents can have a maximum of 200 items.
  • Backwards-compatible change: the Billing API supports partial refunds with credited_amount for single-item invoices.
  • Backwards-compatible change: passing none as region to GET /jurisdictions returns the jurisdictions without a specific region.
  • Backwards-compatible change: new threshold.eu.100k webhook that warns EU digital-service sellers when their sales reach 100,000 EUR.
  • Backported breaking change: abandoned checkout sessions are removed after seven days of inactivity.
  • Backwards-compatible change: new threshold.warning and threshold.exceeded webhooks for the annual turnover report.
  • Backported breaking change: coupons linked to Stripe coupons can no longer be edited.
  • Backported breaking change: DELETE on invoices and credits is removed (404). Use credit notes instead, and PUT /credits/{id}/void to void them. The invoice.deleted and credit.deleted webhooks are removed.
  • Backported breaking change: PUT on invoices and credits only allows changes to notes, tags, custom metadata and the address fields of the customer.
  • Backwards-compatible change: /tax_rates/calculate always returns product_type.
  • Backwards-compatible change: Connect custom accounts accept default_product_type and default_tax_code.

20210316​

  • Breaking change: pagination uses the created_before parameter instead of page.
  • Breaking change: /taxes/calculate is deprecated in favor of /tax_rates/calculate.
  • Deprecation: responses that use the old pagination include a Deprecation: true header and a Link header that points to the updated documentation.

20170914​

  • Backwards-compatible change: new Accounts API.
  • Backwards-compatible change: credits include related_document.
  • Backwards-compatible change: credit tax attributes include tax_1_transaction_type and tax_2_transaction_type.
  • Backwards-compatible change: credit document items include transaction_type.
  • Backwards-compatible change: items include kind, stripe_plan_id and several PayPal interval fields.
  • Breaking change: number is limited to 20 characters for invoices, credits and estimates.

20170628​

  • Breaking change: rate limits return 429 (too many requests) instead of 503.

20170418​

  • Backwards-compatible change: custom_metadata is editable.

20161108​

  • Backwards-compatible change: country is returned for invoices, expenses, credits and estimates.

20160614​

  • Breaking change: amounts are returned as cents instead of formatted strings.
  • Breaking change: the version is sent in the Accept header instead of the URL.

20160602​

First version. Amounts are returned formatted with a currency symbol.