Get Smart Balance Portfolio Page
Paginated query for an account's Smart Balance portfolios. Filter by status / kind / coin and time range; results are ordered and bucketed into pages.
Endpoint
GET /tt/themis-broker/openapi/portfolios/page
Authentication: HMAC apiKey signature via REST headers. See Authentication.
Parameters
Query string parameters.
| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | long | true | Account ID to query |
| portfolioType | string | true | Pin to BALANCE for Smart Balance portfolios |
| portfolioTag | string | false | OPEN_ORDER (in-flight) / ORDER_HISTORY (terminal). Omit to include both |
| derivativesType | string | false | Single kind filter: OPTION / PERPETUAL / DELIVERY_FUTURES / SPOT |
| derivativesTypes | array | false | Multi-kind filter; supersedes derivativesType if non-empty |
| coinOrSymbol | string | false | Match base coin (e.g. BTC) or instrument substring |
| instrument | string | false | Exact instrument name filter (e.g. BTC-PERPETUAL) |
| startTimestamp | long | false | Submit time lower bound, ms |
| endTimestamp | long | false | Submit time upper bound, ms |
| status | int | false | Status filter: 1=PENDING/ACTIVE, 2=FILLED, 3=CANCELLED |
| hideFullyUnfilled | boolean | false | When true, hide portfolios with zero fills |
| customizedNote | string | false | Match user note substring |
| createUidList | array | false | Filter by submitter UIDs (sub-account scenarios) |
| lastEditedUidList | array | false | Filter by last editor UIDs |
| orderBy | string | false | Sort key. Default order is submit time desc |
| pageSize | int | false | Page size (default 10) |
| currentPage | int | false | Page number, starts at 1 (default 1) |
Request Example
GET /tt/themis-broker/openapi/portfolios/page?accountId=10003443&portfolioType=BALANCE&pageSize=10¤tPage=1 HTTP/1.1
Authorization: Bearer pkQJQ1
Signalplus-API-Timestamp: 1776665215780
Signalplus-API-Nonce: e43b0618-6965-4b0b-a62d-a3a4f78eed52
Signalplus-API-Signature: <base64 hmac>
Response Example
{
"succ": true,
"code": 0,
"message": "",
"value": {
"pageCount": 3,
"totalCount": 27,
"values": [
{
"uid": "13554298",
"nickname": "tyx100681",
"accountId": "10003443",
"accountName": "rfq-test-01",
"exchange": "DERIBIT",
"portfolioId": "144115188955249274",
"submitTimestamp": "1776668666388",
"updateTimestamp": "1776668676325",
"portfolioStatus": 2,
"portfolioType": "BALANCE",
"balanceTrade": {
"parts": 3,
"eachLimitMs": "15000",
"totalLimitMs": "0",
"totalEndAction": 2,
"totalMs": "9937",
"fees": [
{"fee": "0.00053717", "defaultPvCcy": "BTC"}
]
},
"customizedNote": "themis openapi test",
"lastEditedUid": "13554298",
"legs": [
{
"legId": "216172783206681210",
"side": 1,
"instrument": "BTC-25DEC26-40000-P",
"instrumentType": "OPTION",
"legStatus": 2,
"placeQuantity": "1.5",
"quantityIn": "BTC",
"filledAvgPrice": "0.155",
"filledQuantity": "1.5",
"remainingQuantity": "0",
"fee": "0.00045",
"forCcy": "BTC",
"domCcy": "USD",
"markCcy": "BTC",
"notionalCcy": "BTC",
"defaultPvCcy": "BTC"
}
]
}
]
}
}
Response
Top-level fields inside
value(paginated envelope).
| Name | Type | Description |
|---|---|---|
| pageCount | int | Total page count given current pageSize |
| totalCount | int | Total matching portfolio count |
| values | array | Page of V2PortfolioDTO items; element shape identical to info response value |
values[]element fields — same shape as theGet Smart Balance Inforesponse. Refer to that document for the fullPortfolio/balanceTrade/Legschema.Pagination semantics
currentPageis 1-based. Empty page (no matches) returns{pageCount: 0, totalCount: 0, values: []}.Default ordering is submit time descending. Override via
orderByif needed.Filter combination
Filters are AND-combined. To list only in-flight balance portfolios for
BTCafter a given time:
portfolioType=BALANCE&portfolioTag=OPEN_ORDER&coinOrSymbol=BTC&startTimestamp=1776600000000