> For the complete documentation index, see [llms.txt](https://docs.clickoptions.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clickoptions.ai/api/models.md).

# Models

## The CreateOrderRequestV1 object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"CreateOrderRequestV1":{"type":"object","description":"Request DTO for creating orders in v1 API","properties":{"idempotencyKey":{"type":"string","description":"Idempotency key for the order","minLength":1},"symbol":{"type":"string","description":"Trading symbol","minLength":1},"price":{"type":"string","description":"Order price as a decimal string","minLength":1,"pattern":"^\\d+(\\.\\d+)?$"},"size":{"type":"string","description":"Order size as a decimal string","minLength":1,"pattern":"^\\d+(\\.\\d+)?$"},"side":{"type":"string","description":"Order side","enum":["BUY","SELL"],"pattern":"^(BUY|SELL)$"},"orderType":{"type":"string","default":"LIMIT","description":"Order type","enum":["LIMIT"],"pattern":"^LIMIT$"},"positionId":{"type":"integer","format":"int64","description":"Position ID (optional)"}},"required":["idempotencyKey","price","side","size","symbol"]}}}}
```

## The OrderResponseV1 object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"OrderResponseV1":{"type":"object","description":"Response DTO for order operations in v1 API","properties":{"orderId":{"type":"string","description":"Unique identifier of the order"},"positionId":{"type":"integer","format":"int64","description":"Identifier of the related position, if available"},"symbol":{"type":"string","description":"Trading symbol"},"price":{"type":"string","description":"Order price"},"size":{"type":"string","description":"Order size"},"side":{"type":"string","description":"Order side (BUY/SELL)"},"orderType":{"type":"string","description":"Order type (LIMIT/MARKET)"},"status":{"type":"string","description":"Order status"},"asset":{"type":"string","description":"Underlaying asset name"},"type":{"type":"string","description":"Option type (CALL/PUT)"},"expiryDate":{"type":"integer","format":"int64","description":"Expiry date as epoch millis"},"sizeUsdt":{"type":"string","description":"Order size in USDT"},"sizeContracts":{"type":"string","description":"Order size in contracts"},"strikePrice":{"type":"string","description":"Strike price"},"openPrice":{"type":"string","description":"Open price (VWAP)"},"openDate":{"type":"integer","format":"int64","description":"Open date as epoch millis"},"fee":{"type":"string","description":"Fee paid"},"timestamp":{"type":"integer","format":"int64","description":"Order creation timestamp as epoch millis"}}}}}}
```

## The ApiErrorV1 object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"ApiErrorV1":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"type":"object","additionalProperties":{}}}}}}}
```

## The TradeDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"TradeDto":{"type":"object","properties":{"symbol":{"type":"string","minLength":1},"amount":{"type":"number"},"price":{"type":"number"},"side":{"type":"string","minLength":1},"positionId":{"type":"integer","format":"int64"},"orderType":{"type":"string"}},"required":["amount","side","symbol"]}}}}
```

## The OptionOrderDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"OptionOrderDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"clientOrderId":{"type":"string"},"accno":{"type":"integer","format":"int64"},"sellerAccountId":{"type":"integer","format":"int64"},"positionId":{"type":"integer","format":"int64"},"symbol":{"type":"string"},"tradeSide":{"type":"string"},"optionSide":{"type":"string"},"orderState":{"type":"string"},"orderQty":{"type":"number"},"price":{"type":"number"},"executedQty":{"type":"number"},"executedPrice":{"type":"number"},"closeQty":{"type":"number"},"fee":{"type":"number"},"feeAsset":{"type":"string"},"expire":{"type":"integer","format":"int64"},"strikePrice":{"type":"number"},"createTime":{"type":"integer","format":"int64"},"updateTime":{"type":"integer","format":"int64"},"triggerTime":{"type":"integer","format":"int64"},"bookedQty":{"type":"number"},"bookedCcy":{"type":"string"},"bookedMargin":{"type":"number"},"bookedMarginCcy":{"type":"string"},"indexPrice":{"type":"number"},"orderType":{"type":"string"}}}}}}
```

## The OpenEasyOptionRequest object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"OpenEasyOptionRequest":{"type":"object","properties":{"cardId":{"type":"integer","format":"int64"},"investmentAmount":{"type":"number"},"idempotencyKey":{"type":"string"}},"required":["cardId","investmentAmount"]}}}}
```

## The JoinContestDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"JoinContestDto":{"type":"object","description":"Request body for joining a contest","properties":{"nickname":{"type":"string","description":"Nickname to display on the leaderboard","maxLength":255,"minLength":0}}}}}}
```

## The ContestAccountInfoResponseDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"ContestAccountInfoResponseDto":{"type":"object","description":"Complete contest account information with current state and historical snapshots","properties":{"id":{"type":"integer","format":"int64","description":"Contest account info ID"},"contestId":{"type":"integer","format":"int64","description":"Contest ID"},"accountId":{"type":"integer","format":"int64","description":"Account ID"},"fundedAccountId":{"type":"integer","format":"int64","description":"Funded account ID"},"userId":{"type":"integer","format":"int32","description":"User ID"},"demoContestAccountId":{"type":"integer","format":"int64","description":"Demo contest account ID"},"initialBalance":{"type":"number","description":"Initial balance for the contest account"},"joinTime":{"type":"string","format":"date-time","description":"Join time in ISO format"},"nickname":{"type":"string","description":"Participant's nickname or display name"},"contestStatus":{"type":"string","description":"Contest participation status"},"disqualificationReason":{"type":"string","description":"Reason for disqualification"},"currentRank":{"type":"integer","format":"int32","description":"Current rank in contest"},"currentNetPerformance":{"type":"number","description":"Current net performance percentage"},"currentEquity":{"type":"number","description":"Current equity"},"currentBalance":{"type":"number","description":"Current balance"},"totalTradesCount":{"type":"integer","format":"int32","description":"Total number of trades"},"tradingDaysCount":{"type":"integer","format":"int32","description":"Number of active trading days"},"currentMaxDrawdown":{"type":"number","description":"Current maximum drawdown percentage"},"currentMaxDayDrawdown":{"type":"number","description":"Current maximum daily drawdown percentage"},"lastSnapshotTime":{"type":"string","format":"date-time","description":"Latest snapshot time in ISO format"},"profitRatioViolated":{"type":"boolean","description":"Indicates if the profit ratio rule was violated"},"snapshotHistory":{"type":"array","description":"Historical snapshots for charting (ordered by time descending, max 30 entries)","items":{"$ref":"#/components/schemas/ContestAccountSnapshotHistoryDto"}}}},"ContestAccountSnapshotHistoryDto":{"type":"object","description":"Contest account snapshot data for historical charts","properties":{"snapshotTime":{"type":"string","format":"date-time","description":"Snapshot time in ISO format"},"equity":{"type":"number","description":"Current equity"},"balance":{"type":"number","description":"Current balance"},"netPerformance":{"type":"number","description":"Net performance percentage"},"maxDrawdown":{"type":"number","description":"Maximum drawdown percentage"},"maxDayDrawdown":{"type":"number","description":"Maximum daily drawdown percentage"},"totalTradesCount":{"type":"integer","format":"int32","description":"Total number of trades"},"tradingDaysCount":{"type":"integer","format":"int32","description":"Number of active trading days"},"rank":{"type":"integer","format":"int32","description":"Current rank"}}}}}}
```

## The ContestAccountSnapshotHistoryDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"ContestAccountSnapshotHistoryDto":{"type":"object","description":"Contest account snapshot data for historical charts","properties":{"snapshotTime":{"type":"string","format":"date-time","description":"Snapshot time in ISO format"},"equity":{"type":"number","description":"Current equity"},"balance":{"type":"number","description":"Current balance"},"netPerformance":{"type":"number","description":"Net performance percentage"},"maxDrawdown":{"type":"number","description":"Maximum drawdown percentage"},"maxDayDrawdown":{"type":"number","description":"Maximum daily drawdown percentage"},"totalTradesCount":{"type":"integer","format":"int32","description":"Total number of trades"},"tradingDaysCount":{"type":"integer","format":"int32","description":"Number of active trading days"},"rank":{"type":"integer","format":"int32","description":"Current rank"}}}}}}
```

## The PagedResponseV1 object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"PagedResponseV1":{"type":"object","description":"Generic paged response for v1 API following trading standards","properties":{"total":{"type":"integer","format":"int32","description":"Total number of items"},"page":{"type":"integer","format":"int32","description":"Current page number"},"pageSize":{"type":"integer","format":"int32","description":"Number of items per page"},"items":{"type":"array","description":"List of items for the current page","items":{}}}}}}}
```

## The TradeResponseV1 object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"TradeResponseV1":{"type":"object","properties":{"tradeId":{"type":"integer","format":"int64","description":"Unique trade identifier"},"orderId":{"type":"integer","format":"int64","description":"Order identifier"},"positionId":{"type":"integer","format":"int64","description":"Position identifier"},"asset":{"type":"string","description":"Asset symbol"},"type":{"type":"string","description":"Option type: CALL or PUT"},"fillType":{"type":"string","description":"Fill type: FILL or PARTIAL_FILL"},"expiryDate":{"type":"integer","format":"int64","description":"Expiry date (timestamp)"},"filledSizeUsdt":{"type":"string","description":"Filled size in USDT"},"filledSizeContracts":{"type":"string","description":"Filled size in contracts"},"strikePrice":{"type":"string","description":"Strike price"},"openPrice":{"type":"string","description":"Open price"},"openDate":{"type":"integer","format":"int64","description":"Open date (timestamp)"},"fee":{"type":"string","description":"Trade fee"},"tradeSide":{"type":"string","description":"Trade side: BUY or SELL"},"maker":{"type":"boolean","description":"Is maker trade"}}}}}}
```

## The PagedResponseV1PositionResponseV1 object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"PagedResponseV1PositionResponseV1":{"type":"object","properties":{"total":{"type":"integer","format":"int32","description":"Total number of items"},"page":{"type":"integer","format":"int32","description":"Current page number"},"pageSize":{"type":"integer","format":"int32","description":"Number of items per page"},"items":{"type":"array","description":"List of items for the current page","items":{"$ref":"#/components/schemas/PositionResponseV1"}}}},"PositionResponseV1":{"type":"object","description":"Response DTO for position operations in v1 API","properties":{"positionId":{"type":"string","description":"Unique identifier of the position"},"parentPositionId":{"type":"string","description":"Parent position, form which this positionw as created"},"symbol":{"type":"string","description":"Trading symbol"},"asset":{"type":"string","description":"Underlaying asset name"},"type":{"type":"string","description":"Option type"},"expiryDate":{"type":"integer","format":"int64","description":"Expiry date as epoch millis"},"sizeUsdt":{"type":"string","description":"Position size in USDT"},"size":{"type":"string","description":"Position size"},"sizeContracts":{"type":"string","description":"Position size in contracts"},"sizeUsdtClosed":{"type":"string","description":"Position closed size in USDT"},"sizeClosed":{"type":"string","description":"Position closed size"},"sizeContractsClosed":{"type":"string","description":"Position closed size in contracts"},"strikePrice":{"type":"string","description":"Strike price"},"openPrice":{"type":"string","description":"Open price (VWAP)"},"openDate":{"type":"integer","format":"int64","description":"Open date as epoch millis"},"status":{"type":"string","description":"Position status"},"fee":{"type":"string","description":"Fee paid"},"premiumTotal":{"type":"string","description":"Total collected premium"},"closePrice":{"type":"string","description":"Close price"},"pl":{"type":"string","description":"Trade Profit/Loss"},"plClosed":{"type":"string","description":"Trade Profit/Loss closed"},"contractQty":{"type":"string","description":"Contract quantity"},"tradeSide":{"type":"string","description":"Trade side"},"excercisePlClosed":{"type":"string","description":"Closed exercise P/L"},"excercisePlFloating":{"type":"string","description":"Floating exercise P/L"},"curIdxPrice":{"type":"string","description":"Current index price, used for calculation of floating excercise P/L"},"settlementPrice":{"type":"string","description":"Settlement price for exercise"},"easyOptionId":{"type":"string","description":"Id of easy option"}}}}}}
```

## The PositionResponseV1 object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"PositionResponseV1":{"type":"object","description":"Response DTO for position operations in v1 API","properties":{"positionId":{"type":"string","description":"Unique identifier of the position"},"parentPositionId":{"type":"string","description":"Parent position, form which this positionw as created"},"symbol":{"type":"string","description":"Trading symbol"},"asset":{"type":"string","description":"Underlaying asset name"},"type":{"type":"string","description":"Option type"},"expiryDate":{"type":"integer","format":"int64","description":"Expiry date as epoch millis"},"sizeUsdt":{"type":"string","description":"Position size in USDT"},"size":{"type":"string","description":"Position size"},"sizeContracts":{"type":"string","description":"Position size in contracts"},"sizeUsdtClosed":{"type":"string","description":"Position closed size in USDT"},"sizeClosed":{"type":"string","description":"Position closed size"},"sizeContractsClosed":{"type":"string","description":"Position closed size in contracts"},"strikePrice":{"type":"string","description":"Strike price"},"openPrice":{"type":"string","description":"Open price (VWAP)"},"openDate":{"type":"integer","format":"int64","description":"Open date as epoch millis"},"status":{"type":"string","description":"Position status"},"fee":{"type":"string","description":"Fee paid"},"premiumTotal":{"type":"string","description":"Total collected premium"},"closePrice":{"type":"string","description":"Close price"},"pl":{"type":"string","description":"Trade Profit/Loss"},"plClosed":{"type":"string","description":"Trade Profit/Loss closed"},"contractQty":{"type":"string","description":"Contract quantity"},"tradeSide":{"type":"string","description":"Trade side"},"excercisePlClosed":{"type":"string","description":"Closed exercise P/L"},"excercisePlFloating":{"type":"string","description":"Floating exercise P/L"},"curIdxPrice":{"type":"string","description":"Current index price, used for calculation of floating excercise P/L"},"settlementPrice":{"type":"string","description":"Settlement price for exercise"},"easyOptionId":{"type":"string","description":"Id of easy option"}}}}}}
```

## The PagedResponseV1OrderResponseV1 object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"PagedResponseV1OrderResponseV1":{"type":"object","properties":{"total":{"type":"integer","format":"int32","description":"Total number of items"},"page":{"type":"integer","format":"int32","description":"Current page number"},"pageSize":{"type":"integer","format":"int32","description":"Number of items per page"},"items":{"type":"array","description":"List of items for the current page","items":{"$ref":"#/components/schemas/OrderResponseV1"}}}},"OrderResponseV1":{"type":"object","description":"Response DTO for order operations in v1 API","properties":{"orderId":{"type":"string","description":"Unique identifier of the order"},"positionId":{"type":"integer","format":"int64","description":"Identifier of the related position, if available"},"symbol":{"type":"string","description":"Trading symbol"},"price":{"type":"string","description":"Order price"},"size":{"type":"string","description":"Order size"},"side":{"type":"string","description":"Order side (BUY/SELL)"},"orderType":{"type":"string","description":"Order type (LIMIT/MARKET)"},"status":{"type":"string","description":"Order status"},"asset":{"type":"string","description":"Underlaying asset name"},"type":{"type":"string","description":"Option type (CALL/PUT)"},"expiryDate":{"type":"integer","format":"int64","description":"Expiry date as epoch millis"},"sizeUsdt":{"type":"string","description":"Order size in USDT"},"sizeContracts":{"type":"string","description":"Order size in contracts"},"strikePrice":{"type":"string","description":"Strike price"},"openPrice":{"type":"string","description":"Open price (VWAP)"},"openDate":{"type":"integer","format":"int64","description":"Open date as epoch millis"},"fee":{"type":"string","description":"Fee paid"},"timestamp":{"type":"integer","format":"int64","description":"Order creation timestamp as epoch millis"}}}}}}
```

## The CmcOrderBookDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"CmcOrderBookDto":{"type":"object","description":"CoinMarketCap order book data transfer object","properties":{"ticker_id":{"type":"string","description":"Option contract symbol"},"timestamp":{"type":"integer","format":"int64","description":"Order book timestamp as epoch millis"},"bids":{"type":"array","description":"Bid levels as [price, qty] pairs","items":{"type":"array","items":{"type":"string"}}},"asks":{"type":"array","description":"Ask levels as [price, qty] pairs","items":{"type":"array","items":{"type":"string"}}}}}}}}
```

## The OptionPositionDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"OptionPositionDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"parentId":{"type":"integer","format":"int64"},"accountId":{"type":"integer","format":"int64"},"sellerAccountId":{"type":"integer","format":"int64"},"parentPositionId":{"type":"integer","format":"int64"},"symbol":{"type":"string"},"optionSide":{"type":"string"},"tradeSide":{"type":"string"},"strikePrice":{"type":"number"},"expiration":{"type":"integer","format":"int64"},"openQty":{"type":"number"},"closeQty":{"type":"number"},"openQtyNotional":{"type":"number"},"closeQtyNotional":{"type":"number"},"openPrice":{"type":"number"},"closePrice":{"type":"number"},"openTime":{"type":"integer","format":"int64"},"closeTime":{"type":"integer","format":"int64"},"fee":{"type":"number"},"feeAsset":{"type":"string"},"positionType":{"type":"string"},"positionState":{"type":"string"},"pl":{"type":"number"},"indexPrice":{"type":"number"},"excercisePl":{"type":"number"},"quoteAsset":{"type":"string"},"bookedMargin":{"type":"number"},"bookedMarginCcy":{"type":"string"},"underlying":{"type":"string"},"premiumTotal":{"type":"number"},"easyOptionId":{"type":"integer","format":"int64"}}}}}}
```

## The OptionPositionSearchDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"OptionPositionSearchDto":{"type":"object","description":"DTO for OptionPosition search form parameters.","properties":{"search":{"type":"string","description":"Search query string"},"pageNumber":{"type":"integer","format":"int32","default":0,"description":"Page number (zero-based)"},"pageSize":{"type":"integer","format":"int32","default":40,"description":"Page size (number of items per page)"},"wl":{"type":"integer","format":"int32","description":"Whitelist filter value"},"sortByField":{"type":"string","description":"Field to sort by"},"sortByDirection":{"type":"string","description":"Sort direction (ASC or DESC)","enum":["ASC","DESC"]},"id":{"type":"integer","format":"int64","description":"Unique identifier of the option position"},"accountId":{"type":"integer","format":"int64","description":"Account ID"},"parentPositionId":{"type":"integer","format":"int64","description":"Parent position ID"},"easyOptionId":{"type":"integer","format":"int64","description":"Easy Option ID"},"symbol":{"type":"string","description":"Symbol of the option"},"optionSide":{"type":"string","description":"Option side (CALL/PUT)"},"tradeSide":{"type":"string","description":"Trade side (BUY/SELL)"},"positionType":{"type":"string","description":"Type of the position"},"positionState":{"type":"string","description":"State of the position"},"feeAsset":{"type":"string","description":"Fee asset"},"quoteAsset":{"type":"string","description":"Quote asset"},"symbolContains":{"type":"string","description":"Symbol pattern for search"},"strikePriceMin":{"type":"number","description":"Minimum strike price"},"strikePriceMax":{"type":"number","description":"Maximum strike price"},"openQtyMin":{"type":"number","description":"Minimum open quantity"},"openQtyMax":{"type":"number","description":"Maximum open quantity"},"closeQtyMin":{"type":"number","description":"Minimum close quantity"},"closeQtyMax":{"type":"number","description":"Maximum close quantity"},"openPriceMin":{"type":"number","description":"Minimum open price"},"openPriceMax":{"type":"number","description":"Maximum open price"},"closePriceMin":{"type":"number","description":"Minimum close price"},"closePriceMax":{"type":"number","description":"Maximum close price"},"feeMin":{"type":"number","description":"Minimum fee"},"feeMax":{"type":"number","description":"Maximum fee"},"plMin":{"type":"number","description":"Minimum profit/loss"},"plMax":{"type":"number","description":"Maximum profit/loss"},"openTimeFrom":{"type":"string","format":"date-time","description":"Open time from (ISO 8601)"},"openTimeTo":{"type":"string","format":"date-time","description":"Open time to (ISO 8601)"},"closeTimeFrom":{"type":"string","format":"date-time","description":"Close time from (ISO 8601)"},"closeTimeTo":{"type":"string","format":"date-time","description":"Close time to (ISO 8601)"},"expirationFrom":{"type":"string","format":"date-time","description":"Expiration from (ISO 8601)"},"expirationTo":{"type":"string","format":"date-time","description":"Expiration to (ISO 8601)"}}}}}}
```

## The InstrumentSearchDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"InstrumentSearchDto":{"type":"object","properties":{"search":{"type":"string","description":"Search query string"},"pageNumber":{"type":"integer","format":"int32","default":0,"description":"Page number (zero-based)"},"pageSize":{"type":"integer","format":"int32","default":40,"description":"Page size (number of items per page)"},"wl":{"type":"integer","format":"int32","description":"Whitelist filter value"},"sortByField":{"type":"string","description":"Field to sort by"},"sortByDirection":{"type":"string","description":"Sort direction (ASC or DESC)","enum":["ASC","DESC"]},"symbol":{"type":"string"},"name":{"type":"string"},"baseCurrency":{"type":"string"},"quoteCurrency":{"type":"string"},"instrumentType":{"type":"string"},"isActive":{"type":"boolean"},"isTradable":{"type":"boolean"}}}}}}
```

## The InstrumentOptionDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"InstrumentOptionDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"symbol":{"type":"string","maxLength":2147483647,"minLength":3},"name":{"type":"string","maxLength":2147483647,"minLength":3},"baseCurrencyCode":{"type":"string","minLength":1},"quoteCurrencyCode":{"type":"string","minLength":1},"priceScale":{"type":"integer","format":"int32","maximum":8,"minimum":0},"amountScale":{"type":"integer","format":"int32","maximum":8,"minimum":0},"active":{"type":"boolean"},"tradable":{"type":"boolean"},"instrumentType":{"type":"string"},"description":{"type":"string"},"wl":{"type":"integer","format":"int32"},"lotAmountMult":{"type":"number","maximum":100000,"minimum":0.0001},"source":{"type":"string"},"contractAmount":{"type":"number","maximum":1000000,"minimum":0.0001},"makerFeeRate":{"type":"number","maximum":1,"minimum":0},"takerFeeRate":{"type":"number","maximum":1,"minimum":0},"liquidationFeeRate":{"type":"number","maximum":1,"minimum":0},"minQty":{"type":"number","minimum":0},"maxQty":{"type":"number","minimum":0},"stepQty":{"type":"number","minimum":0},"initialMargin":{"type":"number","minimum":0},"maintenanceMargin":{"type":"number","minimum":0},"commissionPolicyId":{"type":"string","maxLength":50,"minLength":0},"iconUrl":{"type":"string","maxLength":255,"minLength":0}},"required":["amountScale","baseCurrencyCode","contractAmount","instrumentType","name","priceScale","quoteCurrencyCode","symbol"]}}}}
```

## The OrderBook object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"OrderBook":{"type":"object","properties":{"i":{"type":"string"},"T":{"type":"integer","format":"int64"},"u":{"type":"integer","format":"int64"},"bids":{"type":"array","items":{"type":"array","items":{"type":"string"}}},"asks":{"type":"array","items":{"type":"array","items":{"type":"string"}}}}}}}}
```

## The OptionExchangeSearchDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"OptionExchangeSearchDto":{"type":"object","description":"Search criteria for option exchange queries","properties":{"searchString":{"type":"string","description":"Free text search string"},"pageNumber":{"type":"integer","format":"int32","description":"Page number (zero-based)"},"pageSize":{"type":"integer","format":"int32","description":"Number of items per page"},"sortBy":{"type":"array","description":"Sorting criteria list","items":{"$ref":"#/components/schemas/SortingDto"}},"symbol":{"type":"string","description":"Option symbol"},"expiryDateFrom":{"type":"string","format":"date-time","description":"Start of expiry date range (yyyy-MM-dd)"},"expiryDateTo":{"type":"string","format":"date-time","description":"End of expiry date range (yyyy-MM-dd)"},"side":{"type":"string","description":"Option side (CALL or PUT)","pattern":"CALL|PUT"},"strikePriceFrom":{"type":"number","description":"Minimum strike price"},"strikePriceTo":{"type":"number","description":"Maximum strike price"}}},"SortingDto":{"type":"object","description":"Sorting criteria for search results","properties":{"field":{"type":"string","description":"Field name to sort by"},"direction":{"type":"string","description":"Sort direction (ASC or DESC)","enum":["ASC","DESC"]}}}}}}
```

## The SortingDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"SortingDto":{"type":"object","description":"Sorting criteria for search results","properties":{"field":{"type":"string","description":"Field name to sort by"},"direction":{"type":"string","description":"Sort direction (ASC or DESC)","enum":["ASC","DESC"]}}}}}}
```

## The ExchangeInfoDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"ExchangeInfoDto":{"type":"object","description":"Exchange information data transfer object","properties":{"expiryDate":{"type":"integer","format":"int64","description":"Expiry date as epoch millis"},"createdAt":{"type":"integer","format":"int64","description":"Creation date as epoch millis"},"symbol":{"type":"string","description":"Trading symbol"},"side":{"type":"string","description":"Option side (CALL/PUT)","enum":["PUT","CALL"]},"strikePrice":{"type":"string","description":"Strike price"},"underlying":{"type":"string","description":"Underlying asset"},"minQty":{"type":"string","description":"Minimum order quantity"},"maxQty":{"type":"string","description":"Maximum order quantity"},"stepQty":{"type":"string","description":"Order quantity step"},"priceScale":{"type":"integer","format":"int32","description":"Number of decimal places for price"},"quantityScale":{"type":"integer","format":"int32","description":"Number of decimal places for quantity"},"quoteAsset":{"type":"string","description":"Quote asset"},"bid":{"$ref":"#/components/schemas/QuoteDto","description":"Best bid quote"},"ask":{"$ref":"#/components/schemas/QuoteDto","description":"Best ask quote"},"indexPrice":{"type":"string","description":"Current index price"},"deleted":{"type":"boolean","description":"Whether the exchange info is deleted"}}},"QuoteDto":{"type":"object","description":"Quote data transfer object","properties":{"price":{"type":"string","description":"Quote price"},"qty":{"type":"string","description":"Quote quantity"}}}}}}
```

## The OptionsExchangesCollectionDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"OptionsExchangesCollectionDto":{"type":"object","properties":{"call":{"type":"array","items":{"$ref":"#/components/schemas/ExchangeInfoDto"}},"put":{"type":"array","items":{"$ref":"#/components/schemas/ExchangeInfoDto"}}}},"ExchangeInfoDto":{"type":"object","description":"Exchange information data transfer object","properties":{"expiryDate":{"type":"integer","format":"int64","description":"Expiry date as epoch millis"},"createdAt":{"type":"integer","format":"int64","description":"Creation date as epoch millis"},"symbol":{"type":"string","description":"Trading symbol"},"side":{"type":"string","description":"Option side (CALL/PUT)","enum":["PUT","CALL"]},"strikePrice":{"type":"string","description":"Strike price"},"underlying":{"type":"string","description":"Underlying asset"},"minQty":{"type":"string","description":"Minimum order quantity"},"maxQty":{"type":"string","description":"Maximum order quantity"},"stepQty":{"type":"string","description":"Order quantity step"},"priceScale":{"type":"integer","format":"int32","description":"Number of decimal places for price"},"quantityScale":{"type":"integer","format":"int32","description":"Number of decimal places for quantity"},"quoteAsset":{"type":"string","description":"Quote asset"},"bid":{"$ref":"#/components/schemas/QuoteDto","description":"Best bid quote"},"ask":{"$ref":"#/components/schemas/QuoteDto","description":"Best ask quote"},"indexPrice":{"type":"string","description":"Current index price"},"deleted":{"type":"boolean","description":"Whether the exchange info is deleted"}}},"QuoteDto":{"type":"object","description":"Quote data transfer object","properties":{"price":{"type":"string","description":"Quote price"},"qty":{"type":"string","description":"Quote quantity"}}}}}}
```

## The QuoteDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"QuoteDto":{"type":"object","description":"Quote data transfer object","properties":{"price":{"type":"string","description":"Quote price"},"qty":{"type":"string","description":"Quote quantity"}}}}}}
```

## The InstrumentTypeDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"InstrumentTypeDto":{"type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"}}}}}}
```

## The EasyOptionSearchDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"EasyOptionSearchDto":{"type":"object","properties":{"search":{"type":"string","description":"Search query string"},"pageNumber":{"type":"integer","format":"int32","default":0,"description":"Page number (zero-based)"},"pageSize":{"type":"integer","format":"int32","default":40,"description":"Page size (number of items per page)"},"wl":{"type":"integer","format":"int32","description":"Whitelist filter value"},"sortByField":{"type":"string","description":"Field to sort by"},"sortByDirection":{"type":"string","description":"Sort direction (ASC or DESC)","enum":["ASC","DESC"]},"id":{"type":"integer","format":"int64","description":"Option ID"},"accountId":{"type":"integer","format":"int64","description":"Account ID"},"cardId":{"type":"integer","format":"int64","description":"Card ID"},"positionId":{"type":"integer","format":"int64","description":"Position ID"},"orderId":{"type":"integer","format":"int64","description":"Order ID"},"type":{"type":"string","description":"Option type (UP_DOWN, TOUCH)"},"status":{"type":"string","description":"Option status (ACTIVE, CLOSED)"},"direction":{"type":"string","description":"Direction (UP, DOWN)"},"investmentCurrency":{"type":"string","description":"Investment currency"},"optionSymbol":{"type":"string","description":"Option symbol"},"optionSymbolContains":{"type":"string","description":"Option symbol contains (pattern match)"},"investmentAmountMin":{"type":"number","description":"Minimum investment amount"},"investmentAmountMax":{"type":"number","description":"Maximum investment amount"},"targetPriceMin":{"type":"number","description":"Minimum target price"},"targetPriceMax":{"type":"number","description":"Maximum target price"},"triggerPriceMin":{"type":"number","description":"Minimum trigger price"},"triggerPriceMax":{"type":"number","description":"Maximum trigger price"},"qtyMin":{"type":"number","description":"Minimum quantity"},"qtyMax":{"type":"number","description":"Maximum quantity"},"entryPriceMin":{"type":"number","description":"Minimum entry price"},"entryPriceMax":{"type":"number","description":"Maximum entry price"},"openTimeFrom":{"type":"string","format":"date-time","description":"Open time from"},"openTimeTo":{"type":"string","format":"date-time","description":"Open time to"},"closeTimeFrom":{"type":"string","format":"date-time","description":"Close time from"},"closeTimeTo":{"type":"string","format":"date-time","description":"Close time to"},"triggerTimeFrom":{"type":"string","format":"date-time","description":"Trigger time from"},"triggerTimeTo":{"type":"string","format":"date-time","description":"Trigger time to"}}}}}}
```

## The EasyOptionDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"EasyOptionDto":{"type":"object","properties":{"id":{"type":"string","description":"Option unique identifier"},"accountId":{"type":"integer","format":"int64","description":"Account ID associated with the option"},"cardId":{"type":"integer","format":"int64","description":"Card ID associated with the option"},"type":{"type":"string","description":"Type of the option","enum":["UP_DOWN","TOUCH"]},"status":{"type":"string","description":"Status of the option","enum":["PENDING","ACTIVE","TRIGGERED","CLOSING","CLOSED","EXPIRED"]},"direction":{"type":"string","description":"Direction of the option","enum":["UP","DOWN"]},"investmentAmount":{"type":"number","description":"Investment amount"},"investmentCurrency":{"type":"string","description":"Currency of the investment"},"targetPrice":{"type":"number","description":"Target price for the option"},"triggerPrice":{"type":"number","description":"Trigger price for the option"},"optionSymbol":{"type":"string","description":"Symbol of the option"},"positionId":{"type":"string","description":"Position ID related to the option"},"orderId":{"type":"string","description":"Order ID related to the option"},"qty":{"type":"number","description":"Quantity of the option"},"entryPrice":{"type":"number","description":"Entry price of the option"},"openTime":{"type":"integer","format":"int64","description":"Open time (epoch millis)"},"closeTime":{"type":"integer","format":"int64","description":"Close time (epoch millis)"},"triggerTime":{"type":"integer","format":"int64","description":"Trigger time (epoch millis)"},"cardName":{"type":"string","description":"Card name associated with the option"},"fee":{"type":"string","description":"Fee paid"},"closePrice":{"type":"string","description":"Close price"},"pl":{"type":"string","description":"Trade Profit/Loss"},"plClosed":{"type":"string","description":"Trade Profit/Loss closed"}}}}}}
```

## The PagedResultEasyOptionDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"PagedResultEasyOptionDto":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EasyOptionDto"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"empty":{"type":"boolean"},"numberOfElements":{"type":"integer","format":"int32"}}},"EasyOptionDto":{"type":"object","properties":{"id":{"type":"string","description":"Option unique identifier"},"accountId":{"type":"integer","format":"int64","description":"Account ID associated with the option"},"cardId":{"type":"integer","format":"int64","description":"Card ID associated with the option"},"type":{"type":"string","description":"Type of the option","enum":["UP_DOWN","TOUCH"]},"status":{"type":"string","description":"Status of the option","enum":["PENDING","ACTIVE","TRIGGERED","CLOSING","CLOSED","EXPIRED"]},"direction":{"type":"string","description":"Direction of the option","enum":["UP","DOWN"]},"investmentAmount":{"type":"number","description":"Investment amount"},"investmentCurrency":{"type":"string","description":"Currency of the investment"},"targetPrice":{"type":"number","description":"Target price for the option"},"triggerPrice":{"type":"number","description":"Trigger price for the option"},"optionSymbol":{"type":"string","description":"Symbol of the option"},"positionId":{"type":"string","description":"Position ID related to the option"},"orderId":{"type":"string","description":"Order ID related to the option"},"qty":{"type":"number","description":"Quantity of the option"},"entryPrice":{"type":"number","description":"Entry price of the option"},"openTime":{"type":"integer","format":"int64","description":"Open time (epoch millis)"},"closeTime":{"type":"integer","format":"int64","description":"Close time (epoch millis)"},"triggerTime":{"type":"integer","format":"int64","description":"Trigger time (epoch millis)"},"cardName":{"type":"string","description":"Card name associated with the option"},"fee":{"type":"string","description":"Fee paid"},"closePrice":{"type":"string","description":"Close price"},"pl":{"type":"string","description":"Trade Profit/Loss"},"plClosed":{"type":"string","description":"Trade Profit/Loss closed"}}}}}}
```

## The EasyOptionCardSearchDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"EasyOptionCardSearchDto":{"type":"object","properties":{"search":{"type":"string","description":"Search query string"},"pageNumber":{"type":"integer","format":"int32","default":0,"description":"Page number (zero-based)"},"pageSize":{"type":"integer","format":"int32","default":40,"description":"Page size (number of items per page)"},"wl":{"type":"integer","format":"int32","description":"Whitelist filter value"},"sortByField":{"type":"string","description":"Field to sort by"},"sortByDirection":{"type":"string","description":"Sort direction (ASC or DESC)","enum":["ASC","DESC"]},"type":{"type":"string"},"direction":{"type":"string"},"active":{"type":"string"},"underlying":{"type":"string"},"underlyingContains":{"type":"string"},"titleContains":{"type":"string"}}}}}}
```

## The EasyOptionCardDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"EasyOptionCardDto":{"type":"object","description":"Easy Option Card data transfer object","properties":{"id":{"type":"integer","format":"int64","description":"Card unique identifier"},"type":{"type":"string","description":"Option type","enum":["UP_DOWN","TOUCH"]},"underlying":{"type":"string","description":"Underlying asset symbol","maxLength":2147483647,"minLength":3},"direction":{"type":"string","description":"Trade direction","enum":["UP","DOWN"]},"targetPrice":{"type":"number","description":"Target price for the option","minimum":0},"triggerPrice":{"type":"number","description":"Trigger price for the option"},"optionSymbol":{"type":"string","description":"Option symbol"},"expiryDate":{"type":"string","format":"date-time","description":"Expiry date in ISO 8601 format"},"tradingIdea":{"type":"string","description":"Trading idea or rationale","maxLength":255,"minLength":0},"autoGenerated":{"type":"boolean","description":"Whether the card was auto-generated"},"active":{"type":"boolean","description":"Whether the card is active"},"title":{"type":"string","description":"Card title","maxLength":100,"minLength":0},"description":{"type":"string","description":"Card description","maxLength":255,"minLength":0},"currentAskPrice":{"type":"number","description":"Current ask price for the option"},"currentOptionSymbol":{"type":"string","description":"Current option symbol being traded"}},"required":["direction","expiryDate","targetPrice","title","type","underlying"]}}}}
```

## The CmcContractDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"CmcContractDto":{"type":"object","description":"CoinMarketCap option contract data transfer object","properties":{"ticker_id":{"type":"string","description":"Option contract symbol"},"base_currency":{"type":"string","description":"Base currency of the underlying"},"quote_currency":{"type":"string","description":"Quote currency"},"product_type":{"type":"string","description":"Product type"},"contract_type":{"type":"string","description":"Contract type"},"contract_price":{"type":"number","description":"Contract price = contract amount x last premium"},"contract_price_currency":{"type":"string","description":"Currency of the contract price"},"last_price":{"type":"number","description":"Last traded premium price"},"base_volume":{"type":"number","description":"24h traded volume in base currency"},"quote_volume":{"type":"number","description":"24h traded volume in quote currency"},"high":{"type":"number","description":"24h high premium price"},"low":{"type":"number","description":"24h low premium price"},"bid":{"type":"number","description":"Best bid premium price"},"ask":{"type":"number","description":"Best ask premium price"},"index_price":{"type":"number","description":"Current index price of the underlying"},"open_interest":{"type":"number","description":"Open interest in contracts"},"open_interest_usd":{"type":"number","description":"Open interest value in USD"},"creation_timestamp":{"type":"integer","format":"int64","description":"Contract creation date as epoch millis"},"expiry_timestamp":{"type":"integer","format":"int64","description":"Contract expiry date as epoch millis"}}}}}}
```

## The ContestInfoDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"ContestInfoDto":{"type":"object","description":"DTO containing information about a contest.","properties":{"id":{"type":"integer","format":"int64","description":"Unique identifier of the contest"},"status":{"type":"string","description":"Current status of the contest (e.g., active, ended, upcoming)"},"pricePool":{"type":"string","description":"Prize pool for the contest"},"name":{"type":"string","description":"Name of the contest"},"currency":{"type":"string","description":"Currency used in the contest"},"startTime":{"type":"string","format":"date-time","description":"Start time of the contest in ISO format"},"endTime":{"type":"string","format":"date-time","description":"End time of the contest in ISO format"},"lastJoinTime":{"type":"string","format":"date-time","description":"Last allowed join time in ISO format"},"topReturn":{"type":"string","description":"Top return achieved in the contest"},"participants":{"type":"integer","format":"int32","description":"Number of participants in the contest"},"enabled":{"type":"boolean","description":"Whether the contest is enabled"},"initialDeposit":{"type":"number","description":"Initial deposit amount for participants"},"prizeDistributionBuckets":{"type":"array","description":"Prize distribution buckets (prize amounts)","items":{"type":"number"}},"minTotalTrades":{"type":"integer","format":"int32","description":"Minimum number of total trades required"},"minActiveTradingDays":{"type":"integer","format":"int32","description":"Minimum number of active trading days required"},"minNetPerformancePercent":{"type":"number","description":"Minimum net performance percentage required"},"maxTotalDrawdownPercent":{"type":"number","description":"Maximum allowed total drawdown percentage"},"maxDailyDrawdownPercent":{"type":"number","description":"Maximum allowed daily drawdown percentage"},"maxSingleTradePnlPercent":{"type":"number","description":"Maximum allowed single trade PnL percentage"},"profitRatioRuleEnabled":{"type":"boolean","description":"Whether profit ratio rule is enabled"},"minPremiumPercentPerTrade":{"type":"number","description":"Minimum premium percentage per trade"},"minTradeHoldMinutes":{"type":"integer","format":"int32","description":"Minimum time to hold a trade in minutes"},"minExpiryHoldPercent":{"type":"number","description":"Minimum expiry hold percentage"},"minExpiryHours":{"type":"integer","format":"int32","description":"Minimum number of hours until expiry"}}}}}}
```

## The ContestsResult object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"ContestsResult":{"type":"object","description":"DTO representing categorized lists of contests for an account.","properties":{"active":{"type":"array","description":"List of active contests","items":{"$ref":"#/components/schemas/ContestInfoDto"}},"upcomming":{"type":"array","description":"List of upcoming contests","items":{"$ref":"#/components/schemas/ContestInfoDto"}},"ended":{"type":"array","description":"List of ended contests","items":{"$ref":"#/components/schemas/ContestInfoDto"}}}},"ContestInfoDto":{"type":"object","description":"DTO containing information about a contest.","properties":{"id":{"type":"integer","format":"int64","description":"Unique identifier of the contest"},"status":{"type":"string","description":"Current status of the contest (e.g., active, ended, upcoming)"},"pricePool":{"type":"string","description":"Prize pool for the contest"},"name":{"type":"string","description":"Name of the contest"},"currency":{"type":"string","description":"Currency used in the contest"},"startTime":{"type":"string","format":"date-time","description":"Start time of the contest in ISO format"},"endTime":{"type":"string","format":"date-time","description":"End time of the contest in ISO format"},"lastJoinTime":{"type":"string","format":"date-time","description":"Last allowed join time in ISO format"},"topReturn":{"type":"string","description":"Top return achieved in the contest"},"participants":{"type":"integer","format":"int32","description":"Number of participants in the contest"},"enabled":{"type":"boolean","description":"Whether the contest is enabled"},"initialDeposit":{"type":"number","description":"Initial deposit amount for participants"},"prizeDistributionBuckets":{"type":"array","description":"Prize distribution buckets (prize amounts)","items":{"type":"number"}},"minTotalTrades":{"type":"integer","format":"int32","description":"Minimum number of total trades required"},"minActiveTradingDays":{"type":"integer","format":"int32","description":"Minimum number of active trading days required"},"minNetPerformancePercent":{"type":"number","description":"Minimum net performance percentage required"},"maxTotalDrawdownPercent":{"type":"number","description":"Maximum allowed total drawdown percentage"},"maxDailyDrawdownPercent":{"type":"number","description":"Maximum allowed daily drawdown percentage"},"maxSingleTradePnlPercent":{"type":"number","description":"Maximum allowed single trade PnL percentage"},"profitRatioRuleEnabled":{"type":"boolean","description":"Whether profit ratio rule is enabled"},"minPremiumPercentPerTrade":{"type":"number","description":"Minimum premium percentage per trade"},"minTradeHoldMinutes":{"type":"integer","format":"int32","description":"Minimum time to hold a trade in minutes"},"minExpiryHoldPercent":{"type":"number","description":"Minimum expiry hold percentage"},"minExpiryHours":{"type":"integer","format":"int32","description":"Minimum number of hours until expiry"}}}}}}
```

## The ContestLeaderboardEntryDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"ContestLeaderboardEntryDto":{"type":"object","description":"Contest leaderboard entry with participant performance data","properties":{"id":{"type":"integer","format":"int64","description":"Contest account info ID"},"rank":{"type":"integer","format":"int32","description":"Current rank in the contest"},"nickname":{"type":"string","description":"Participant's nickname or display name"},"netPerformance":{"type":"number","description":"Net performance percentage"},"totalTradesCount":{"type":"integer","format":"int32","description":"Total number of trades"},"tradingDaysCount":{"type":"integer","format":"int32","description":"Number of active trading days"},"maxDrawdown":{"type":"number","description":"Maximum drawdown percentage"},"maxDayDrawdown":{"type":"number","description":"Maximum daily drawdown percentage"},"joinTime":{"type":"string","format":"date-time","description":"Join time in ISO format"},"contestStatus":{"type":"string","description":"Contest participation status"}}}}}}
```

## The AccountDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"AccountDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"userId":{"type":"integer","format":"int32"},"commonName":{"type":"string","maxLength":255,"minLength":2},"currency":{"type":"string","maxLength":6,"minLength":3},"balance":{"type":"number","readOnly":true},"blockedBalance":{"type":"number","readOnly":true},"accountType":{"type":"string","minLength":1},"accountStatus":{"type":"string","minLength":1},"positionType":{"type":"string","minLength":1},"wl":{"type":"integer","format":"int32"},"level":{"type":"integer","format":"int32"},"internal":{"type":"boolean"},"inOutStatus":{"type":"string"},"mmBookingAccountId":{"type":"integer","format":"int64"},"equity":{"type":"number"},"tradingFeeRate":{"type":"number"},"totalPositionsCost":{"type":"number"},"balances":{"type":"array","items":{"$ref":"#/components/schemas/CcyBalanceDto"},"readOnly":true}},"required":["accountStatus","accountType","commonName","currency","positionType","userId"]},"CcyBalanceDto":{"type":"object","properties":{"curency":{"type":"string"},"balance":{"type":"number"},"blockedBalance":{"type":"number"}}}}}}
```

## The CcyBalanceDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"CcyBalanceDto":{"type":"object","properties":{"curency":{"type":"string"},"balance":{"type":"number"},"blockedBalance":{"type":"number"}}}}}}
```

## The AccountTotalPnLDto object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"AccountTotalPnLDto":{"type":"object","description":"Total PnL data for a specific account across all closed/exercised positions","properties":{"totalPremium":{"type":"string","description":"Sum of premium totals for all positions (received/paid premiums)"},"totalExercisePl":{"type":"string","description":"Sum of exercise P&L for all positions"},"totalRealizedPnl":{"type":"string","description":"Total realized P&L (premiumTotal + exercisePl)"},"totalFee":{"type":"string","description":"Total fees paid for all positions"},"positionCount":{"type":"integer","format":"int64","description":"Count of closed/exercised positions for this account"},"averagePnlPerPosition":{"type":"string","description":"Average PnL per position (computed)"}}}}}}
```

## The SwaggerCredentials object

```json
{"openapi":"3.1.0","info":{"title":"fintp-public-api","version":"0.0.1"},"components":{"schemas":{"SwaggerCredentials":{"type":"object","properties":{"clientId":{"type":"string"},"privateKey":{"type":"string"}}}}}}
```
