Version 1.156.0 release
Version 1.156.0 enables you to explicitly subscribe to or exclude CASH_BALANCE_TRANSFER webhook events by adding it to the type and exclude_type parameters of the webhook subscription resource.
This allows you to manage notifications for cash balance transfer events.
Version 1.155.0 release
Version 1.155.0 adds PENSION_DE_ALLOWANCE and PENSION_DE_ALLOWANCE_UPDATE as new types for the Cash Transaction reference. These values help identify German pension allowances as the resources for a cash transaction.
Version 1.154.0 release
Version 1.154.0 adds the DELETE /transaction_fees/configurations/{account_group_id}/{id} endpoint. This allows you to remove a transaction fee configuration from an account group.
This helps you retire configurations that are no longer applicable.
Version 1.153.0 release
Version 1.153.0 adds the CHARGED_BY_CLIENT_NET enum to support transaction fees.
This value shows that the fee is charged and collected by the client with the fee amount deducted from the transaction amount.
Version 1.152.0 release
Version 1.152.0 adds the GET /transaction_fees/configurations/{id} endpoint to the Transaction Fees API. This endpoint allows you to retrieve a paginated list of transaction fee configurations assigned to an account group.
Version 1.151.0 release
Version 1.151.0 adds new endpoints POST /transaction_fees/configurations and PATCH /transaction_fees/configurations/{transaction_fee_account_group_configuration_id}. These endpoints allow you to create and update transaction fee configurations, assigning a transaction fee model to an account group for specific transaction categories, including PENSION_DE_CONTRIBUTION, PENSION_DE_CONTRIBUTION_GOVERNMENT_BONUS, PENSION_DE_INCOMING_TRANSFER, and PENSION_DE_OUTGOING_TRANSFER.
This functionality provides support for transaction fees on German pension plans including Altersvorsorgedepots and Standarddepots.
Version 1.150.0 release
Version 1.150.0 adds the AUTO_INVESTMENT type to the initiation_flow field for portfolio order responses and the PORTFOLIO_ORDER webhook.
This allows you to distinguish between portfolio orders placed automatically by auto-investment, those initiated through the API, and those from a savings plan.
Version 1.149.0 release
Version 1.149.0 marks the status field as deprecated on the User API's endpoints and webhook events. It also marks the USER.ACTIVATED and USER.DEACTIVATED event types as deprecated.
Upvest continues to send the user statusand the USER.ACTIVATED and USER.DEACTIVATED event types however, we recommend future implementations do not leverage these values.
This update is in preparation for our planned change to role-based activation.
Clients should begin tracking user onboarding per role using the ROLE.ACTIVATED event of the Role events webhook instead of the user activation status.
Refer to the role-based activation guide for more information.
Version 1.148.0 release
Version 1.148.0 adds GROSS_AMOUNT to the base_amount_scope options for Transaction Fee Models, allowing you to evaluate fee tiers against the gross cash amount of a transaction. It also adds COLLECTED_BY_UPVEST to the charge_method options, enabling Upvest to collect fees directly from a user's cash balance. The ORDER option for base_amount_scope has been deprecated.
Version 1.147.0 release
Version 1.147.0 adds the FINANCIAL_SERVICES_OTHERS_AND_INSURANCE option to the Business Industry list.
Version 1.146.0 release
Version 1.146.0 adds the SOLE_CUSTODY_PROOF document type to the User Guardian check.
This enables guardians with sole custody to document proof of guardianship when a birth certificate is not available.
Version 1.145.0 release
Version 1.145.0 adds the CIVIL_PARTNERSHIP type to support joint tax exemptions. This allows you to specify CIVIL_PARTNERSHIP as a tax_exemption_type when creating or updating tax exemptions. This type is also included in tax exemption webhook events.
This version also updates the POST /tax_exemptions and PUT /tax_exemptions/{tax_exemption_id} endpoints to return the complete tax exemption details in their responses.
For more information, refer to the Tax exemptions guide.
Version 1.144.0 release
Version 1.144.0 removes the registration_number and district_court fields from required properties when creating businesses. The registration_number field is also removed entirely from the Business API. Additionally, AKTIENGESELLSCHAFT is now fully supported as a legal designation for businesses.
Version 1.143.0 release
Version 1.143.0 adds EXTERNAL_DIRECT_DEBIT to the available types for cash transaction references, and EXTERNAL_SEPA_DIRECT_DEBIT and EXTERNAL_SEPA_DIRECT_DEBIT_CHARGE_BACK to the available cash transaction types.
Version 1.142.0 release
Version 1.142.0 adds the US_WITHHOLDING_TAX_STATUS user check type to the Users API.
This check helps capture the end user's US tax person classification and supporting documentation for determining US withholding obligations.
Version 1.148.0 release
Version 1.148.0 adds GROSS_AMOUNT to the base_amount_scope options for Transaction Fee Models, allowing you to evaluate fee tiers against the gross cash amount of a transaction. It also adds COLLECTED_BY_UPVEST to the charge_method options, enabling Upvest to collect fees directly from a user's cash balance. The ORDER option for base_amount_scope has been deprecated.
Version 1.141.0 release
Version 1.141.0 adds an optional fx field to the Cash transactions endpoints and related webhooks. This field provides details about the foreign exchange rate applied when a corporate action cash transaction involves a currency conversion.
This enables you to view the FX rate applied to corporate action dividend distributions directly via the API or webhooks, rather than requesting it manually.
Version 1.140.0 release
Version 1.140.0 adds the name_change field to the Corporate Action event webhook. This field provides the new name of a company after a name change when the corporate action iso_type is CHAN.
Version 1.139.0 release
Version 1.139.0 adds the decease_date field to the /users endpoints and webhook events. You can also update or clear a user's decease_date by submitting a data change request to POST /users/{user_id}/data_change_requests.
This field allows you to record a user's date of death. To clear a previously recorded date, send an empty string "" in the data change request. The API returns null for a cleared date.
Version 1.138.0 release
Version 1.138.0 enables the User Self-Assessment check and updates the list of available occupation statuses.
Version 1.137.0 release
Version 1.137.0 adds the TREASURY_REPORT.CONFIRMED type to the Treasury Reports events webhook. This new event type is emitted once the treasury operation covered by the report has been completed, and you can correlate it with the corresponding TREASURY_REPORT.CREATED event using the object.id and object.filename fields.
Version 1.136.0 release
Version 1.136.0 adds a tags field to the /users endpoints. You can set this field when creating or updating users, and it is included in USER.CREATED and USER.DATA_CHANGED webhook events.
This field allows you to assign labels to your users and supports the CLIENT_EMPLOYEE tag.
Version 1.135.0 release
Version 1.135.0 adds the SAVINGS_PLAN_EXECUTION.DATA_CHANGED type to the Savings Plan Executions events webhook. This event is sent whenever an order_id is updated in a savings plan execution.
You should update your savings plan logic to handle this new event type and process potentially updated order_ids.
Version 1.134.0 release
Version 1.134.0 updates the legal_entity_identifier field in the Business accounts API to enforce the 20-character alphanumeric format defined by ISO 17442.
Version 1.133.0 release
Version 1.133.0 adds support for Loss Threshold reporting.
This new report type notifies the end user whenever their investment depreciates by a multiple of 10 percent (e.g., loss of 10%, 20%, 30%...) from its original value, enabling them to reevaluate their holdings.
Version 1.132.0 release
Version 1.132.0 enables the Cash Balance Transfers API. This includes the Cash Balance Transfer events webhook and the following endpoints:
POST /payments/cash_balance_transfersGET /payments/cash_balance_transfersGET /payments/cash_balance_transfers/{cash_balance_transfer_id}GET /users/{user_id}/payments/cash_balance_transfersGET /businesses/{business_id}/payments/cash_balance_transfers.
Version 1.131.0 release
Version 1.131.0 adds two optional query parameters, list_history and type, to the GET /users/{user_id}/checks endpoint.
The list_history equals true, it enables fetching the full history of checks instead of just the latest check per type.
The type parameter allows filtering the results by one or more check types, such as KYC, INSTRUMENT_FIT, POR, COMPLIANCE, GUARDIAN, USER_SELF_ASSESSMENT, and US_WITHHOLDING_TAX_STATUS.
These new parameters offer more granular control when retrieving user check information.
Version 1.130.0 release
Version 1.130.0 adds the DELETE /roles/{role_id} endpoint for deactivating roles.
Version 1.129.0 release
Version 1.129.0 adds the corporate_action_reference and buyer_protection_deadline fields to the Corporate action events webhook. The corporate_action_reference field is required.
You can use the corporate_action_reference to reconcile notifications and the buyer_protection_deadline to act on time-sensitive, voluntary corporate action events.
Version 1.128.0 release
Version 1.128.0 adds CASH_BALANCE_TRANSFER as a new value to the type enum within the references array of cash transactions, for both the GET /transactions/cash endpoint and the Cash transactions event webhook.
Version 1.127.0 release
Version 1.127.0 adds the UNSPECIFIED enum value to the rounding_indicator field within corporate action movement details for CORPORATE_ACTION.* tenant webhooks and deprecates the UKWN value.
Version 1.126.0 release
Version 1.126.0 introduces the CONCAT identifier standard for user identifiers. When creating an identifier of standard CONCAT via POST /users/{user_id}/identifiers, the identifier field can now be omitted, as its value is generated by Upvest. Additionally, the identifier field is no longer universally required for all identifier creation requests.
Version 1.125.0 release
Version 1.125.0 adds gender and social_security_number fields to all user endpoints and the Users events webhook.
These fields are listed as optional. However, they are required for users applying for the German pension government bonus.
Version 1.124.0 release
Version 1.124.0 adds adds the cancellation_reason field to both the Withdrawals and the Direct Debit endpoints and webhooks.
This field supports the following values:
CANCELLED_BY_BANKCANCELLED_BY_UPVESTCANCELLED_BY_CLIENTOTHER
This field provides more insight into the reason for cancellation of a withdrawal or direct debit.
Version 1.123.0 release
Version 1.123.0 adds support for Value Added Tax (VAT) as part of the components in a fee collection's calculation_breakdown.
Version 1.121.0 release
Version 1.121.0 adds support for Value Added Tax (VAT) when creating a fee collection. This versions adds the VAT enum to the type field in the POST /fees/collections endpoint.
Version 1.120.0 release
Version 1.120.0 adds actual_payment_rate to the ca_movement_details component and nominal_coupon_rate to the ca_payload component of the Corporate Action webhooks.
Version 1.119.0 release
Version 1.119.0 expands the sort query parameter for the GET /savings_plans/executions endpoint, adding created_at and updated_at as available sorting options. Additionally, the order query parameter for this endpoint now references a more generalized order parameter definition.
Version 1.118.0 release
Version 1.118.0 renames the Sole Proprietorship business type to Sole Trader and introduces full support for Sole Trader businesses across the Businesses API, including POST /businesses and GET /businesses/{business_id} endpoints, and related webhooks.
The Sole Trader business type now includes a new identification object with fields such as company_name, incorporation_date, and legal_designation.
The registration_number field is no longer required for Sole Trader businesses, and SOLE_TRADER is added as a new role_type.
Version 1.117.0 release
Version 1.117.0 adds cancellation_reason and cancellation_details to savings plan execution responses, giving more context when an execution is cancelled.
Version 1.116.0 release
Version 1.116.0 adds FEE_COLLECTION as a new value in the /reports endpoints and related webhook events.
Version 1.115.0 release
Version 1.115.0 adds USD as a valid value for endpoints that accept or return currency values.
This is in preparation to support future functionality.
Version 1.114.0 release
Version 1.114.0 adds the CLIENT_OPERATIONS enum value to indicate orders placed by a client's Operations team on behalf of end users.
Version 1.113.0 release
Version 1.113.0 adds available_for_instruction to the Positions API and related webhooks.
This field indicates how much of a position is available for new instructions, helping you distinguish between total holdings and the portion that can currently be used.
Version 1.112.0 release
Version 1.112.0 adds TAX_CONSOLIDATED_CERTIFICATE_UK to the available report types.
You can use this report type to generate a consolidated tax certificate for UK users. For the current tax year, the report is a null report, as no income or dividends were received by affected users.
Version 1.111.0 release
Version 1.111.0 changes the response for POST /portfolios/configurations from 400 Bad Request to 422 Unprocessable Entity when the account is not yet active.
This clarifies that the request payload is valid, but the account is not yet in a state where the configuration can be created.
Version 1.110.0 release
Version 1.110.0 removes the ISSUED status for top-ups and credit fundings.
Version 1.109.0 release
Version 1.109.0 adds the CANCELLED status for virtual cash increases.
This allows cancelled virtual cash increases to be represented correctly on related API endpoints and webhook events.
Version 1.108.0 release
Version 1.108.0 adds the ISSUED status for top-ups and credit fundings.
This status indicates that a pay-in has been created but is not yet confirmed or settled, allowing API endpoints and webhooks to reflect that intermediate state more accurately.
Support for new corporate action types in notifications
Please note that we now support sending notifications for the following types of corporate actions:
- Trading Status: Active
- Trading Status: Suspended
- Repurchase Offer/Issuer Bid/Reverse Rights
- Exchange
- Bankruptcy
- Priority Issue
- Class Action/Proposed Settlement
- Non-Official Offer
The notifications for the newly supported types have the same format as the notifications for all other types, so there are no changes to the API specifications. However, you can expect notifications from now on when we receive corporate actions with these types.
Version 1.107.0 release
Version 1.107.0 enables email address collection during user onboarding for Bring Your Own License (BYOL) - Single Accounts clients.
Email addresses may be required for certain corporate actions, such as proxy voting.
Version 1.106.0 release
Version 1.106.0 adds two new enum values, GUARDIAN and CHILD, to the users[].type field for account endpoints and webhooks.
Version 1.105.0 release
Version 1.105.0 adds ANNUAL_INCOME_STATEMENT to the available report types.
You can use this report type with the POST /reports endpoint to generate an annual income statement (Erträgnisaufstellung).
Version 1.104.0 release
Version 1.104.0 introduces a new enum, ID_COLLECTION for the method parameter for the Know-Your-Customer (KYC) check.
This value can only be used to activate users if the role_type equals one of the following:
TRADERULTIMATE_BENEFICIAL_OWNERLEGAL_REPRESENTATIVEAUTHORISED_SIGNATORYCHILD
Users with role_type equal to OWNER, CONTRACTING_EXECUTIVE, or GUARDIAN should not be activated by this KYC method.
Version 1.103.0 release
Version 1.103.0 adds US Dollars (USD) to the list of available currencies.
Version 1.102.0 release
Version 1.102.0 adds endpoints and webhooks for securities transfers.
View the Transfers guide for more information on this functionality.
Version 1.101.0 release
Version 1.101.0 supports ex-ante reports for business entities.
Version 1.100.0 release
Version 1.100.0 adds the fee_collection_id to account liquidation endpoints and webhooks.
This enables post-trade settlement clients to determine the amount of a liquidation's cash to forward to the end user and the amount to retain as a fee.
Version 1.99.1 release
Version 1.99.1 extends the securities transfers API to include the following fields:
order_date— the date the transfer request was received from the end user.delay_reason— a reason set for why a transfer is delayed past the 21-day threshold.
These values aid in regulatory reporting related to securities transfers.
Version 1.99.0 release
This version provides support for transaction fee models. Transaction fee models allow clients to define the transaction fee calculation logic and charge end users per-order transaction fees. With transaction fee models, you can create both simple flat fees and sophisticated tiered fee structures.
For more information, visit the Transaction fees guide.
Version 1.98.0 release
Adds the ability to delete a portfolio configuration. You can use the Delete /portfolios/configurations/{account_id} endpoint to completely remove a portfolio configuration.
Version 1.96.0 release
Clients can see additional details of the fee collection when using the GET /fees/collections endpoint and the Fee collection events webhook. This includes information related to the fee models applied during the collection period and, when defined in the fee model, fee components like the service fee, platform fee, or transaction lump sum fee.
Version 1.95.0 release
When creating or updating webhook subscriptions, clients can exclude specific webhooks when their subscription is set to ‘All’ by setting the exclude_type field.
Version 1.94.0 release
Version 1.94 adds support for the business self-assessment check as part of the POST /businesses/{business_id}/checks endpoint.
Version 1.93.0 release
Version 1.93 adds support for including either a user ID or business ID when placing an order with the POST /orders endpoint.
Version 1.92.0 release
Version 1.92 deprecates a number of report types from the User report events webhook.
Version 1.91.0 release
This release introduces support for creating business accounts via the Investment API. This enables clients to onboard both corporate entities and sole traders.
Key Features:
- Supported Entities: Initial support for German-registered businesses, including GmbH and UG.
- Role Management: Define and assign specific user roles including Ultimate Beneficial Owners (UBO), Legal Representatives, and Contracting Executives.
- Streamlined Onboarding:
- Dedicated KYB (Know Your Business) and self-assessment checks for corporate entities.
- Business-level acceptance of Terms & Conditions and Data Privacy agreements.
- Enhanced Reporting: Full support for MiFIR reportable instruments (e.g., stocks and ETFs) with Legal Entity Identifiers (LEI).
For detailed integration steps and API specifications, please refer to the Business accounts guide.
Version 1.90.0 release
Version 1.90 adds support for optional Terms and Conditions and Data Privacy Agreements fields for Bring your own license - Single account (BYOL-SA) clients when adding users and businesses.
These fields are required for all users except for the following:
- Child users that are part of a child account.
- Users that are only added as part of a business entity for business accounts.
Version 1.89.1 release
Version 1.89.1 adds CHILD and GUARDIAN user types to the POST /account_groups endpoint.
Version 1.89.0 release
Version 1.89.0 adds the ability to manage transfers for Individual Savings Accounts (ISA) for end users in the United Kingdom.
The ISA transfers feature supports both external and internal transfers:
- External: Moving an ISA between providers (i.e., ISA manager to ISA manager).
- Internal: Moving funds between ISA accounts while staying with the same provider. Usually this use case serves internal movements of cash from a Cash ISA to Stocks & Shares ISA. Clients can move funds from an existing cash ISA on their platform to the stocks and shares ISA without impacting allowance. You can also perform flexible withdrawals to move across ISAs under the same ISA manager.
For more information, see the ISA transfers guide.
Version 1.88.0 release
Version 1.88.0 updates the Cash transactions webhook to include a tax_details section that displays tax information related to transactions with a non-zero tax amount.
This section shows a tax breakdown organized by the type of tax and lists the country code of the responsible jurisdiction.
The supported taxes include:
- CAPITAL_GAINS
- CHURCH_TAX
- SOLIDARITY_SURCHARGE
- FINANCIAL_TRANSACTION_TAX
- STAMP_DUTY
- INTERNATIONAL_WITHHOLDING_TAX
Version 1.87.0 release
Version 1.87.0 adds support for ex-ante reports for orders in savings plans.
With the POST /reports endpoint, you can create an ex-ante cost report for a savings plan by providing the required order details and setting the type equal to ORDER_EX_ANTE_COST_SAVINGS_PLAN.
Simply set the period and interval to help accurately calculate the ex-ante costs over the lifetime of the savings plan.
Version 1.86.1 release
Version 1.86.1 updates the /securities_transfers endpoint to include optional parameters for providing advanced settlement counterparties’ details.
This gives you the ability to list additional parties in the settlement chain including the delivering / receiving agents, intermediary custodians, and other intermediaries.
Read the Securities Transfers guide:
Version 1.86.0 release
Version 1.86.0 adds the FRENCH_IFU report type. For users with a PEA (Plan d'épargne en actions) account group, a yearly IFU (Imprimé fiscal unique) tax statement report can be generated for which a FRENCH_IFU report type was added.
Version 1.84.0 release
Version 1.84.0 updates the Fee collection events webhook to include additional information related to sell to cover orders used to cover end user’s fees.
The FEE_COLLECTION_FINALISED event now:
- Includes a
sell_to_cover_ordersparameter that lists theidandresidual_amountfor each order. - Updates the
processed_amountparameter to include thetotal_residual_amountof all sell to cover orders used for the fee collection.
This update makes it easier for clients to identify the sell to cover orders triggered by each finalised fee collection event.
Version 1.83.0 release
Version 1.83.0 removes the Deprecated flag from the
GET /account_groups/{account_group_id}/payments/cash_balances endpoint.
Updated parameter descriptions
We have updated both the birth_city and birth_country parameter descriptions, for the POST /users endpoint, to show that they are only required for Take Our Licence (TOL) clients who are licensed in the European Economic Area.