# Product Definitions & Fees

## Get Product Definitions

> Get product definitions that are already or could be potentially available for partner

```json
{"openapi":"3.0.1","info":{"title":"Products","version":"1.0"},"tags":[{"name":"Products","description":"Products"}],"servers":[{"url":"https://tvda-api.platform-test.tradevest.ai","description":"Test"},{"url":"https://tvda-api.platform-pretest.tradevest.ai","description":"Pretest"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth2/token","scopes":{}}}}},"schemas":{"PartnerProductDefinitions":{"title":"PartnerProductDefinitions","type":"object","properties":{"data":{"type":"array","description":"Array of partner product definitions","items":{"$ref":"#/components/schemas/PartnerProductDefinition"}}},"required":["data"]},"PartnerProductDefinition":{"type":"object","properties":{"name":{"type":"string"},"productType":{"$ref":"#/components/schemas/ProductTypeEnum"},"productCode":{"$ref":"#/components/schemas/ProductCodeEnum"},"description":{"type":"string"},"isActive":{"type":"boolean"}},"required":["description","isActive","name","productCode","productType"]},"ProductTypeEnum":{"title":"ProductTypeEnum","type":"string","description":"Product type","enum":["CASH","WALLET","DEPOSITORY"]},"ProductCodeEnum":{"title":"ProductCodeEnum","type":"string","description":"Product code","enum":["WALLET","BALANCE_ACCOUNT","DEPOSITORY_ACCOUNT","CURRENCY_WALLET"]}}},"paths":{"/products":{"get":{"summary":"Get Product Definitions","tags":["Products"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerProductDefinitions"}}}}},"operationId":"get-product-definitions","description":"Get product definitions that are already or could be potentially available for partner"}}}}
```

## Get Fee Instances

> Get fee instances. If productCode is not provided, returns fees for all products.

```json
{"openapi":"3.0.1","info":{"title":"Products","version":"1.0"},"tags":[{"name":"Products","description":"Products"}],"servers":[{"url":"https://tvda-api.platform-test.tradevest.ai","description":"Test"},{"url":"https://tvda-api.platform-pretest.tradevest.ai","description":"Pretest"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth2/token","scopes":{}}}}},"schemas":{"ProductCodeEnum":{"title":"ProductCodeEnum","type":"string","description":"Product code","enum":["WALLET","BALANCE_ACCOUNT","DEPOSITORY_ACCOUNT","CURRENCY_WALLET"]},"FeeInstanceStatusEnum":{"title":"FeeInstanceStatusEnum","type":"string","description":"The status of the fee instance","enum":["ACTIVE","INACTIVE"]},"FeeInstance":{"type":"object","required":["productCode","status","category","currency","feeType","feeTrigger","feeCollection","createdOn","modifiedOn","partnerId","feeInstanceId","validFrom"],"properties":{"feeInstanceId":{"type":"string","format":"uuid","description":"Unique identification number in UUID format.","readOnly":true},"productCode":{"$ref":"#/components/schemas/ProductCodeEnum"},"category":{"$ref":"#/components/schemas/FeeCategoryEnum"},"status":{"$ref":"#/components/schemas/FeeInstanceStatusEnum"},"currency":{"$ref":"#/components/schemas/CurrencyEnum"},"feeType":{"$ref":"#/components/schemas/FeeTypeEnum"},"feeTrigger":{"$ref":"#/components/schemas/FeeTriggerEnum"},"feeFrequency":{"$ref":"#/components/schemas/FeeFrequencyEnum"},"feeCollection":{"$ref":"#/components/schemas/FeeCollectionEnum"},"partnerId":{"type":"string","format":"uuid","description":"Unique identification number in UUID format."},"feeTriggerEvent":{"$ref":"#/components/schemas/FeeTriggerEventEnum"},"fixedFeeAmount":{"type":"number","multipleOf":0.01,"description":"Fee amount in currency, only applicable if feeType = `FIXED`"},"inducementAmount":{"type":"number","multipleOf":0.01,"description":"Inducement amount, only applicable if feeType = `FIXED`"},"feeRatio":{"type":"number","multipleOf":0.01,"description":"Fee amount in percentage, only applicable if feeType = `VARIABLE`"},"minFeeAmount":{"type":"number","multipleOf":0.01,"description":"Minimum fee amount to be charged, only applicable if feeType = `VARIABLE`"},"maxFeeAmount":{"type":"number","multipleOf":0.01,"description":"Maximum fee amount to be charged only applicable if feeType = `VARIABLE`"},"validFrom":{"type":"string","format":"date"},"validUntil":{"type":"string","format":"date"},"feeInstanceScales":{"type":"array","items":{"$ref":"#/components/schemas/FeeInstanceScale"}},"createdOn":{"type":"string","format":"date-time","readOnly":true},"modifiedOn":{"type":"string","format":"date-time","readOnly":true}}},"FeeCategoryEnum":{"title":"FeeCategoryEnum","type":"string","description":"The category of the fee","enum":["ACCOUNT","KYC","REPORTING","SERVICE","TRADE","TRANSFER","WALLET"]},"CurrencyEnum":{"title":"CurrencyEnum","type":"string","description":"Currency of the product's balance. Currency code in ISO 4217","enum":["EUR"]},"FeeTypeEnum":{"title":"FeeTypeEnum","type":"string","description":"The type of the fee","enum":["FIXED","VARIABLE"]},"FeeTriggerEnum":{"title":"FeeTriggerEnum","type":"string","description":"The trigger of the fee","enum":["EVENT_BASED","TIME_BASED","MANUAL"]},"FeeFrequencyEnum":{"title":"FeeFrequencyEnum","type":"string","description":"The frequency of the fee","enum":["MONTHLY","QUARTERLY","IMMEDIATELY"]},"FeeCollectionEnum":{"title":"FeeCollectionEnum","type":"string","description":"The collection of the fee","enum":["MONTHLY","QUARTERLY","IMMEDIATELY"]},"FeeTriggerEventEnum":{"title":"FeeTriggerEventEnum","type":"string","description":"Fee trigger event, only applicable if feeTrigger = `EVENT_BASED`","enum":["TRADE_WBAH","TRADE_XVIE","TRADE_XWBO","TRADE_XPAR","TRADE_ALPX","TRADE_XMLI","TRADE_XETA","TRADE_XETR","TRADE_XETB","TRADE_TGAT","TRADE_XBER","TRADE_XEQT","TRADE_EQTB","TRADE_XDUS","TRADE_XQTX","TRADE_XHAM","TRADE_XHAN","TRADE_XMUN","TRADE_XSTU","TRADE_EUWX","TRADE_XSCO","TRADE_XFRA","TRADE_MTAA","TRADE_XMIL","TRADE_XDUB","TRADE_XMSM","TRADE_XAMS","TRADE_XOSL","TRADE_XJSE","TRADE_XMAD","TRADE_XMCE","TRADE_XSTOT","TRADE_DSTO","TRADE_MSTO","TRADE_XSWX","TRADE_XSWM","TRADE_XQMH","TRADE_XLON","TRADE_AIMX","TRADE_XASX","TRADE_XHKG","TRADE_XTKS","TRADE_XSES","TRADE_EQUITY","TRADE_BOND","TRADE_FUND","TRADE_ETF","TRADE_COMMODITY","TRADE_DERIVATIVE","TRADE_ETN","TRADE_CRYPTO_CURRENCIES","TRADE_TOKENIZED_STOCKS"]},"FeeInstanceScale":{"title":"FeeInstanceScale","type":"object","properties":{"feeInstanceScaleId":{"type":"string","format":"uuid","readOnly":true},"feeInstanceScaleStatus":{"$ref":"#/components/schemas/FeeInstanceScaleStatusEnum"},"scaleType":{"$ref":"#/components/schemas/FeeInstanceScaleTypeEnum"},"from":{"type":"number","multipleOf":0.01},"fixedFeeAmount":{"type":"number","multipleOf":0.01,"description":"Fee amount in currency, only applicable if feeType = `FIXED`"},"feeRatio":{"type":"number","multipleOf":0.01,"description":"Fee amount in percentage, only applicable if feeType = `VARIABLE`"},"minFeeAmount":{"type":"number","multipleOf":0.01,"description":"Minimum fee amount to be charged, only applicable if feeType = `VARIABLE`"},"maxFeeAmount":{"type":"number","multipleOf":0.01,"description":"Maximum fee amount to be charged only applicable if feeType = `VARIABLE`"},"createdOn":{"type":"string","format":"date-time","readOnly":true},"modifiedOn":{"type":"string","format":"date-time","readOnly":true}},"required":["feeInstanceScaleId","feeInstanceScaleStatus","from","scaleType","createdOn","modifiedOn"]},"FeeInstanceScaleStatusEnum":{"title":"FeeInstanceScaleStatusEnum","type":"string","description":"The status of the fee instance scale","enum":["ACTIVE","INACTIVE"]},"FeeInstanceScaleTypeEnum":{"title":"FeeInstanceScaleTypeEnum","type":"string","description":"Type of the fee instance scale","enum":["INCREMENTAL_SCALE","CUMULATIVE_SCALE"]},"ErrorMessage":{"title":"ErrorMessage","type":"object","properties":{"message":{"type":"string"},"responseType":{"type":"string"},"validationString":{"minLength":1,"type":"string"},"requestId":{"type":"string"},"errorCode":{"type":"string","maxLength":255},"errorDetails":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetails"}}},"required":["message","responseType","requestId"]},"ErrorDetails":{"title":"ErrorDetails","type":"object","properties":{"field":{"type":"string","maxLength":255},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetailsExplanation"}}},"required":["field"]},"ErrorDetailsExplanation":{"title":"ErrorDetailsExplanation","type":"object","properties":{"code":{"type":"string","maxLength":255},"parameter":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}},"paths":{"/products/fees/instances":{"get":{"summary":"Get Fee Instances","tags":["Products"],"parameters":[{"schema":{"$ref":"#/components/schemas/ProductCodeEnum"},"in":"query","name":"productCode","description":"Optional filter by product code"},{"schema":{"$ref":"#/components/schemas/FeeInstanceStatusEnum"},"in":"query","name":"feeInstanceStatus","description":"Optional filter by fee instance status"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeeInstance"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"operationId":"get-fee-instances","description":"Get fee instances. If productCode is not provided, returns fees for all products."}}}}
```


---

# 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/api-reference/products/product-definitions-and-fees.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.
