API Latest Changes

v3.0.43 (17/12/2019)

  • Added support to create Remarks as Todo. Just supply a todo: true in the parameters.
  • Two new fields accessible when fetching Todo Remarks (done_at, done_by)

v3.0.42 (17/12/2019)

  • Allows to create new accounts.

v3.0.45 (13/01/2020)

  • Added currency as an optional param to endpoint POST /v3/companies/:company_id.
  • Added currency to GET /v3/companies and to GET /v3/companies/:company_id.

v3.0.44 (09/01/2020)

  • It’s not permitted to create external roles via the API. Since this role is paid, it should be done via the UI so that the user sees the paywall warning.

v3.0.46 (14/01/2020)

  • Add support for account mapping when creating/updating an account.
  • Enhanced endpoints are POST /v3/companies/accounts and POST /v3/companies/accounts/:account_id

v3.0.48 (12/02/2020)

  • Added accountancy_synchronisation_entity_id parameter on POST /v3/companies
  • Fixed accountancy_synchronisation_reference parameter on POST /v3/companies

v3.0.49 (20/02/2020)

  • Added POST /v3/companies/:company_id/accounts/bulk_update to update and map several accounts at once.

v3.0.55 / v4.0.55 (09/06/2020)

  • Expose boolean external attribute on users.

v3.0.57 / v4.0.57 (12/06/2020)

  • Add new endpoint GET /v3/user and GET /v4/user to retrieve information about the current user.

Oh I see we missed the one regarding 3.0.56 & 4.0.56 so here it is

v3.0.56 / v4.0.56 (08/06/2020)

  • Add locale fields for AppLinks

v3.0.59 / v4.0.59 (26/06/202)

  • Fix POST /v3/companies/accounts to always calculate suffix when there is an Account Mapping List with automatic suffixes.
  • Fix POST /v3/companies/accounts/:account_id to always calculate suffix when there is an Account Mapping List with automatic suffixes.
  • Fix POST /v3/companies/:company_id/accounts/bulk_update to always calculate suffix when there is an Account Mapping List with automatic suffixes.
  • Validate account mapping when mapped attribute is provided.

v3.0.62 / v4.0.62 (26/08/2020)

  • Include account_type in all responses that include an account.

Important change to webhook verification signatures

Today, we are introducing a small but significant change to how Silverfin’s outgoing webhooks are signed so that you can verify their authenticity on receipt.

Each OAuth application now has two dedicated webhook signing tokens, which are used to generate X-SF-SIGNATURE_1 and X-SF-SIGNATURE_2 webhook request headers. For each webhook you receive, you can compute two Hash-based Message Authentication Codes (HMAC) following the same approach as before but now using the new webhook signing tokens instead of your application’s secret. Thereafter, as long as the HMAC computed using token 1 matches X-SF-SIGNATURE_1 AND/OR the HMAC computed using token 2 matches X-SF-SIGNATURE_2, the webhook can be considered authentic.

This approach allows you to easily rotate the webhook signing tokens one at a time, while using the other token to verify incoming webhooks in the meantime.

Shortly, we will be contacting all developers who make use of our outgoing webhooks to share their new webhook signing tokens. With the new tokens in hand, please update your application code to make use of the new signature verification headers at your earliest convenience.

(For extra peace of mind: The webhook signing tokens are stored encrypted in our database as a safeguard in case of a data breach.)

Important deprecation notice

We are officially deprecating the original X-SF-SIGNATURE header generated using application secret as of September 15, 2020. Starting on December 16, 2020 this header will no longer be included in Silverfin’s outgoing webhooks. We ask that you update your application code to use the new X-SF-SIGNATURE_1 & X-SF-SIGNATURE_2 headers as soon as possible.

We will send an additional reminder of this upcoming change to all developers using outgoing webhooks on December 2, 2020.

v3.0.63 / v4.0.63

  • Allow staff_access attribute when creating users (with the contributor attribute set); this can only be set to true if the current user has staff access.
  • Show staff_access attribute when fetching users.

v3.0.64 / v4.0.64

  • Expose username attribute for users

v3.0.65 / v4.0.65

  • Add a limit to the number of processable accounts per batch on the bulk_update endpoint to 200

v3.0.66 / v4.0.66 (07/10/2020)

  • Expose field validation_errors attribute for export_file_instances endpoints

v3.0.67 / v4.0.67 (25/11/2020)

  • Apply pagination on GET /v3/users/{user_id}/companies.
  • Apply pagination on GET /v4/f/{firm_id}/users/{user_id}/companies.

v3.0.68 / v4.0.68 (08/12/2020)

  • Ensure deterministic results on paginated API responses in the following endpoints:
    • GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/transaction_uploads
    • GET (/v4/f/{firm_id}|/v3)/companies/archived
    • GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/periods/{period_id}/accounts
    • GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/periods/{period_id}/accounts/{account_id}/custom
    • GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/periods/{period_id}/export_file_instances
    • GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/periods/{period_id}/export_files
    • GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/periods/{period_id}/reports
    • GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/periods/{period_id}/reconciliations/{reconciliation_id}/custom
    • GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/periods/{period_id}/permanent_texts/{permanent_text_id}/custom
    • GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/webhooks
    • GET (/v4/f/{firm_id}|/v3)/groups
    • GET (/v4/f/{firm_id}|/v3)/groups/{group_id}/users
    • GET (/v4/f/{firm_id}|/v3)/groups/{group_id}/companies
    • GET (/v4/f/{firm_id}|/v3)/users
    • GET (/v4/f/{firm_id}|/v3)/users/{user_id}/companies
    • GET (/v4/f/{firm_id}|/v3)/users/inactive

v3.0.69 / v4.0.69 (08/12/2020)

  • Accept boolean parameter send_welcome_mail in creating users payload to control sending welcome email

Affected Endpoints

  • POST (/v4/users)
  • POST (/v3/users)

v3.0.70 / v4.0.70 (11/12/2020)

  • Added a new option for AppLinks: specifying open_in_new_tab: true will cause the link to open in a new tab.
  • Added new placement option for AppLinks: specifying placement: "firm_landing_action_menu" will cause the link to be added to the action menu on the firm landing page.

Affected endpoints:

  • POST (/v4/f/{firm_id}|/v3)/app/links

v3.1.1 / v4.1.1 (21/12/2020)

  • Added adjustments_internal_value and adjustments_external_value to balances endpoint.

Affected endpoints:

  • GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/periods/{period_id}/accounts

v3.1.2 (23/12/2020)

In order to make the migration to an upcoming version of the API easier, a new change has been released that removes the requirement to have the permission scope user:firm for the endpoint /v3/user/firm, making it so that the API client can always query what firm does the current user belongs to. This will return the firm details to which that user belongs to, information that will be used on the new version of the API.
Regarding the new version of the API and the migration path, a future email will explain that in more detail.

We’ve recently released v3.1.3 and v4.1.3

v3.1.3 / v4.1.3 (23/12/2020)

  • Added GET /v4/f/{firm_id}|/v3)/companies/:company_id/periods/:period_id/workflows/reconciliations so you can list all reconciliations in a specific workflow.
  • Added firm_workflow_id to GET /v4/f/{firm_id}|/v3)/companies/:company_id/periods/:period_id/workflows/:workflow_id/reconciliations so you can identify a worfklow by the id it has on firm level.
  • Added DELETE /v4/f/{firm_id}|/v3)/companies/:company_id/remarks/:remark_id to delete remarks.
  • Added GET /v4/f/{firm_id}|/v3)/reconciliations to list all reconciliations on firm level
  • Added POST /v4/f/{firm_id}|/v3)/reconciliations/:reconciliation_id to update a reconciliation on firm level
  • Added GET (/v4/f/{firm_id}|/v3)/companies/:company_id/periods/:period_id/reconciliations/:reconciliation_id/sign_markers to list all signmarkers of a reconciliation (to allow signing on reconciliations, similar to texts)
  • Added GET (/v4/f/{firm_id}|/v3)/companies/:company_id/periods/:period_id/reconciliations/:reconciliation_id{.pdf} to get a pdf version of a reconciliation (to allow signing on reconciliations, similar to texts)