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.43 (17/12/2019)
todo: true
in the parameters.done_at
, done_by
)v3.0.42 (17/12/2019)
v3.0.45 (13/01/2020)
currency
as an optional param to endpoint POST /v3/companies/:company_id
.currency
to GET /v3/companies
and to GET /v3/companies/:company_id
.v3.0.44 (09/01/2020)
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.POST /v3/companies/accounts
and POST /v3/companies/accounts/:account_id
accountancy_synchronisation_entity_id
parameter on POST /v3/companies
accountancy_synchronisation_reference
parameter on POST /v3/companies
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)
external
attribute on users.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
locale
fields for AppLinksPOST /v3/companies/accounts
to always calculate suffix when there is an Account Mapping List with automatic suffixes.POST /v3/companies/accounts/:account_id
to always calculate suffix when there is an Account Mapping List with automatic suffixes.POST /v3/companies/:company_id/accounts/bulk_update
to always calculate suffix when there is an Account Mapping List with automatic suffixes.account_type
in all responses that include an account.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.)
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
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.staff_access
attribute when fetching users.username
attribute for usersbulk_update
endpoint to 200validation_errors attribute
for export_file_instances
endpointsGET /v3/users/{user_id}/companies
.GET /v4/f/{firm_id}/users/{user_id}/companies
.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
send_welcome_mail
in creating users payload to control sending welcome emailPOST (/v4/users)
POST (/v3/users)
open_in_new_tab: true
will cause the link to open in a new tab.placement: "firm_landing_action_menu"
will cause the link to be added to the action menu on the firm landing page.POST (/v4/f/{firm_id}|/v3)/app/links
adjustments_internal_value
and adjustments_external_value
to balances endpoint.GET (/v4/f/{firm_id}|/v3)/companies/{company_id}/periods/{period_id}/accounts
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
GET /v4/f/{firm_id}|/v3)/companies/:company_id/periods/:period_id/workflows/reconciliations
so you can list all reconciliations in a specific workflow.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.DELETE /v4/f/{firm_id}|/v3)/companies/:company_id/remarks/:remark_id
to delete remarks.GET /v4/f/{firm_id}|/v3)/reconciliations
to list all reconciliations on firm levelPOST /v4/f/{firm_id}|/v3)/reconciliations/:reconciliation_id
to update a reconciliation on firm levelGET (/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)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)