Breaking Changes
We list all backwards-incompatible changes here. As described before, new additions and forwards-compatible changes don’t need a new API version and can be found here.
2023-10-01
- As of October 1st 2023, we expect all network clients to make use of TLS 1.2 or higher when connecting to our infrastructure.
2023-09-26
-
When updating events through
events.update
, links to deals must also be provided otherwise existing deal link(s) will be removed. -
unit_price.currency
is no longer returned for line items on the response ofinvoices.info
,subscriptions.info
,quotations.info
andcreditNotes.info
. -
unit_price.currency
is no longer supported or validated on line items for invoices, quotations, subscriptions & credit notes endpoints. Instead, it will be supported on the document level forinvoices.draft
invoices.update
quotations.create
quotations.update
-
customFieldDefinitions.list
andcustomFieldDefinitions.info
will now return configuration options (for single and multiple select custom fields) as an array of objects. -
We updated the
location
format of returned by/meetings.info
endpoint -
Both
/meetings.list
and/meetings.info
will now return a meetingtitle
instead ofname
2022-09-15
-
The property
remark
has been renamed tonote
on:subscriptions.info
subscriptions.list
-
The property
periodicity
has been replaced bybilling_cycle
on:subscriptions.info
subscriptions.list
-
The property
tags
will no longer be converted to lowercase on:companies.list
companies.info
contacts.list
contacts.info
-
The property
tag
will no longer be converted to lowercase on:tags.list
2021-09-01
- The property
description
is now returned in Markdown instead of HTML on:products.info
products.list
2020-05-01
-
The property
title
is added to the response of:tasks.list
tasks.info
-
The property
title
is added and required on:tasks.create
tasks.update
-
The property
description
is no longer required on:tasks.create
tasks.update
2020-01-01
-
The property
assignee
is now returned as null instead ofassignee.id
being returned as null on:tasks.list
tasks.info
-
The property
assignee
is now accepting null instead ofassignee.id
on:tasks.create
tasks.update
2019-10-09
- We added
billing_method
andbudget
, andbilling_method
andprice
tomilestones.create
.- When choosing
time_and_materials
ornon_invoiceable
as the billing method, you can provide abudget
. - When choosing
fixed_price
as the billing method, you need to provide theprice
.
- When choosing
2019-07-03
-
The property
todo
has been renamed totask
on the following endpoints:events.list
events.info
-
We renamed the
context
field for work orders on customFieldDefinitions fromwerkbonnen
towork_orders
-
The property
due_at
was removed in favour ofdue_on
. Additionally,due_on
is a date with formatYYYY-MM-DD
, instead of a ISO8601 datetime. These changes affect the following endpoints:tasks.info
tasks.list
tasks.create
tasks.update
-
We won't accept
project
as asubject
anymore intimeTracking.add
,timeTracking.update
,timers.start
andtimers.update
. We wrongly accepted this in the past, but time tracking always needs to be coupled to a milestone. Please use themilestone
subject instead. For older versions, we will link the time tracked to the oldestopen
milestone. If there is noopen
milestone, it's linked to the most recentclosed
ordone
milestone.
2019-03-13
-
The property
tax
has been changed. Instead of giving you therate
of the tax it now shows theid
and thetype
of the tax. This has been changed on the following endpoints:invoices.info
creditNote.info
quotations.info
-
We simplified the
products.info
andproducts.list
endpoints:name
anddescription
are no longer wrapped in atranslations
object.external_id
was renamed tocode
prices
are temporarily no longer returned, to avoid confusion, as they didn't take into account price lists
2019-01-24
-
Previously, the
invoices.info
endpoint returned an non-existing or emptyextended_description
as an empty string, whileinvoices.draft
andinvoices.update
didn't allow an empty string asextended_description
. From now on,invoices.info
will return an non-existing or emptyextended_description
asnull
, to make this more consistent and interchangeable. -
Invoices can now have three statuses (
draft
,outstanding
ormatched
) instead of two (draft
orbooked
). Therefore thestatus
property ininvoices.list
andinvoices.info
will either returnoutstanding
ormatched
for invoices that were previously justbooked
. This is also reflected in thestatus
filter oninvoices.list
: to allow you to still query alloutstanding
andmatched
invoices (previously allbooked
) , it now only accepts an array of filter values (eg.["outstanding", "matched"]
or["draft"]
). -
The property
local_business_number
was renamed tonational_identification_number
on the following endpoints:companies.info
companies.list
companies.add
companies.update
invoices.info
creditNotes.info
-
An invoice number actually contains the bookyear, so from now on, you will see eg.
2018 / 27
instead of27
. This is reflected in theinvoice_number
property in theinvoices.list
andinvoices.info
endpoints.
2018-10-30
-
The top-level property
customer
was removed on all deal endpoints. Earlier, this property could already be found under thelead.customer
property. If you were still using thecustomer
property, just wrap it in an object under alead
key. -
The
contacts.list
&companies.list
endpoints used to give back an object under theaddress
key. This object is now returned under theprimary_address
key.