Changelog

This page contains the changelog of the Moneybird API. You can subscribe to updates via RSS.

  • Changelog 15-08-2017

    • We fixed a bug that allowed payments to be registered for draft sales invoices. An invoice has to have been sent before payments can be registered.
  • Changelog 12-07-2017

    • We have added the field tax_number_valid to the contacts entity.
  • Changelog 28-06-2017

    • We have added an endpoint to change the state of an estimate /estimates/:id/change_state
    • Added an endopint to bill an estimate /estimates/:id/bill_estimate

    See the Estimates documentation for more information.

  • Changelog 27-03-2017

    We’ve extended the functionality of webhooks by adding the possibility to subscribe to events. You can now choose which events you would like to recieve a notification from, by adding an array with the names of the events to the data. See webhooks for more information.

    If you decide to not subscribe to any events the old implementation will be used (notifications after state changes of sales invoices). This is to prevent existing webhooks from failing.

  • Changelog 18-11-2016

    Webhooks now return our long integer IDs as strings to avoid issues with JSON parsing tools. The API was already doing this as well.

  • Changelog 26-10-2016

    • All lists of entities are now equipped with pagination. Use the page and per_page arguments to control the pagination. A response contains a Link header with a next and prev link. Read more about pagination.
  • Changelog 13-10-2016

    • Filtering can now be used when listing recurring sales invoices. A sync API has also been implemented for recurring sales invoices. See the recurring sales invoices documentation for more information.
  • Changelog 12-10-2016

    • Assigning a nonexistent custom field to a contact, estimate, (recurring) sales invoice or identity now returns a 404 HTTP response with a helpful error message instead of a generic 500 error.
    • In many error cases the error response hash now also contains a symbolic entry with machine readable error details. See the documentation for an example.
  • Changelog 18-08-2016

    • After deleting an entity, the API will now return a 204 No content response without a body. This conforms to the RFC2616 standards.
  • Changelog 28-07-2016

    • All entities that belong to a specific administration now return their administration_id field in API responses.
    • The contact list now returns the documented 100 contacts, instead of 50.
    • Documentation has been improved for SalesInvoice and Estimate filtering.
    • Deleting a contact will now return a 422 HTTP code when deleting failed. Deleting can fail when a contact is still used within the bookkeeping.
  • Changelog 23-03-2016

    • Documents now include a nested representation of the contact they’re atttached to.
    • The events attribute was added to a lot of entities. These events represent the history items shown in the MoneyBird web interface. For example, an event containing action: sales_invoice_send_email will tell you the time at which an invoice was sent by email and to whom it was sent.
  • Changelog 10-03-2016

    When creating a sales_invoice without giving a workflow id, MoneyBird will try to find a default invoice id saved at the contact first before using the administration default.

    It’s no longer possible to use the email attribute when creating or updating contacts. You’ll need to use the send_invoices_to_email and send_estimates_to_email attributes instead.

    It’s no longer possible to use the attention attribute when creating or updating contacts. You’ll need to use the send_invoices_to_attention and send_estimates_to_attention attributes instead.

  • Changelog 24-11-2015

    Many JSON parsing tools out of the box don’t work well with our long integer IDs. Therefore we’ve updated the API to always return these IDs as strings instead.

  • Changelog 10-11-2015

    We’ve added an /estimates endpoint to manage estimates. It includes all functions from the old API, and several new ones. It has been developed to be consistent with /sales_invoices. Read more in the estimates API documentation.

    A due_date attribute has been added to sales invoices. This attribute also exists for estimates.

  • Changelog 19-10-2015

  • Changelog 14-10-2015

  • Changelog 02-10-2015

    We have improved the management of API tokens and OAuth applications. On the new developer page in your user account, you can find:

    • Register new OAuth applications for external applications
    • Register a personal OAuth API token for personal user
    • Subscribe to our API newsletter to keep informed about API changes
  • Changelog 23-03-2015

    The send_method attribute on contacts has been replaced by the delivery_method attribute. The possible values are also slightly different:

    Email
    Send invoices to contact via email.
    Post
    Send invoices to contact via postal system.
    Manual
    Just mark invoices send to contact as sent.
  • Changelog 25-02-2015

    We have added a new webhook feature to the API. More information is available in the documentation.

  • Changelog 05-02-2015

    The timeline scope for authentication is removed from our application. An update to your authentication process is needed to enforce the new default scope sales_invoices. This should be an one-time change.

  • Changelog 07-01-2015

    We have extended the API with an endpoint for import mappings. With the move from the old MoneyBird to the new MoneyBird, all ids of entities in an administration have changed. Some API developers might have saved old ids in their database. In order for them to keep querying our API with the right ids, we have added an API for the import mappings. By querying the import mapping API, you can transform old ids to new ids in the new MoneyBird. This should be a one-time conversion, the import mapping endpoint will not be indefinitely available.

    Old ids can be recognized as plain autoincrement ids, usually not larger than 1.000.000. The ids in the new MoneyBird are no longer autoincrement ids, but are defined based on the time of generation in our database. The ids are therefore much longer, an example of a new id is 111433428396672003. Make sure your application can handle these large numbers, sometimes this requires a change to your database structure or changes in JavaScript.

  • Changelog 26-11-2014

    We have launched a new API for the new MoneyBird. All functions of our old API can be found in the new API. Some REST endpoints have been renamed to reflect the new MoneyBird better.

    The new API is still a REST API and behaves in a comparable way as our previous API.

    Common

    • HTTP Basic authentication is removed, authentication can only be done with OAuth keys. More information
    • JSON is the default data type for all requests and responses. XML is still available by changing the format in the path.
    • The API can be found on https://moneybird.com/api, versioning is done in the URL. The new API has version v2.
    • Subdomains for accessing certain administations are removed. The path to a resource contains the id of an administration: /api/v2/:administration_id.json
    • All primary keys of entities in the API are bigints, for example 107693607045039116. Storing these ids in your own database might need special attention.
    • All entities formerly present in the database will have a new primary key. When you have stored ids of entities in your own database, you need to migrate these.

    Sales invoices

    • Renamed endpoint from /invoices to /sales_invoices
    • The endpoints for the synchronisation API have been renamed from /sync_list_ids and /sync_fetch_ids to /sales_invoices/synchronization. The HTTP method makes the difference between listing and fetching.
    • Changing contact information or adding contacts through the sales invoices endpoints is removed. Upon creation of a new sales invoice, a contact should be provided. This contact needs to be created with the contact endpoints.
    • The attribute description has been renamed to payment_conditions
    • The attribute po-number has been renamed to reference
    • The attribute recurring-template-id has been renamed to recurring_sales_invoice_id
    • The attribute sepa-active is removed, the workflow now defines the payment process of the sales invoice
    • The attribute invoice-profile-id is removed. Invoice profiles have been replaced by document styles and workflows. A document style determines the layout of the sales invoice, the workflow determines the process for receiving a payment. Both can be set by document_style_id and workflow_id.
    • Payments for sales invoices no longer store a payment method. The method of payment is determined based on the financial mutation the payment is linked to.

    Documents

    Recurring invoices

    • The /recurring_templates endpoints have been removed in favor of /recurring_sales_invoices.
    • The attribute frequency-type now accepts strings describing the frequency. Integer values are not accepted anymore.
    • The attribute invoice-profile-id has been removed in favor of a document_style_id and workflow_id.

    Contacts

    • The endpoints for the synchronisation API have been renamed from /sync_list_ids and /sync_fetch_ids to /contacts/synchronization. The HTTP method makes the difference between listing and fetching.

    Invoice profiles