Release notes
Stay up to date with the latest features, improvements, and breaking changes in the current version of Monite API.
What's new in v2023-09-01
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.
Changelog
March 14, 2024
- The new
GET /events
endpoint retrieves a log of that was sent to a partner. It shows the history of events and includes events triggered while a webhook listener was unavailable. - Added VAT rates and regulatory coverage for Bulgaria and Finland.
March 1, 2024
- Added the
POST /payables/{payable_id}/validate
endpoint that returns the information that is missing to move a payable fromdraft
to thenew
state. - Now, when a payable's
issued_at
orpayment_terms
fields are updated, the value of thesuggested_payment_term
is recalculated. - Our OCR supports new fields for payables:
line_item.vat_percentage
line_item.total_incl_vat
vat_amount
- Added VAT rates and regulatory coverage for Israel and Pakistan.
- Added the ability to push canceled invoices to an accounting software.
- Added new RBAC permissions:
onboarding
andperson
.- The
onboarding
permission is required to access the following endpoints using an entity user token:
GET /entities/{entity_id}/onboarding_requirements
POST /onboarding_documents
POST /persons/{person_id}/onboarding_documents
- The
person
permission is required to access other/persons*
endpoints using an entity user token.
- The
February 15, 2024
Breaking changes:
- In MoniteScript, the only value allowed for the
event_name
field issubmitted_for_approval
. Theevent_name
andinvoice
fields remain mandatory.
New features and improvements:
- New field
payable.ocr_status
that reflects the current status of the OCR process of a payable. Its possible values areprocessing
,error
, andsuccess
. - New optional
type
field in the request body of thePOST /receivables/:id/preview
endpoint. You can usetype=discount_reminder
ortype=final_reminder
to preview reminder emails for a specific invoice. For more information, see Preview a payment reminder email. - PDF invoices generated by Australian entities now have currency amounts formatted accordingly.
- New
response_status_code
field in the responses fromGET /webhooks
.
February 2, 2024
- The turnaround time for processing a payable (including OCR data) received by email has reduced significantly.
- New optional fields parsed to the
other_extracted_data
object in the responses of OCR-processed payables:sort_code
andaccount_number
. - New optional field
unit
parsed in thepayables.line_items
object in the responses of OCR-processed payables. - The requirement for at least one line item in a payable can be disabled in the partner's settings by calling
PATCH /settings
passing the new fieldenable_line_items
asfalse
(the default value istrue
). - New query parameters to
GET /counterparts
to find and filter counterparts by their bank details:account_number
andsort_code
. - New optional fields in invoices and quotes:
deduction_amount
anddeduction_memo
. - New partner setting
receivable.deduction_title
to provide a custom deduction title. - Added VAT rates and regulatory coverage for Denmark and Luxembourg.
January 24, 2024
Breaking changes:
-
The currency of products added as line items to invoices and quotes must now match the base currency of the invoice or quote itself. Monite does not support automatic currency conversion.
-
Changed the format of
document_id
values in invoices, quotes, and credit notes.- Invoices:
INV-XXXX
(previouslyinvoice-XXXX
) - Quotes:
Q-XXXX
(previouslyquote-XXXX
) - Credit notes:
CN-XXXX
(previouslycredit-note-XXXX
)
- Invoices:
-
Removed the unused
push_statuses
setting from/accounting_sync_rules
.
New features and improvements:
-
Added VAT rates and regulatory coverage for Austria and Finland.
-
Country codes provided by entities and counterparts in the Canary Islands (IC) and autonomous Spanish cities—Ceuta and Melilla (EA)—must adhere to the ISO 3166 standard for those regions.
-
Added new endpoint to get the role of the authenticated entity user:
GET /entity_users/my_role
. -
Added new RBAC permission:
payment_record
. It is required to access the/payment_records
endpoints using an entity user token. -
Added the ability to customize the email sender name and username on all outgoing emails. For more information, see Domains and mailboxes.
-
Added new
id__in
query parameter toGET /counterparts
. Use it to bulk fetch multiple counterparts by their IDs. -
Added new query parameters to
GET /receivables
to filter invoices by due date:due_date__gt
,due_date__lt
,due_date__gte
,due_date__lte
. -
Added the
due_date
field to invoice responses as a convenience alias for the existing fieldpayment_terms.term_final.end_date
. -
Added new webhooks to notify partners about the status of accounting system connections:
accounting_connection.pending_auth
accounting_connection.connected
accounting_connection.deauthorized
accounting_connection.disconnected
-
Partner setting
mail.attach_documents_as_pdf
now also affects purchase order emails. -
Added an optional
payout_method
field to payment intents. Currently, the only possible value is"bank_account"
.
January 11, 2024
- Added a new endpoint to delete an entity logo:
DELETE /entities/{entity_id}/logo
.
December 19, 2023
The version 2023-09-01
is now publicly available to all Monite partners. To start using this version:
-
Change the
api_version
setting in your partner settings (/settings
) to2023-09-01
:curl -X PATCH 'https://api.sandbox.monite.com/v1/settings' \ -H 'X-Monite-Version: 2023-09-01' \ -H 'Authorization: Bearer YOURT_PARTNER_TOKEN' \ -H 'Content-Type: application/json' \ -d '{"api_version": "2023-09-01"}'
-
Change the
X-Monite-Version
header value in all API calls to2023-09-01
. For example:curl -X GET 'https://api.sandbox.monite.com/v1/entities' \ -H 'X-Monite-Version: 2023-09-01' \ -H 'Authorization: Bearer ACCESS_TOKEN'
For more information, see How to upgrade.
Updated 13 days ago