By default, when you update a customer with a PATCH request in Kolleno's Open API, the extra_data object you send replaces the stored object. Keys you do not send are removed.
If your system holds only some of those keys, we can turn on merge mode for your company. A PATCH then changes only the keys you send and keeps the rest.
This is off unless you ask for it, and we set it up for you.
What merge mode does
Keys you send are added or updated.
Keys you do not send keep their values.
A key sent as
nullis removed.Only top-level keys are merged. A nested object is replaced as a whole.
An empty object
{}changes nothing.
Example
Stored extra_data | PATCH body | Result |
|
|
|
Check before you ask
Merge mode applies to your whole company in Kolleno: every customer PATCH, from every API key and every integration your team owns.
⚠️ Check each integration that sends extra_data. If one of them sends a smaller object to drop old keys, those keys stay once merge mode is on. Change that integration to send each key it removes as null.
Merge mode does not change:
PUT requests. A PUT always replaces the full object.
Other objects. It applies to Customers only, not to
extra_dataon Invoices or Transactions.Other ways data reaches Kolleno. File imports and your accounting integration work as before.
Ask us to turn it on
Email support@kolleno.com and tell us which Kolleno company needs merge mode. If you have more than one company, for example a test company and a live company, list each one.
You do not need to change your requests. The same URL, the same API keys and the same body format work after we turn it on.
What changes once it is on
PATCH with extra_data: the keys are merged as described above.
PATCH without extra_data: the stored extra_data is not touched.
Customer lookup: merge mode works the same when you address the customer by its UUID or with
?source=.Two requests at the same time: if two PATCH requests update the same customer together, the keys from both are kept. If both send the same key, the later request wins.
Troubleshooting
What you see | What it usually means |
Keys you did not send are gone | Merge mode is not on for that company,. Check the method, then contact us. |
A key you stopped sending is still there | This is correct with merge mode on. Send the key as |
Nothing changed after you sent an empty object | This is correct with merge mode on. An empty object has no keys to merge. |
