@finatic/client 0.0.140 → 0.0.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -0
- package/dist/index.d.ts +256 -2
- package/dist/index.js +767 -94
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +764 -95
- package/dist/index.mjs.map +1 -1
- package/dist/types/core/client/ApiClient.d.ts +71 -1
- package/dist/types/core/client/FinaticConnect.d.ts +35 -0
- package/dist/types/core/portal/PortalUI.d.ts +2 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/lib/logger/index.d.ts +2 -0
- package/dist/types/lib/logger/logger.d.ts +4 -0
- package/dist/types/lib/logger/logger.types.d.ts +28 -0
- package/dist/types/mocks/MockApiClient.d.ts +2 -0
- package/dist/types/types/api/broker.d.ts +116 -0
- package/package.json +1 -1
- package/src/core/client/ApiClient.ts +302 -19
- package/src/core/client/FinaticConnect.ts +160 -30
- package/src/core/portal/PortalUI.ts +58 -23
- package/src/index.ts +13 -0
- package/src/lib/logger/index.ts +3 -0
- package/src/lib/logger/logger.ts +332 -0
- package/src/lib/logger/logger.types.ts +34 -0
- package/src/mocks/MockApiClient.ts +43 -17
- package/src/types/api/broker.ts +131 -0
- package/src/types/common/pagination.ts +31 -5
- package/src/utils/brokerUtils.ts +21 -2
- package/src/utils/events.ts +13 -1
- package/src/utils/themeUtils.ts +23 -4
package/README.md
CHANGED
|
@@ -356,6 +356,73 @@ if (ordersPage.hasPrevious) {
|
|
|
356
356
|
// No manual session management required
|
|
357
357
|
```
|
|
358
358
|
|
|
359
|
+
## Order and Position Detail Data
|
|
360
|
+
|
|
361
|
+
### Getting Order Fills
|
|
362
|
+
|
|
363
|
+
Order fills represent individual execution fills for an order:
|
|
364
|
+
|
|
365
|
+
```typescript
|
|
366
|
+
// Get fills for a specific order
|
|
367
|
+
const fills = await finatic.getOrderFills('order-123', {
|
|
368
|
+
connection_id: 'connection-456',
|
|
369
|
+
limit: 50,
|
|
370
|
+
offset: 0,
|
|
371
|
+
});
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### Getting Order Events
|
|
375
|
+
|
|
376
|
+
Order events represent lifecycle events for an order:
|
|
377
|
+
|
|
378
|
+
```typescript
|
|
379
|
+
// Get events for a specific order
|
|
380
|
+
const events = await finatic.getOrderEvents('order-123', {
|
|
381
|
+
connection_id: 'connection-456',
|
|
382
|
+
limit: 100,
|
|
383
|
+
});
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### Getting Order Groups
|
|
387
|
+
|
|
388
|
+
Order groups contain multiple related orders:
|
|
389
|
+
|
|
390
|
+
```typescript
|
|
391
|
+
// Get order groups with filters
|
|
392
|
+
const groups = await finatic.getOrderGroups({
|
|
393
|
+
broker_id: 'robinhood',
|
|
394
|
+
connection_id: 'connection-456',
|
|
395
|
+
created_after: '2024-01-01T00:00:00Z',
|
|
396
|
+
limit: 50,
|
|
397
|
+
});
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
### Getting Position Lots (Tax Lots)
|
|
401
|
+
|
|
402
|
+
Position lots are used for tax reporting and track when positions were opened/closed:
|
|
403
|
+
|
|
404
|
+
```typescript
|
|
405
|
+
// Get position lots for tax reporting
|
|
406
|
+
const lots = await finatic.getPositionLots({
|
|
407
|
+
broker_id: 'robinhood',
|
|
408
|
+
account_id: '123456789',
|
|
409
|
+
symbol: 'AAPL',
|
|
410
|
+
limit: 100,
|
|
411
|
+
});
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
### Getting Position Lot Fills
|
|
415
|
+
|
|
416
|
+
Position lot fills show the execution details for each lot:
|
|
417
|
+
|
|
418
|
+
```typescript
|
|
419
|
+
// Get fills for a specific position lot
|
|
420
|
+
const lotFills = await finatic.getPositionLotFills('lot-123', {
|
|
421
|
+
connection_id: 'connection-456',
|
|
422
|
+
limit: 50,
|
|
423
|
+
});
|
|
424
|
+
```
|
|
425
|
+
|
|
359
426
|
## Type Definitions
|
|
360
427
|
|
|
361
428
|
The SDK includes comprehensive TypeScript definitions for all data structures:
|
|
@@ -368,6 +435,11 @@ The SDK includes comprehensive TypeScript definitions for all data structures:
|
|
|
368
435
|
- `BrokerConnection`: Connection information
|
|
369
436
|
- `OrderResponse`: Order operation responses
|
|
370
437
|
- `PaginatedResult`: Paginated data responses
|
|
438
|
+
- `OrderFill`: Order fill information
|
|
439
|
+
- `OrderEvent`: Order event information
|
|
440
|
+
- `OrderGroup`: Order group information
|
|
441
|
+
- `PositionLot`: Position lot (tax lot) information
|
|
442
|
+
- `PositionLotFill`: Position lot fill information
|
|
371
443
|
|
|
372
444
|
## Error Types
|
|
373
445
|
|
package/dist/index.d.ts
CHANGED
|
@@ -473,6 +473,122 @@ interface DisconnectCompanyResponse {
|
|
|
473
473
|
message: string;
|
|
474
474
|
status_code: number;
|
|
475
475
|
}
|
|
476
|
+
interface OrderFill {
|
|
477
|
+
id: string;
|
|
478
|
+
order_id: string;
|
|
479
|
+
leg_id: string | null;
|
|
480
|
+
price: number;
|
|
481
|
+
quantity: number;
|
|
482
|
+
executed_at: string;
|
|
483
|
+
execution_id: string | null;
|
|
484
|
+
trade_id: string | null;
|
|
485
|
+
venue: string | null;
|
|
486
|
+
commission_fee: number | null;
|
|
487
|
+
created_at: string;
|
|
488
|
+
updated_at: string;
|
|
489
|
+
}
|
|
490
|
+
interface OrderEvent {
|
|
491
|
+
id: string;
|
|
492
|
+
order_id: string;
|
|
493
|
+
order_group_id: string | null;
|
|
494
|
+
event_type: string | null;
|
|
495
|
+
event_time: string;
|
|
496
|
+
event_id: string | null;
|
|
497
|
+
order_status: string | null;
|
|
498
|
+
inferred: boolean;
|
|
499
|
+
confidence: number | null;
|
|
500
|
+
reason_code: string | null;
|
|
501
|
+
recorded_at: string | null;
|
|
502
|
+
}
|
|
503
|
+
interface OrderLeg {
|
|
504
|
+
id: string;
|
|
505
|
+
order_id: string;
|
|
506
|
+
leg_index: number;
|
|
507
|
+
asset_type: string;
|
|
508
|
+
broker_provided_symbol: string | null;
|
|
509
|
+
quantity: number;
|
|
510
|
+
filled_quantity: number | null;
|
|
511
|
+
avg_fill_price: number | null;
|
|
512
|
+
created_at: string | null;
|
|
513
|
+
updated_at: string | null;
|
|
514
|
+
}
|
|
515
|
+
interface OrderGroupOrder extends BrokerDataOrder {
|
|
516
|
+
legs: OrderLeg[];
|
|
517
|
+
}
|
|
518
|
+
interface OrderGroup {
|
|
519
|
+
id: string;
|
|
520
|
+
user_broker_connection_id: string | null;
|
|
521
|
+
created_at: string;
|
|
522
|
+
updated_at: string;
|
|
523
|
+
orders: OrderGroupOrder[];
|
|
524
|
+
}
|
|
525
|
+
interface PositionLot {
|
|
526
|
+
id: string;
|
|
527
|
+
position_id: string | null;
|
|
528
|
+
user_broker_connection_id: string;
|
|
529
|
+
broker_provided_account_id: string;
|
|
530
|
+
instrument_key: string;
|
|
531
|
+
asset_type: string | null;
|
|
532
|
+
side: 'long' | 'short' | null;
|
|
533
|
+
open_quantity: number;
|
|
534
|
+
closed_quantity: number;
|
|
535
|
+
remaining_quantity: number;
|
|
536
|
+
open_price: number;
|
|
537
|
+
close_price_avg: number | null;
|
|
538
|
+
cost_basis: number;
|
|
539
|
+
cost_basis_w_commission: number;
|
|
540
|
+
realized_pl: number;
|
|
541
|
+
realized_pl_w_commission: number;
|
|
542
|
+
lot_opened_at: string;
|
|
543
|
+
lot_closed_at: string | null;
|
|
544
|
+
position_group_id: string | null;
|
|
545
|
+
created_at: string;
|
|
546
|
+
updated_at: string;
|
|
547
|
+
position_lot_fills?: PositionLotFill[];
|
|
548
|
+
}
|
|
549
|
+
interface PositionLotFill {
|
|
550
|
+
id: string;
|
|
551
|
+
lot_id: string;
|
|
552
|
+
order_fill_id: string;
|
|
553
|
+
fill_price: number;
|
|
554
|
+
fill_quantity: number;
|
|
555
|
+
executed_at: string;
|
|
556
|
+
commission_share: number | null;
|
|
557
|
+
created_at: string;
|
|
558
|
+
updated_at: string;
|
|
559
|
+
}
|
|
560
|
+
interface OrderFillsFilter {
|
|
561
|
+
connection_id?: string;
|
|
562
|
+
limit?: number;
|
|
563
|
+
offset?: number;
|
|
564
|
+
}
|
|
565
|
+
interface OrderEventsFilter {
|
|
566
|
+
connection_id?: string;
|
|
567
|
+
limit?: number;
|
|
568
|
+
offset?: number;
|
|
569
|
+
}
|
|
570
|
+
interface OrderGroupsFilter {
|
|
571
|
+
broker_id?: string;
|
|
572
|
+
connection_id?: string;
|
|
573
|
+
limit?: number;
|
|
574
|
+
offset?: number;
|
|
575
|
+
created_after?: string;
|
|
576
|
+
created_before?: string;
|
|
577
|
+
}
|
|
578
|
+
interface PositionLotsFilter {
|
|
579
|
+
broker_id?: string;
|
|
580
|
+
connection_id?: string;
|
|
581
|
+
account_id?: string;
|
|
582
|
+
symbol?: string;
|
|
583
|
+
position_id?: string;
|
|
584
|
+
limit?: number;
|
|
585
|
+
offset?: number;
|
|
586
|
+
}
|
|
587
|
+
interface PositionLotFillsFilter {
|
|
588
|
+
connection_id?: string;
|
|
589
|
+
limit?: number;
|
|
590
|
+
offset?: number;
|
|
591
|
+
}
|
|
476
592
|
|
|
477
593
|
/**
|
|
478
594
|
* Order-related types
|
|
@@ -1011,6 +1127,8 @@ declare class ApiClient {
|
|
|
1011
1127
|
private tradingContext;
|
|
1012
1128
|
private companyId;
|
|
1013
1129
|
private csrfToken;
|
|
1130
|
+
private readonly logger;
|
|
1131
|
+
private buildLoggerExtra;
|
|
1014
1132
|
constructor(baseUrl: string, deviceInfo?: DeviceInfo$1);
|
|
1015
1133
|
/**
|
|
1016
1134
|
* Set session context (session ID, company ID, CSRF token)
|
|
@@ -1192,6 +1310,74 @@ declare class ApiClient {
|
|
|
1192
1310
|
* @returns Promise with disconnect response
|
|
1193
1311
|
*/
|
|
1194
1312
|
disconnectCompany(connectionId: string): Promise<DisconnectCompanyResponse>;
|
|
1313
|
+
/**
|
|
1314
|
+
* Get order fills for a specific order
|
|
1315
|
+
* @param orderId - The order ID
|
|
1316
|
+
* @param filter - Optional filter parameters
|
|
1317
|
+
* @returns Promise with order fills response
|
|
1318
|
+
*/
|
|
1319
|
+
getOrderFills(orderId: string, filter?: OrderFillsFilter): Promise<{
|
|
1320
|
+
_id: string;
|
|
1321
|
+
response_data: OrderFill[];
|
|
1322
|
+
message: string;
|
|
1323
|
+
status_code: number;
|
|
1324
|
+
warnings: null;
|
|
1325
|
+
errors: null;
|
|
1326
|
+
}>;
|
|
1327
|
+
/**
|
|
1328
|
+
* Get order events for a specific order
|
|
1329
|
+
* @param orderId - The order ID
|
|
1330
|
+
* @param filter - Optional filter parameters
|
|
1331
|
+
* @returns Promise with order events response
|
|
1332
|
+
*/
|
|
1333
|
+
getOrderEvents(orderId: string, filter?: OrderEventsFilter): Promise<{
|
|
1334
|
+
_id: string;
|
|
1335
|
+
response_data: OrderEvent[];
|
|
1336
|
+
message: string;
|
|
1337
|
+
status_code: number;
|
|
1338
|
+
warnings: null;
|
|
1339
|
+
errors: null;
|
|
1340
|
+
}>;
|
|
1341
|
+
/**
|
|
1342
|
+
* Get order groups
|
|
1343
|
+
* @param filter - Optional filter parameters
|
|
1344
|
+
* @returns Promise with order groups response
|
|
1345
|
+
*/
|
|
1346
|
+
getOrderGroups(filter?: OrderGroupsFilter): Promise<{
|
|
1347
|
+
_id: string;
|
|
1348
|
+
response_data: OrderGroup[];
|
|
1349
|
+
message: string;
|
|
1350
|
+
status_code: number;
|
|
1351
|
+
warnings: null;
|
|
1352
|
+
errors: null;
|
|
1353
|
+
}>;
|
|
1354
|
+
/**
|
|
1355
|
+
* Get position lots (tax lots for positions)
|
|
1356
|
+
* @param filter - Optional filter parameters
|
|
1357
|
+
* @returns Promise with position lots response
|
|
1358
|
+
*/
|
|
1359
|
+
getPositionLots(filter?: PositionLotsFilter): Promise<{
|
|
1360
|
+
_id: string;
|
|
1361
|
+
response_data: PositionLot[];
|
|
1362
|
+
message: string;
|
|
1363
|
+
status_code: number;
|
|
1364
|
+
warnings: null;
|
|
1365
|
+
errors: null;
|
|
1366
|
+
}>;
|
|
1367
|
+
/**
|
|
1368
|
+
* Get position lot fills for a specific lot
|
|
1369
|
+
* @param lotId - The position lot ID
|
|
1370
|
+
* @param filter - Optional filter parameters
|
|
1371
|
+
* @returns Promise with position lot fills response
|
|
1372
|
+
*/
|
|
1373
|
+
getPositionLotFills(lotId: string, filter?: PositionLotFillsFilter): Promise<{
|
|
1374
|
+
_id: string;
|
|
1375
|
+
response_data: PositionLotFill[];
|
|
1376
|
+
message: string;
|
|
1377
|
+
status_code: number;
|
|
1378
|
+
warnings: null;
|
|
1379
|
+
errors: null;
|
|
1380
|
+
}>;
|
|
1195
1381
|
}
|
|
1196
1382
|
|
|
1197
1383
|
type EventCallback = (...args: any[]) => void;
|
|
@@ -1230,6 +1416,8 @@ declare class FinaticConnect extends EventEmitter {
|
|
|
1230
1416
|
private readonly SESSION_VALIDATION_TIMEOUT;
|
|
1231
1417
|
private readonly SESSION_REFRESH_BUFFER_HOURS;
|
|
1232
1418
|
private sessionStartTime;
|
|
1419
|
+
private readonly logger;
|
|
1420
|
+
private buildLoggerExtra;
|
|
1233
1421
|
constructor(options: FinaticConnectOptions, deviceInfo?: DeviceInfo);
|
|
1234
1422
|
private linkUserToSession;
|
|
1235
1423
|
/**
|
|
@@ -1496,6 +1684,39 @@ declare class FinaticConnect extends EventEmitter {
|
|
|
1496
1684
|
* @throws AuthenticationError if user is not authenticated
|
|
1497
1685
|
*/
|
|
1498
1686
|
disconnectCompany(connectionId: string): Promise<DisconnectCompanyResponse>;
|
|
1687
|
+
/**
|
|
1688
|
+
* Get order fills for a specific order
|
|
1689
|
+
* @param orderId - The order ID
|
|
1690
|
+
* @param filter - Optional filter parameters
|
|
1691
|
+
* @returns Promise with order fills response
|
|
1692
|
+
*/
|
|
1693
|
+
getOrderFills(orderId: string, filter?: OrderFillsFilter): Promise<OrderFill[]>;
|
|
1694
|
+
/**
|
|
1695
|
+
* Get order events for a specific order
|
|
1696
|
+
* @param orderId - The order ID
|
|
1697
|
+
* @param filter - Optional filter parameters
|
|
1698
|
+
* @returns Promise with order events response
|
|
1699
|
+
*/
|
|
1700
|
+
getOrderEvents(orderId: string, filter?: OrderEventsFilter): Promise<OrderEvent[]>;
|
|
1701
|
+
/**
|
|
1702
|
+
* Get order groups
|
|
1703
|
+
* @param filter - Optional filter parameters
|
|
1704
|
+
* @returns Promise with order groups response
|
|
1705
|
+
*/
|
|
1706
|
+
getOrderGroups(filter?: OrderGroupsFilter): Promise<OrderGroup[]>;
|
|
1707
|
+
/**
|
|
1708
|
+
* Get position lots (tax lots for positions)
|
|
1709
|
+
* @param filter - Optional filter parameters
|
|
1710
|
+
* @returns Promise with position lots response
|
|
1711
|
+
*/
|
|
1712
|
+
getPositionLots(filter?: PositionLotsFilter): Promise<PositionLot[]>;
|
|
1713
|
+
/**
|
|
1714
|
+
* Get position lot fills for a specific lot
|
|
1715
|
+
* @param lotId - The position lot ID
|
|
1716
|
+
* @param filter - Optional filter parameters
|
|
1717
|
+
* @returns Promise with position lot fills response
|
|
1718
|
+
*/
|
|
1719
|
+
getPositionLotFills(lotId: string, filter?: PositionLotFillsFilter): Promise<PositionLotFill[]>;
|
|
1499
1720
|
}
|
|
1500
1721
|
|
|
1501
1722
|
/**
|
|
@@ -1532,7 +1753,40 @@ declare function validateCustomTheme(theme: PortalThemeConfig): boolean;
|
|
|
1532
1753
|
*/
|
|
1533
1754
|
declare function createCustomThemeFromPreset(preset: string, modifications: Partial<PortalThemeConfig>): PortalThemeConfig | null;
|
|
1534
1755
|
|
|
1756
|
+
type LogLevel = 'silent' | 'error' | 'warn' | 'info' | 'debug';
|
|
1757
|
+
interface LoggerMetadata {
|
|
1758
|
+
[key: string]: unknown;
|
|
1759
|
+
}
|
|
1760
|
+
interface LoggerExtra {
|
|
1761
|
+
metadata?: LoggerMetadata;
|
|
1762
|
+
module?: string;
|
|
1763
|
+
function?: string;
|
|
1764
|
+
event?: string;
|
|
1765
|
+
duration_ms?: number;
|
|
1766
|
+
error?: unknown;
|
|
1767
|
+
[key: string]: unknown;
|
|
1768
|
+
}
|
|
1769
|
+
interface LoggerOptions {
|
|
1770
|
+
name: string;
|
|
1771
|
+
level?: LogLevel;
|
|
1772
|
+
defaultMetadata?: LoggerMetadata;
|
|
1773
|
+
}
|
|
1774
|
+
interface Logger {
|
|
1775
|
+
getLevel: () => LogLevel;
|
|
1776
|
+
setLevel: (level: LogLevel) => void;
|
|
1777
|
+
debug: (message: string, extra?: LoggerExtra) => void;
|
|
1778
|
+
info: (message: string, extra?: LoggerExtra) => void;
|
|
1779
|
+
warn: (message: string, extra?: LoggerExtra) => void;
|
|
1780
|
+
error: (message: string, extra?: LoggerExtra) => void;
|
|
1781
|
+
exception: (message: string, error: unknown, extra?: LoggerExtra) => void;
|
|
1782
|
+
}
|
|
1783
|
+
type LogVerbosity = 0 | 1 | 2 | 3;
|
|
1784
|
+
|
|
1785
|
+
declare const setupLogger: (nameOrOptions: string | LoggerOptions, level?: LogLevel, defaultMetadata?: LoggerMetadata) => Logger;
|
|
1786
|
+
declare const buildLoggerExtra: (metadata: LoggerMetadata) => LoggerExtra;
|
|
1787
|
+
declare const logStartEnd: (logger: Logger) => <Args extends unknown[], ReturnType>(fn: (...args: Args) => ReturnType | Promise<ReturnType>) => (...args: Args) => Promise<ReturnType>;
|
|
1788
|
+
|
|
1535
1789
|
declare const portalThemePresets: Record<string, PortalThemeConfig>;
|
|
1536
1790
|
|
|
1537
|
-
export { ApiClient, ApiError, AuthenticationError, AuthorizationError, BaseError, CompanyAccessError, EventEmitter, FinaticConnect, NetworkError, OrderError, OrderValidationError, PaginatedResult, RateLimitError, SecurityError, SessionError, TokenError, TradingNotEnabledError, appendThemeToURL, createCustomThemeFromPreset, generatePortalThemeURL, getThemePreset, portalThemePresets, validateCustomTheme };
|
|
1538
|
-
export type { AccountsFilter, ApiConfig, ApiResponse, BalancesFilter, BrokerAccount, BrokerBalance, BrokerConnection, BrokerDataAccount, BrokerDataOptions, BrokerDataOrder, BrokerDataPosition, BrokerExtras$1 as BrokerExtras, BrokerInfo, BrokerOrder, BrokerOrderParams, BrokerPosition, CryptoOrderOptions, DeviceInfo$1 as DeviceInfo, FilteredAccountsResponse, FilteredBalancesResponse, FilteredOrdersResponse, FilteredPositionsResponse, FinaticConnectOptions, FinaticUserToken, Holding, OptionsOrder, OptionsOrderOptions, Order, OrderNotFoundError, OrderResponse, OrdersFilter, OtpRequestResponse, OtpVerifyResponse, PerformanceMetrics, PortalMessage, PortalProps, PortalResponse, PortalTheme, PortalThemeConfig, PortalThemePreset, PortalUrlResponse, Portfolio, PortfolioSnapshot, PositionsFilter, RefreshTokenRequest, RefreshTokenResponse, RequestHeaders, SessionAuthenticateResponse, SessionInitResponse, SessionResponse, SessionStatus, SessionValidationResponse, TokenInfo, TradeAccessDeniedError, TradingContext, UserToken, ValidationError };
|
|
1791
|
+
export { ApiClient, ApiError, AuthenticationError, AuthorizationError, BaseError, CompanyAccessError, EventEmitter, FinaticConnect, NetworkError, OrderError, OrderValidationError, PaginatedResult, RateLimitError, SecurityError, SessionError, TokenError, TradingNotEnabledError, appendThemeToURL, buildLoggerExtra, createCustomThemeFromPreset, generatePortalThemeURL, getThemePreset, logStartEnd, portalThemePresets, setupLogger, validateCustomTheme };
|
|
1792
|
+
export type { AccountsFilter, ApiConfig, ApiResponse, BalancesFilter, BrokerAccount, BrokerBalance, BrokerConnection, BrokerDataAccount, BrokerDataOptions, BrokerDataOrder, BrokerDataPosition, BrokerExtras$1 as BrokerExtras, BrokerInfo, BrokerOrder, BrokerOrderParams, BrokerPosition, CryptoOrderOptions, DeviceInfo$1 as DeviceInfo, FilteredAccountsResponse, FilteredBalancesResponse, FilteredOrdersResponse, FilteredPositionsResponse, FinaticConnectOptions, FinaticUserToken, Holding, LogLevel, LogVerbosity, Logger, LoggerExtra, LoggerMetadata, LoggerOptions, OptionsOrder, OptionsOrderOptions, Order, OrderEvent, OrderEventsFilter, OrderFill, OrderFillsFilter, OrderGroup, OrderGroupOrder, OrderGroupsFilter, OrderLeg, OrderNotFoundError, OrderResponse, OrdersFilter, OtpRequestResponse, OtpVerifyResponse, PerformanceMetrics, PortalMessage, PortalProps, PortalResponse, PortalTheme, PortalThemeConfig, PortalThemePreset, PortalUrlResponse, Portfolio, PortfolioSnapshot, PositionLot, PositionLotFill, PositionLotFillsFilter, PositionLotsFilter, PositionsFilter, RefreshTokenRequest, RefreshTokenResponse, RequestHeaders, SessionAuthenticateResponse, SessionInitResponse, SessionResponse, SessionStatus, SessionValidationResponse, TokenInfo, TradeAccessDeniedError, TradingContext, UserToken, ValidationError };
|