# v.1.9.0

### 2025-12-02 - Live

### 2025-11-18 - Test Environment

***

### **Added**

#### Product Data Enhancements

**Average Buy Price (`avgBuyPrice`)**

The customer product representation now includes the new read-only field `avgBuyPrice`.

**Endpoints:**

* `GET /customers/{customerId}/products`
* `GET /products/{customerProductId}`

**Field:**

* `avgBuyPrice` (decimal, read-only, nullable)
* Represents the **average unit buy price** of the *currently held position*, expressed in the product currency.

**Calculation Logic:**

* Computed using **FIFO** based on executed buy transactions.
* For **fully closed (sold)** positions, the value is returned as **`0`**.

**Precision Rules:**

* Price < **1 EUR** → **8 decimal places**
* Price **1–100 EUR** → **4 decimal places**
* Price ≥ **100 EUR** → **2 decimal places**

***

#### **Tax Exemption Updates**

**Endpoint:** `PATCH /taxes/tax-exemption-orders`\
(Updates existing individual tax exemption orders)

**Supported changes:**

* `fsaAmount`
  * Must satisfy: `usedTaxExemption ≤ fsaAmount ≤ 1000`
* `fsaValidUntil`

**Cancellation rules:**

* `usedTaxExemption == 0` → cancellation allowed retroactively to **01.01** of the current year
* `usedTaxExemption > 0` → cancellation allowed only effective **31.12** of the current year

***

#### **User Management**

* Password Reset Support: Introduced functionality to reset a Partner User's password via `userId`. This resolves issues where users who deleted their welcome email or never logged in were unable to recover access.
* User Matching: Partner Users are now automatically matched to a Global ID upon creation (using First Name, Last Name, Birthday, and Birth Country) to ensure unique identification within the Partner Group.

***

### **Changed**

#### **Asset Type Configuration**

* Removed: `UNKNOWN` is no longer a valid `assetType` value
* Applies to Create/Update Asset Type Trading Profile endpoints
* Integrations must avoid sending this value

***

#### **Validation & Logic Improvements**

Delete Legal Representative:

* Added strict safeguards when calling the "Delete Legal Representative" endpoint:
  * Signatory Check: Deletion is rejected if the representative is an ACTIVE signatory proxy. (Status must be INACTIVE).
  * Remaining Rep Check: Deletion is rejected if no other Legal Representative exists for the entity (unless valid proxy logic applies).
  * Fictive UBO Check: Deletion is rejected if the representative is linked to active Fictive UBOs. These UBOs must be offboarded/deactivated first.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tradevest.ai/release-notes/archive/v.1.9.0-test-environment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
