Release notes
Stay up to date with the latest features, improvements, and breaking changes in the current version of Monite API.
Overview
This version includes improvements and changes to the Monite platform to make the API more consistent and predictable.
In future updates to the API version 2023-09-01, we plan to add more features and improvements to our product offering. We’ll add these new features to the current API version unless they introduce new breaking changes. In such cases, we’ll introduce them in succeeding API versions.
New features and improvements
- The new
POST /mail_templates/{mail_template_id}/make_defaultendpoint allows you now to set the default email template. - The new
GET /filesendpoint lets you retrieve one or more files by their IDs. You can use this, for example, to retrieve profile pictures of entity users. - The new
accounting_tax_rate_idfield in payable line items can be used to override the auto-selected tax rate reference for a line item when using accounting integration. - You can configure the system to avoid the creation of duplicated payables based on the information obtained by the OCR via the
payable.allow_cancel_duplicates_automaticallyfield of the/settingsendpoint.
Breaking changes
The version 2023-09-01 includes the following breaking changes, which you should consider when upgrading from the previous API version:
- Entities:
- The
POST /entitiesnow returns201instead of200in case of successful entity creation. - The
address.countrydefault value has been changed fromDEto null. Thecountryfield is now always required when specifying theaddress.
- The
- Entity users:
- In the responses from
/entity_users*endpoints, theroleobject was replaced with therole_idfield, and theuserpicobject was replaced with theuserpic_file_idfield. To get the role and profile picture by their IDs, useGET /roles/{role_id}andGET /files/{file_id}, respectively.
- In the responses from
- Entity bank accounts:
- Renamed the
is_defaultfield tois_default_for_currency. - Required fields for entity bank accounts now depend on the
currencyinstead ofcountry:- EUR accounts require
iban. - USD accounts require
account_holder_name,account_number, androuting_number. - GBP accounts require
account_holder_name,account_number, andsort_code.
- EUR accounts require
PATCH /bank_accounts/{bank_account_id}now allows updating onlyaccount_holder_name and display_name. To update other fields, you will have to delete the existing bank account and create a new one.- Changed the HTTP status code for a successful call to
DELETE /bank_accounts/{bank_account_id}from200to204.
- Renamed the
- Mail templates:
- The deprecated
GET /mail_templates/variablesendpoint has been removed. Use/receivables/variablesor/payable_purchase_orders/variablesinstead. - The
template_namefield has been renamed toname. - The
language_codefield has been renamed tolanguage.
- The deprecated
- Text templates:
- The deprecated
GET /text_templates/variablesendpoint has been removed. Use/receivables/variablesor/payable_purchase_orders/variablesinstead.
- The deprecated
- Payables:
POST /payables/{payable_id}/mark_as_partially_paidnow requires thepaypermission for payables instead ofupdate.- The
subtotalandtotal_amountfields of payables are now automatically calculated based on the values of the line items, therefore, they are read-only and appear only in responses. - The
subtotalandtotalfields of line items are now automatically calculated based on theunit_price,quantity, andtaxfields, therefore, are read-only and appear only in responses. - The
unit_price,subtotal, andtotalfields in payables and line items can now have negative values. Some vendors use this approach to specify discounts. - Removed the
tax_account_idfield from line item responses in favor of the newaccounting_tax_rate_idfield. - Removed the deprecated
line_itemsfield from/payablesresponses. Use the/payables/{payable_id}/line_itemsendpoints to access and manage the line items of a payable.
- Approval policies and approval requests:
- Script validation errors are now returned with HTTP status code
400instead of406. event_namemust be mentioned in the trigger script at least once on any nested level on policy creation. Triggers like"{invoice.amount > 1000}"are no longer valid and need to be rewritten as{"all": ["{invoice.amount > 1000}", '{event_name == "create"}']}.
- Script validation errors are now returned with HTTP status code
- Payments onboarding:
- Uploading documents has been changed. Now, you first need to call the
POST /filesendpoint to upload a file, and then provide itsidfor thePOST /onboarding_documentsandPOST /persons/{person_id}/onboarding_documentsendpoints. - The new
/onboarding_requirementsendpoint should be used instead/entities/{id}/onboarding_requirements. - The new
PATCH /onboarding_dataendpoint should be used instead of the deprecatedPUT /onboarding_data.
- Uploading documents has been changed. Now, you first need to call the
For more information on what changes we consider breaking and non-breaking in our API, please refer to our Versioning policy.