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_default
endpoint allows you now to set the default email template. - The new
GET /files
endpoint 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_id
field 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_automatically
field of the/settings
endpoint.
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 /entities
now returns201
instead of200
in case of successful entity creation. - The
address
.country
default value has been changed fromDE
to null. Thecountry
field is now always required when specifying theaddress
.
- The
- Entity users:
- In the responses from
/entity_users*
endpoints, therole
object was replaced with therole_id
field, and theuserpic
object was replaced with theuserpic_file_id
field. 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_default
field tois_default_for_currency
. - Required fields for entity bank accounts now depend on the
currency
instead 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}
from200
to204
.
- Renamed the
- Mail templates:
- The deprecated
GET /mail_templates/variables
endpoint has been removed. Use/receivables/variables
or/payable_purchase_orders/variables
instead. - The
template_name
field has been renamed toname
. - The
language_code
field has been renamed tolanguage
.
- The deprecated
- Text templates:
- The deprecated
GET /text_templates/variables
endpoint has been removed. Use/receivables/variables
or/payable_purchase_orders/variables
instead.
- The deprecated
- Payables:
POST /payables/{payable_id}/mark_as_partially_paid
now requires thepay
permission for payables instead ofupdate
.- The
subtotal
andtotal_amount
fields 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
subtotal
andtotal
fields of line items are now automatically calculated based on theunit_price
,quantity
, andtax
fields, therefore, are read-only and appear only in responses. - The
unit_price
,subtotal
, andtotal
fields in payables and line items can now have negative values. Some vendors use this approach to specify discounts. - Removed the
tax_account_id
field from line item responses in favor of the newaccounting_tax_rate_id
field. - Removed the deprecated
line_items
field from/payables
responses. Use the/payables/{payable_id}/line_items
endpoints 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
400
instead of406
. event_name
must 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 /files
endpoint to upload a file, and then provide itsid
for thePOST /onboarding_documents
andPOST /persons/{person_id}/onboarding_documents
endpoints. - The new
/onboarding_requirements
endpoint should be used instead/entities/{id}/onboarding_requirements
. - The new
PATCH /onboarding_data
endpoint 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.