@invezgo/sdk 1.3.2 → 2.1.0

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.
Files changed (58) hide show
  1. package/README.md +318 -314
  2. package/dist/cache.d.ts +27 -0
  3. package/dist/cache.d.ts.map +1 -0
  4. package/dist/client.d.ts +15 -18
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/errors.d.ts +71 -0
  7. package/dist/errors.d.ts.map +1 -0
  8. package/dist/generated/resources.d.ts +3382 -0
  9. package/dist/generated/resources.d.ts.map +1 -0
  10. package/dist/generated/types.d.ts +3873 -0
  11. package/dist/generated/types.d.ts.map +1 -0
  12. package/dist/http.d.ts +66 -0
  13. package/dist/http.d.ts.map +1 -0
  14. package/dist/index.d.ts +9 -16
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +760 -1080
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.mjs +781 -0
  19. package/dist/index.mjs.map +1 -0
  20. package/package.json +66 -63
  21. package/dist/endpoints/ai.d.ts +0 -98
  22. package/dist/endpoints/ai.d.ts.map +0 -1
  23. package/dist/endpoints/alerts.d.ts +0 -49
  24. package/dist/endpoints/alerts.d.ts.map +0 -1
  25. package/dist/endpoints/analysis.d.ts +0 -380
  26. package/dist/endpoints/analysis.d.ts.map +0 -1
  27. package/dist/endpoints/batch.d.ts +0 -40
  28. package/dist/endpoints/batch.d.ts.map +0 -1
  29. package/dist/endpoints/health.d.ts +0 -24
  30. package/dist/endpoints/health.d.ts.map +0 -1
  31. package/dist/endpoints/journals.d.ts +0 -49
  32. package/dist/endpoints/journals.d.ts.map +0 -1
  33. package/dist/endpoints/membership.d.ts +0 -35
  34. package/dist/endpoints/membership.d.ts.map +0 -1
  35. package/dist/endpoints/portfolios.d.ts +0 -14
  36. package/dist/endpoints/portfolios.d.ts.map +0 -1
  37. package/dist/endpoints/posts.d.ts +0 -42
  38. package/dist/endpoints/posts.d.ts.map +0 -1
  39. package/dist/endpoints/profile.d.ts +0 -34
  40. package/dist/endpoints/profile.d.ts.map +0 -1
  41. package/dist/endpoints/recommendation.d.ts +0 -10
  42. package/dist/endpoints/recommendation.d.ts.map +0 -1
  43. package/dist/endpoints/screener.d.ts +0 -45
  44. package/dist/endpoints/screener.d.ts.map +0 -1
  45. package/dist/endpoints/search.d.ts +0 -18
  46. package/dist/endpoints/search.d.ts.map +0 -1
  47. package/dist/endpoints/trades.d.ts +0 -31
  48. package/dist/endpoints/trades.d.ts.map +0 -1
  49. package/dist/endpoints/usage.d.ts +0 -11
  50. package/dist/endpoints/usage.d.ts.map +0 -1
  51. package/dist/endpoints/watchlists.d.ts +0 -64
  52. package/dist/endpoints/watchlists.d.ts.map +0 -1
  53. package/dist/index.esm.js +0 -1130
  54. package/dist/index.esm.js.map +0 -1
  55. package/dist/invezgo.d.ts +0 -42
  56. package/dist/invezgo.d.ts.map +0 -1
  57. package/dist/types.d.ts +0 -610
  58. package/dist/types.d.ts.map +0 -1
@@ -0,0 +1,3382 @@
1
+ import type { RequestOptions, Transport } from '../http';
2
+ import type { AddJournalRequest, AddWatchlistRequest, AdvanceChartParams, AdvanceChartResponse, AlertRequest, AlertsCreateResponse, AlertsDeleteResponse, AlertsListResponse, AlertsTestResponse, AlertsUpdateResponse, ApiUsageResponse, BatchIntradayDataParams, BatchIntradayDataResponse, BatchIntradayIndexResponse, BatchOrderBookParams, BatchOrderBookResponse, BrokerListResponse, BrokerStalkerListParams, BrokerStalkerListResponse, BrokerStalkerParams, BrokerStalkerResponse, CalendarParams, CalendarResponse, DeleteIdsRequest, DisclosureParams, DisclosureResponse, FinancialStatementChartParams, FinancialStatementChartResponse, FinancialStatementParams, FinancialStatementResponse, FlowOfFundsParams, FlowOfFundsResponse, FreeFloatParams, FreeFloatResponse, IndexChartParams, IndexChartResponse, IndexListResponse, IndicatorChartParams, IndicatorChartResponse, InformationResponse, InsiderChartParams, InsiderChartResponse, InsiderParams, InsiderResponse, IntradayChartParams, IntradayChartResponse, IntradayDataParams, IntradayDataResponse, IntradayIndexResponse, IntradayInventoryChartParams, IntradayInventoryChartResponse, InventoryBrokerChartParams, InventoryBrokerChartResponse, InventoryStockChartParams, InventoryStockChartResponse, JournalsAddResponse, JournalsDeleteResponse, JournalsListParams, JournalsListResponse, JournalsSummaryParams, JournalsSummaryResponse, KeystatChartParams, KeystatChartResponse, KeystatParams, KeystatResponse, MomentumChartParams, MomentumChartResponse, MultiTimeChartParams, MultiTimeChartResponse, NewsParams, NewsResponse, NotationResponse, NoteRequest, NoteTradeRequest, OrderBookParams, OrderBookResponse, OrderQueueParams, OrderQueueResponse, PortfoliosListResponse, PortfoliosSummaryResponse, PostDetailResponse, PostsCommentsParams, PostsCommentsResponse, PostsFavoritesParams, PostsFavoritesResponse, PostsLikesParams, PostsLikesResponse, PostsListByCategoryParams, PostsListByCategoryResponse, PostsListByStockCategoryParams, PostsListByStockCategoryResponse, PostsListByStockParams, PostsListByStockResponse, PostsListParams, PostsListResponse, PostsVotersResponse, PriceDiaryResponse, PriceSeasonalityParams, PriceSeasonalityResponse, PriceTableParams, PriceTableResponse, SankeyChartParams, SankeyChartResponse, SaveScreenerRequest, ScreenRequest, ScreenerDeleteResponse, ScreenerListResponse, ScreenerSaveResponse, ScreenerScreenResponse, ScreenerUpdateResponse, SearchParams, SearchResponse, SearchStockParams, SearchStockResponse, SearchUserParams, SearchUserResponse, SectorRotationParams, SectorRotationResponse, SectorStalkerParams, SectorStalkerResponse, ShareholderAboveChartParams, ShareholderAboveChartResponse, ShareholderAboveParams, ShareholderAboveResponse, ShareholderClassificationParams, ShareholderClassificationResponse, ShareholderClassifyTableResponse, ShareholderDetailParams, ShareholderDetailResponse, ShareholderHighResponse, ShareholderKSEIParams, ShareholderKSEIResponse, ShareholderNumberResponse, ShareholderOneChartParams, ShareholderOneChartResponse, ShareholderOneDetailParams, ShareholderOneDetailResponse, ShareholderOneParams, ShareholderOneResponse, ShareholderRelationParams, ShareholderRelationResponse, ShareholderResponse, StockListResponse, StockRunningTradeParams, StockRunningTradeResponse, SummaryBrokerChartParams, SummaryBrokerChartResponse, SummaryBrokerParams, SummaryBrokerResponse, SummaryStockChartParams, SummaryStockChartResponse, SummaryStockParams, SummaryStockResponse, SuspendParams, SuspendResponse, TestAlertRequest, TimeTableParams, TimeTableResponse, TopAccumulationParams, TopAccumulationResponse, TopChangeParams, TopChangeResponse, TopForeignParams, TopForeignResponse, TopRitelParams, TopRitelResponse, TradesDeleteResponse, TradesListParams, TradesListResponse, TradesSummaryChartParams, TradesSummaryChartResponse, TradesSummaryParams, TradesSummaryResponse, TradesUpdateNoteResponse, UmaParams, UmaResponse, UpdateAlertRequest, UpdateScreenerRequest, UpdateWatchlistRequest, UsageLogsParams, UsageLogsResponse, WatchlistGroupRequest, WatchlistsAddGroupResponse, WatchlistsAddResponse, WatchlistsDeleteGroupResponse, WatchlistsDeleteResponse, WatchlistsListGroupsResponse, WatchlistsListParams, WatchlistsListResponse, WatchlistsUpdateGroupResponse, WatchlistsUpdateNoteResponse, WatchlistsUpdateResponse } from './types';
3
+ /** Indonesia stock market data: lists, prices, charts, broker flow, shareholders, fundamentals. */
4
+ export declare class AnalysisResource {
5
+ private readonly transport;
6
+ constructor(transport: Transport);
7
+ /**
8
+ * Stock List
9
+ *
10
+ * Get a complete list of all companies listed on the Indonesia Stock Exchange (IDX).
11
+ *
12
+ * Response:
13
+ * - code: Supported stock code
14
+ * - name: Full stock name without the PT prefix
15
+ * - sector: Stock sector (null if not available)
16
+ * - logo: Image URL for the company icon (null if not available)
17
+ *
18
+ * Update: Every time there is a change in company data or new IPO
19
+ *
20
+ * `GET /analysis/list/stock` — cached (`cache.ttl`).
21
+ *
22
+ * @param options Per-request options (e.g. `signal`).
23
+ * @returns StockListResponse
24
+ */
25
+ getStockList(options?: RequestOptions): Promise<StockListResponse>;
26
+ /**
27
+ * Broker List
28
+ *
29
+ * Get a complete list of all brokers/securities registered as exchange members at IDX.
30
+ *
31
+ * Response:
32
+ * - code: 2-letter broker code (e.g. AD, YP)
33
+ * - name: Full name of the securities company
34
+ *
35
+ * Update: Every time there is a change in broker data or new broker
36
+ *
37
+ * `GET /analysis/list/broker` — cached (`cache.ttl`).
38
+ *
39
+ * @param options Per-request options (e.g. `signal`).
40
+ * @returns BrokerListResponse
41
+ */
42
+ getBrokerList(options?: RequestOptions): Promise<BrokerListResponse>;
43
+ /**
44
+ * Index List
45
+ *
46
+ * Get a complete list of all indexes available at IDX.
47
+ *
48
+ * Index Categories:
49
+ * - headline: Main indexes (COMPOSITE/IHSG, LQ45, IDX30, IDX80)
50
+ * - sector: Sectoral indexes (IDXENERGY, IDXFINANCE, IDXBASIC, etc)
51
+ * - sharia: Sharia indexes (JII, JII70, ISSI, etc)
52
+ * - esg: ESG/sustainability indexes (SRI-KEHATI, IDXESGL, etc)
53
+ * - factor: Factor-based indexes (IDXQ30, IDXV30, IDXG30, IDXHIDIV20)
54
+ * - thematic: Thematic indexes (IDXBUMN20, I-GRADE, etc)
55
+ * - board: Board indexes (MBX, DBX, ABX)
56
+ * - partnership: Partnership indexes (KOMPAS100, BISNIS-27, etc)
57
+ * - smc: Small-Mid Cap indexes (IDXSMC-LIQ, IDXSMC-COM)
58
+ *
59
+ * Response:
60
+ * - code: Index code (e.g. COMPOSITE, LQ45, IDXFINANCE)
61
+ * - name: Full index name
62
+ * - category: Index category: headline, sector, sharia, esg, factor, thematic, board, partnership, smc
63
+ *
64
+ * Update: Every time there is a change in index data
65
+ *
66
+ * `GET /analysis/list/index` — cached (`cache.ttl`).
67
+ *
68
+ * @param options Per-request options (e.g. `signal`).
69
+ * @returns IndexListResponse
70
+ */
71
+ getIndexList(options?: RequestOptions): Promise<IndexListResponse>;
72
+ /**
73
+ * Stock UMA List
74
+ *
75
+ * Get the list of UMA (Unusual Market Activity) stock announcements from the Indonesia Stock Exchange (IDX).
76
+ *
77
+ * Response:
78
+ * - totalPage: Total pages based on limit
79
+ * - page: Current page
80
+ * - nextPage: Next page number, null on the last page
81
+ * - data: UMA list (newest first), each item contains:
82
+ * - code: Stock code
83
+ * - date: UMA announcement date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
84
+ *
85
+ * Update: Every time there is a UMA announcement from the Indonesia Stock Exchange
86
+ *
87
+ * `GET /analysis/uma` — cached (`cache.ttl`).
88
+ *
89
+ * @param params Query parameters.
90
+ * @param options Per-request options (e.g. `signal`).
91
+ * @returns UmaResponse
92
+ */
93
+ getUma(params?: UmaParams, options?: RequestOptions): Promise<UmaResponse>;
94
+ /**
95
+ * Stock Suspend List
96
+ *
97
+ * Get the list of stock trading suspensions from the Indonesia Stock Exchange (IDX).
98
+ *
99
+ * Response:
100
+ * - totalPage: Total pages based on limit
101
+ * - page: Current page
102
+ * - nextPage: Next page number, null on the last page
103
+ * - data: Suspension list (newest first), each item contains:
104
+ * - code: Stock code
105
+ * - start_date: Suspension start date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
106
+ * - end_date: Date the suspension was lifted (same format as start_date), null while the suspension is still in effect
107
+ * - active: true while the suspension is still in effect (end_date is null)
108
+ *
109
+ * Update: Every time there is a suspension or suspension-lift announcement from the Indonesia Stock Exchange
110
+ *
111
+ * `GET /analysis/suspend` — cached (`cache.ttl`).
112
+ *
113
+ * @param params Query parameters.
114
+ * @param options Per-request options (e.g. `signal`).
115
+ * @returns SuspendResponse
116
+ */
117
+ getSuspend(params?: SuspendParams, options?: RequestOptions): Promise<SuspendResponse>;
118
+ /**
119
+ * Stock Notation List
120
+ *
121
+ * Get a complete list of special notations for all stocks listed on the Indonesia Stock Exchange (IDX), grouped by stock code and effective date.
122
+ *
123
+ * Response:
124
+ * - code: Stock code
125
+ * - date: Notation effective date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
126
+ * - list: Notations in effect on that date, each item contains:
127
+ * - notation: Special notation code (e.g. A, B, E, X)
128
+ * - description: Meaning of the notation
129
+ *
130
+ * Update: Every time there is a notation change from the Indonesia Stock Exchange
131
+ *
132
+ * `GET /analysis/notation` — cached (`cache.ttl`).
133
+ *
134
+ * @param options Per-request options (e.g. `signal`).
135
+ * @returns NotationResponse
136
+ */
137
+ getNotation(options?: RequestOptions): Promise<NotationResponse>;
138
+ /**
139
+ * Company Information
140
+ *
141
+ * Get complete and detailed information about a company based on stock code.
142
+ *
143
+ * Response:
144
+ * - code: Stock code
145
+ * - name: Company name without the PT prefix
146
+ * - address: Company head office address
147
+ * - website: Company website
148
+ * - logo: Company icon image URL
149
+ * - npwp: Company tax ID (NPWP)
150
+ * - activity: Company's main business activity
151
+ * - sector: Stock sector
152
+ * - subsector: Stock subsector
153
+ * - industry: Stock industry
154
+ * - subsindustry: Stock sub-industry
155
+ * - board: IDX listing board (e.g. Utama/Main, Pengembangan/Development)
156
+ * - listing_date: Exchange listing date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
157
+ * - category: Categories/indexes that include this stock (e.g. SYARIAH, IDXENERGY)
158
+ * - administration: Company's share registrar (BAE), null if not available
159
+ * - description: Company profile description, null if not available
160
+ * - ipo_pct: Percentage of shares offered at IPO (%), null if not available
161
+ * - ipo_price: IPO offering price per share (Rupiah), null if not available
162
+ * - ipo_share: Number of shares offered at IPO (shares), null if not available
163
+ * - ipo_underwriter: IPO underwriter, null if not available
164
+ * - nominal_price: Par value per share (Rupiah), null if not available
165
+ * - commissioner: Board of commissioners (sorted by name), each item contains:
166
+ * - name: Commissioner name
167
+ * - position: Position (e.g. Independent Commissioner)
168
+ * - director: Board of directors (sorted by name), each item contains:
169
+ * - name: Director name
170
+ * - position: Position (e.g. President Director, Director)
171
+ * - subsidiary: Subsidiaries (sorted by name), each item contains:
172
+ * - name: Subsidiary name
173
+ * - percentage: Company's ownership percentage (%)
174
+ * - notation: Special notations in effect on the latest notation date ([] if none), each item contains:
175
+ * - notation: Special notation code
176
+ * - description: Meaning of the notation
177
+ *
178
+ * Update: Monthly according to each company's report
179
+ *
180
+ * `GET /analysis/information/{code}` — cached (`cache.ttl`).
181
+ * @see https://invezgo.com/id/space/BBCA
182
+ *
183
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
184
+ * @param options Per-request options (e.g. `signal`).
185
+ * @returns InformationResponse
186
+ */
187
+ getInformation(code: string, options?: RequestOptions): Promise<InformationResponse>;
188
+ /**
189
+ * Top Gainer & Loser
190
+ *
191
+ * Get a list of stocks with the largest price increases and decreases on a specific day, complete with 5-day historical graph data.
192
+ *
193
+ * Response:
194
+ * - gain / loss: gain = stocks with price change > 0 (largest first), loss = change < 0 (most negative first), each item contains:
195
+ * - code: Stock code
196
+ * - name: Company name
197
+ * - price: Closing price (Rupiah)
198
+ * - change: Daily price change (%)
199
+ * - value: Transaction value (Rupiah)
200
+ * - volume: Transaction volume (shares)
201
+ * - logo: Company icon image URL
202
+ * - calculated_value: Sort value, equal to change (%)
203
+ * - graph: Last 5 trading days up to the requested date (ascending), each item contains:
204
+ * - date: Date (YYYY-MM-DD)
205
+ * - value: Daily price change (%)
206
+ *
207
+ * Update: End of Day (EOD) every day after 18:00 WIB
208
+ *
209
+ * Limited to data for the last 2 years
210
+ * Initial Data: 2010-01-01 [ENTERPRISE]
211
+ *
212
+ * Notes:
213
+ * - Data not available on holidays or weekends
214
+ * - Use business days for best results
215
+ * - Each stock includes 5-day graph data
216
+ *
217
+ * `GET /analysis/top/change` — cached (`cache.ttl`).
218
+ * @see https://invezgo.com/id/dashboard
219
+ *
220
+ * @param params Query parameters.
221
+ * @param options Per-request options (e.g. `signal`).
222
+ * @returns TopChangeResponse
223
+ */
224
+ getTopChange(params: TopChangeParams, options?: RequestOptions): Promise<TopChangeResponse>;
225
+ /**
226
+ * Top Foreign Flow
227
+ *
228
+ * Get a list of stocks with the largest foreign accumulation and distribution on a specific day, complete with 5-day historical graph data.
229
+ *
230
+ * Response:
231
+ * - accum / dist: accum = stocks with net foreign > 0 (accumulation, largest first), dist = net foreign < 0 (distribution, most negative first), each item contains:
232
+ * - code: Stock code
233
+ * - name: Company name
234
+ * - price: Closing price (Rupiah)
235
+ * - change: Daily price change (%)
236
+ * - value: Transaction value (Rupiah)
237
+ * - volume: Transaction volume (shares)
238
+ * - logo: Company icon image URL
239
+ * - calculated_value: Net foreign flow relative to transaction value (%)
240
+ * - graph: Last 5 trading days up to the requested date (ascending), each item contains:
241
+ * - date: Date (YYYY-MM-DD)
242
+ * - value: Net foreign flow relative to that day's transaction value (%)
243
+ *
244
+ * Update: End of Day (EOD) every day after 18:00 WIB
245
+ *
246
+ * Limited to data for the last 2 years
247
+ * Initial Data: 2010-01-01 [ENTERPRISE]
248
+ *
249
+ * Notes:
250
+ * - Data not available on holidays or weekends
251
+ * - Use business days for best results
252
+ * - Each stock includes 5-day graph data
253
+ *
254
+ * `GET /analysis/top/foreign` — cached (`cache.ttl`).
255
+ * @see https://invezgo.com/id/dashboard
256
+ *
257
+ * @param params Query parameters.
258
+ * @param options Per-request options (e.g. `signal`).
259
+ * @returns TopForeignResponse
260
+ */
261
+ getTopForeign(params: TopForeignParams, options?: RequestOptions): Promise<TopForeignResponse>;
262
+ /**
263
+ * Top BDM Flow
264
+ *
265
+ * Get a list of stocks with the largest bandarmology accumulation and distribution on a specific day.
266
+ *
267
+ * Response:
268
+ * - accum / dist: accum = stocks with net bandarmology > 0 (accumulation, largest first), dist = net < 0 (distribution, most negative first), each item contains:
269
+ * - code: Stock code
270
+ * - name: Company name
271
+ * - price: Closing price (Rupiah)
272
+ * - change: Daily price change (%)
273
+ * - value: Transaction value (Rupiah)
274
+ * - volume: Transaction volume (shares)
275
+ * - logo: Company icon image URL
276
+ * - calculated_value: Net bandar accumulation relative to transaction volume (%)
277
+ * - graph: Last 5 trading days up to the requested date (ascending), each item contains:
278
+ * - date: Date (YYYY-MM-DD)
279
+ * - value: Net bandar accumulation relative to that day's volume (%)
280
+ *
281
+ * Update: End of Day (EOD) every day after 18:00 WIB
282
+ *
283
+ * Limited to data for the last 2 years
284
+ * Initial Data: 2010-01-01 [ENTERPRISE]
285
+ *
286
+ * Notes:
287
+ * - Data not available on holidays or weekends
288
+ * - Use business days for best results
289
+ *
290
+ * `GET /analysis/top/accumulation` — cached (`cache.ttl`).
291
+ * @see https://invezgo.com/id/dashboard
292
+ *
293
+ * @param params Query parameters.
294
+ * @param options Per-request options (e.g. `signal`).
295
+ * @returns TopAccumulationResponse
296
+ */
297
+ getTopAccumulation(params: TopAccumulationParams, options?: RequestOptions): Promise<TopAccumulationResponse>;
298
+ /**
299
+ * Top Ritel Flow
300
+ *
301
+ * Get a list of stocks with the largest retail accumulation and distribution on a specific day.
302
+ *
303
+ * Response:
304
+ * - accum / dist: accum = stocks with net retail > 0 (accumulation, largest first), dist = net retail < 0 (distribution, most negative first), each item contains:
305
+ * - code: Stock code
306
+ * - name: Company name
307
+ * - price: Closing price (Rupiah)
308
+ * - change: Daily price change (%)
309
+ * - value: Transaction value (Rupiah)
310
+ * - volume: Transaction volume (shares)
311
+ * - logo: Company icon image URL
312
+ * - calculated_value: Net retail flow relative to transaction volume (%)
313
+ * - graph: Last 5 trading days up to the requested date (ascending), each item contains:
314
+ * - date: Date (YYYY-MM-DD)
315
+ * - value: Net retail flow relative to that day's volume (%)
316
+ *
317
+ * Update: End of Day (EOD) every day after 18:00 WIB
318
+ *
319
+ * Limited to data for the last 2 years
320
+ * Initial Data: 2010-01-01 [ENTERPRISE]
321
+ *
322
+ * Notes:
323
+ * - Data not available on holidays or weekends
324
+ * - Use business days for best results
325
+ *
326
+ * `GET /analysis/top/ritel` — cached (`cache.ttl`).
327
+ * @see https://invezgo.com/id/dashboard
328
+ *
329
+ * @param params Query parameters.
330
+ * @param options Per-request options (e.g. `signal`).
331
+ * @returns TopRitelResponse
332
+ */
333
+ getTopRitel(params: TopRitelParams, options?: RequestOptions): Promise<TopRitelResponse>;
334
+ /**
335
+ * Stock Running Trade
336
+ *
337
+ * Get realtime/historical running trade transaction data for a specific stock code.
338
+ *
339
+ * Response:
340
+ * - totalPage: Total pages; null for today during trading hours (realtime data is fetched page by page)
341
+ * - page: Current page
342
+ * - nextPage: Next page number; null when there is no next page
343
+ * - data: List of trades, each item contains:
344
+ * - order_id: Exchange trade number, a number that can exceed 2^53
345
+ * - buy_order_id: Buy-side order number
346
+ * - sell_order_id: Sell-side order number
347
+ * - board: Market type (RG, NG, TN); defaults to RG
348
+ * - time: Trade time (HH:mm:ss WIB)
349
+ * - price: Trade price (Rupiah)
350
+ * - volume: Trade volume (shares)
351
+ * - buyer: Buyer broker code (2 characters)
352
+ * - seller: Seller broker code (2 characters)
353
+ * - buyer_dom: Buyer investor type (D = domestic, F = foreign)
354
+ * - seller_dom: Seller investor type (D = domestic, F = foreign)
355
+ * - type: Action type based on the aggressor order (BUY, SELL, or UNKNOWN)
356
+ * - avg_price: Average price (Rupiah); equals price when unavailable
357
+ *
358
+ * `GET /analysis/running-trade/{code}` — cached (`cache.realtimeTtl`).
359
+ * @see https://invezgo.com/id/dashboard
360
+ *
361
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
362
+ * @param params Query parameters.
363
+ * @param options Per-request options (e.g. `signal`).
364
+ * @returns StockRunningTradeResponse
365
+ */
366
+ getStockRunningTrade(code: string, params: StockRunningTradeParams, options?: RequestOptions): Promise<StockRunningTradeResponse>;
367
+ /**
368
+ * Stock/Index Intraday Chart
369
+ *
370
+ * Get intraday chart data for a stock with the latest date.
371
+ *
372
+ * Response:
373
+ * - date: Per-minute candle time (WIB (UTC+7) DateTime, e.g. 2026-10-16T09:01:00.000Z = 16 Oct 2026 09:01 WIB; the Z suffix does not mean UTC, do not convert the time zone)
374
+ * - open: Opening price of that minute (Rupiah)
375
+ * - high: Highest price of that minute (Rupiah)
376
+ * - low: Lowest price of that minute (Rupiah)
377
+ * - close: Closing price of that minute (Rupiah)
378
+ * - volume: Trading volume of that minute (shares)
379
+ * - freq: Trade frequency of that minute (count); absent in overnight data 23:00-04:00 WIB
380
+ * - value: Trading value of that minute (Rupiah); absent in overnight data 23:00-04:00 WIB
381
+ *
382
+ * Update: Real-time
383
+ *
384
+ * `GET /analysis/intraday/{code}` — cached (`cache.realtimeTtl`).
385
+ * @see https://invezgo.com/id/chart/BBCA
386
+ *
387
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
388
+ * @param params Query parameters.
389
+ * @param options Per-request options (e.g. `signal`).
390
+ * @returns IntradayChartResponse
391
+ */
392
+ getIntradayChart(code: string, params: IntradayChartParams, options?: RequestOptions): Promise<IntradayChartResponse>;
393
+ /**
394
+ * Stock Order Book
395
+ *
396
+ * Get order book data for a stock with the latest date or historical data at specific date/time.
397
+ *
398
+ * Data Retrieval Modes:
399
+ * - Realtime: Without date/time parameters - uses realtime data during trading hours or the latest data
400
+ * - Historical: With date and time parameters - retrieves order book data at specific timestamp
401
+ *
402
+ * Response:
403
+ * - code: Stock code (with the market suffix when market is not RG, e.g. BBCANG)
404
+ * - bid: List of buy queue levels, ordered from level 1 (best price); each item's keys use the level number n:
405
+ * - bid<n>price: Bid price at level n (Rupiah)
406
+ * - bid<n>lot: Number of lots at level n
407
+ * - bid<n>freq: Number of orders at level n
408
+ * - offer: List of sell queue levels, ordered from level 1 (best price); each item's keys use the level number n:
409
+ * - offer<n>price: Offer price at level n (Rupiah)
410
+ * - offer<n>lot: Number of lots at level n
411
+ * - offer<n>freq: Number of orders at level n
412
+ *
413
+ * Historical Parameters:
414
+ * - date: Date in YYYY-MM-DD format (optional, minimum 2026-03-25)
415
+ * - time: WIB time in HH:MM or HH:MM:SS format (optional); nearest snapshot on that date
416
+ * - Note: date and time MUST be filled together or both empty
417
+ *
418
+ * Update: Real-time (without date/time) or Historical (with date/time)
419
+ *
420
+ * `GET /analysis/order-book/{code}` — cached (`cache.realtimeTtl`).
421
+ * @see https://invezgo.com/id/chart/BBCA
422
+ *
423
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
424
+ * @param params Query parameters.
425
+ * @param options Per-request options (e.g. `signal`).
426
+ * @returns OrderBookResponse
427
+ */
428
+ getOrderBook(code: string, params: OrderBookParams, options?: RequestOptions): Promise<OrderBookResponse>;
429
+ /**
430
+ * Stock Order Queue (Tracking)
431
+ *
432
+ * Get order queue (order tracking) for a stock at a specific price, side, page, and limit.
433
+ *
434
+ * Response:
435
+ * - time: Order entry time (HH:mm:ss WIB)
436
+ * - order_id: Order ID (string)
437
+ * - order_volume: Original order volume (shares)
438
+ * - open_volume: Volume still queued/unfilled (shares)
439
+ * - done_volume: Filled volume, order_volume minus open_volume (shares)
440
+ * - order_value: Order value, price x order_volume (Rupiah)
441
+ * - open_value: Queued value, price x open_volume (Rupiah)
442
+ * - done_value: Filled value, price x done_volume (Rupiah)
443
+ *
444
+ * `GET /analysis/queue/{code}` — cached (`cache.realtimeTtl`).
445
+ *
446
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
447
+ * @param params Query parameters.
448
+ * @param options Per-request options (e.g. `signal`).
449
+ * @returns OrderQueueResponse
450
+ */
451
+ getOrderQueue(code: string, params: OrderQueueParams, options?: RequestOptions): Promise<OrderQueueResponse>;
452
+ /**
453
+ * Stock Intraday Data
454
+ *
455
+ * Get intraday stock data with the latest date or historical data on a specific date.
456
+ *
457
+ * Data Retrieval Modes:
458
+ * - Realtime: Without the date parameter - uses realtime data during trading hours or the latest daily data
459
+ * - Historical: With the date parameter - retrieves daily data on that date
460
+ *
461
+ * Response:
462
+ * - code: Stock code
463
+ * - open: Opening price (Rupiah)
464
+ * - high: Highest price (Rupiah)
465
+ * - low: Lowest price (Rupiah)
466
+ * - close: Last/closing price (Rupiah)
467
+ * - avg: Average price (Rupiah); equals close for historical data
468
+ * - volume: Trading volume (shares)
469
+ * - freq: Trade frequency (count)
470
+ * - value: Trading value (Rupiah)
471
+ * - prev: Previous trading day's closing price (Rupiah)
472
+ * - bid_price: Best bid price (Rupiah)
473
+ * - bid_lot: Queued volume at the best bid
474
+ * - bid_freq: Number of orders at the best bid
475
+ * - offer_price: Best offer price (Rupiah)
476
+ * - offer_lot: Queued volume at the best offer
477
+ * - offer_freq: Number of orders at the best offer
478
+ * - iep: Indicative Equilibrium Price during pre-opening/pre-closing (Rupiah); 0 for historical data
479
+ * - iev: Indicative Equilibrium Volume during pre-opening/pre-closing; 0 for historical data
480
+ *
481
+ * Update: Real-time (without date) or Historical (with date)
482
+ *
483
+ * `GET /analysis/intraday-data/{code}` — cached (`cache.realtimeTtl`).
484
+ * @see https://invezgo.com/id/chart/BBCA
485
+ *
486
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
487
+ * @param params Query parameters.
488
+ * @param options Per-request options (e.g. `signal`).
489
+ * @returns IntradayDataResponse
490
+ */
491
+ getIntradayData(code: string, params: IntradayDataParams, options?: RequestOptions): Promise<IntradayDataResponse>;
492
+ /**
493
+ * Index Intraday Data
494
+ *
495
+ * Get intraday data for an index with the latest date.
496
+ *
497
+ * Data Retrieval Modes:
498
+ * - Realtime: During trading hours - uses realtime data
499
+ * - Latest: Outside trading hours - uses the latest trading day's daily data
500
+ *
501
+ * Response:
502
+ * - code: Index code
503
+ * - open: Index opening value
504
+ * - high: Index highest value
505
+ * - low: Index lowest value
506
+ * - close: Index last/closing value
507
+ * - volume: Trading volume (shares)
508
+ * - freq: Trade frequency (count)
509
+ * - value: Trading value (Rupiah)
510
+ * - prev: Index closing value on the previous trading day
511
+ * - positive: Number of advancing stocks
512
+ * - negative: Number of declining stocks
513
+ * - neutral: Number of unchanged stocks
514
+ * - suspend: Number of untraded/suspended stocks
515
+ * - market_cap: Market capitalization (Rupiah)
516
+ * - market_value: Market value (Rupiah); outside trading hours equals value
517
+ *
518
+ * Update: Real-time
519
+ *
520
+ * `GET /analysis/intraday-index/{code}` — cached (`cache.realtimeTtl`).
521
+ * @see https://invezgo.com/id/chart/BBCA
522
+ *
523
+ * @param code Kode indeks BEI, mis. `COMPOSITE` (IHSG), `LQ45`, atau `IDX30`. Daftar kode tersedia di `/analysis/list/index`. Example: `COMPOSITE`.
524
+ * @param options Per-request options (e.g. `signal`).
525
+ * @returns IntradayIndexResponse
526
+ */
527
+ getIntradayIndex(code: string, options?: RequestOptions): Promise<IntradayIndexResponse>;
528
+ /**
529
+ * Stock Chart
530
+ *
531
+ * Get complete stock price chart data with OHLCV data for a specific period.
532
+ *
533
+ * Response:
534
+ * - date: Trading date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
535
+ * - open: Opening price (Rupiah)
536
+ * - high: Highest price (Rupiah)
537
+ * - low: Lowest price (Rupiah)
538
+ * - close: Closing price (Rupiah); today's candle uses the realtime price during trading hours
539
+ * - volume: Trading volume (shares)
540
+ *
541
+ * Update: Realtime
542
+ *
543
+ * Limited to data for the last 2 years
544
+ * Initial Data: 2010-01-01 [ENTERPRISE]
545
+ *
546
+ * `GET /analysis/chart/stock/{code}` — cached (`cache.realtimeTtl`).
547
+ * @see https://invezgo.com/id/chart/BBCA
548
+ *
549
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
550
+ * @param params Query parameters.
551
+ * @param options Per-request options (e.g. `signal`).
552
+ * @returns AdvanceChartResponse
553
+ */
554
+ getAdvanceChart(code: string, params?: AdvanceChartParams, options?: RequestOptions): Promise<AdvanceChartResponse>;
555
+ /**
556
+ * Index Chart
557
+ *
558
+ * Get complete index price chart data with OHLCV data for a specific period.
559
+ *
560
+ * Response:
561
+ * - date: Trading date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
562
+ * - open: Index opening value
563
+ * - high: Index highest value
564
+ * - low: Index lowest value
565
+ * - close: Index closing value; today's candle uses the realtime value during trading hours
566
+ * - volume: Trading volume (shares)
567
+ *
568
+ * Update: Realtime
569
+ *
570
+ * Limited to data for the last 2 years
571
+ * Initial Data: 2021-01-01 [ENTERPRISE]
572
+ *
573
+ * `GET /analysis/chart/index/{code}` — cached (`cache.realtimeTtl`).
574
+ * @see https://invezgo.com/id/chart/index/COMPOSITE
575
+ *
576
+ * @param code Kode indeks BEI, mis. `COMPOSITE` (IHSG), `LQ45`, atau `IDX30`. Daftar kode tersedia di `/analysis/list/index`. Example: `COMPOSITE`.
577
+ * @param params Query parameters.
578
+ * @param options Per-request options (e.g. `signal`).
579
+ * @returns IndexChartResponse
580
+ */
581
+ getIndexChart(code: string, params: IndexChartParams, options?: RequestOptions): Promise<IndexChartResponse>;
582
+ /**
583
+ * Stock/Index Multi Timeframe Chart
584
+ *
585
+ * Get multi-timeframe chart data for stocks or indexes.
586
+ *
587
+ * Response:
588
+ * - date: Candle start time (WIB (UTC+7) DateTime, e.g. 2026-10-16T09:01:00.000Z = 16 Oct 2026 09:01 WIB; the Z suffix does not mean UTC, do not convert the time zone)
589
+ * - open: Candle opening price/value
590
+ * - high: Candle highest price/value
591
+ * - low: Candle lowest price/value
592
+ * - close: Candle closing price/value
593
+ * - volume: Candle trading volume (shares)
594
+ *
595
+ * Supports:
596
+ * - Stocks (e.g., BBCA, BBRI, TLKM)
597
+ * - Indexes (e.g., COMPOSITE, LQ45, IDX30)
598
+ *
599
+ * Available Timeframes & Limitations:
600
+ * - 1: 1 minute (Limitation: Last 3 Months)
601
+ * - 5: 5 minutes (Limitation: Last 6 Months)
602
+ * - 15: 15 minutes (Limitation: Last 1 Year)
603
+ * - 30: 30 minutes (Limitation: Last 2 Years)
604
+ * - 60: 1 hour (Limitation: Last 2 Years)
605
+ * - D: Daily (Limitation: Last 2 Years)
606
+ * - W: Weekly (Limitation: Last 2 Years)
607
+ * - M: Monthly (Limitation: Last 2 Years)
608
+ *
609
+ * Update: Realtime
610
+ *
611
+ * Notes:
612
+ * - timeframe defaults to D when omitted and must be uppercase
613
+ * - The from-to range is also limited by the timeframe limitation
614
+ * - Use uppercase codes
615
+ * - When no data is available, the response is an empty array
616
+ *
617
+ * `GET /analysis/chart/multi-time/{code}` — cached (`cache.realtimeTtl`).
618
+ * @see https://invezgo.com/id/chart/BBCA
619
+ *
620
+ * @param code Kode saham (mis. `BBCA`) atau kode indeks (mis. `COMPOSITE`). Daftar kode tersedia di `/analysis/list/stock` dan `/analysis/list/index`. Example: `BBCA`.
621
+ * @param params Query parameters.
622
+ * @param options Per-request options (e.g. `signal`).
623
+ * @returns MultiTimeChartResponse
624
+ */
625
+ getMultiTimeChart(code: string, params: MultiTimeChartParams, options?: RequestOptions): Promise<MultiTimeChartResponse>;
626
+ /**
627
+ * Stock Chart Indicator
628
+ *
629
+ * Get chart data with technical indicators for stock price analysis in a specific period.
630
+ *
631
+ * Response:
632
+ * - date: Trading date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
633
+ * - value: Indicator value for {indicator} (bdm, foreign, ratio, ritel, freq, lpm, corr_f, par_f, intensity, vol_ratio) on that date
634
+ *
635
+ * Update: End of Day (EOD) every day at 18:00 WIB
636
+ *
637
+ * Limited to data for the last 2 years
638
+ * Initial Data: 2010-01-01 [ENTERPRISE]
639
+ *
640
+ * `GET /analysis/chart/stock/{indicator}/{code}` — cached (`cache.ttl`).
641
+ * @see https://invezgo.com/id/chart/BBCA
642
+ *
643
+ * @param indicator Indikator yang ditampilkan pada chart: `bdm` = aliran dana bandar, `foreign` = net beli/jual asing, `ritel` = aliran dana ritel, `freq` = frekuensi transaksi, `ratio` = rasio, `lpm` = Liquidity Pressure Model, `corr_f` = Correlation Foreign, `par_f` = Participation Foreign, `intensity` = Intensity, `vol_ratio` = Volume Rotation. Wajib huruf kecil. Example: `bdm`.
644
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
645
+ * @param params Query parameters.
646
+ * @param options Per-request options (e.g. `signal`).
647
+ * @returns IndicatorChartResponse
648
+ */
649
+ getIndicatorChart(indicator: "bdm" | "foreign" | "ratio" | "ritel" | "freq" | "lpm" | "corr_f" | "par_f" | "intensity" | "vol_ratio", code: string, params: IndicatorChartParams, options?: RequestOptions): Promise<IndicatorChartResponse>;
650
+ /**
651
+ * Stock Shareholder 5%
652
+ *
653
+ * Get company stock ownership data for a specific period.
654
+ *
655
+ * Response:
656
+ * - code: Stock code
657
+ * - name: Shareholder name
658
+ * - date: Ownership report date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone); all historical periods are returned (time series)
659
+ * - val: Number of shares held (shares, as a string)
660
+ * - percent: Ownership percentage of total shares (%)
661
+ *
662
+ * Update: Monthly according to each company's report
663
+ *
664
+ * `GET /analysis/shareholder-detail` — cached (`cache.ttl`).
665
+ * @see https://invezgo.com/id/analysis/shareholder/BBCA
666
+ *
667
+ * @param params Query parameters.
668
+ * @param options Per-request options (e.g. `signal`).
669
+ * @returns ShareholderDetailResponse
670
+ */
671
+ getShareholderDetail(params?: ShareholderDetailParams, options?: RequestOptions): Promise<ShareholderDetailResponse>;
672
+ /**
673
+ * Stock Shareholder 1%
674
+ *
675
+ * Get company stock ownership data based on stock code or shareholder name.
676
+ *
677
+ * Response:
678
+ * - code: Stock code
679
+ * - name: Shareholder name (ownership > 1%)
680
+ * - type: KSEI investor type (e.g. CP Corporate, ID Individual, IB Financial Institution, IS Insurance, PF Pension Fund, MF Mutual Fund, SC Securities, FD Foundation, OT Other)
681
+ * - status: Investor status: LOCAL (domestic) or FOREIGN
682
+ * - nationality: Shareholder nationality (may be an empty string)
683
+ * - domicile: Shareholder domicile
684
+ * - scripless: Number of scripless shares (shares, string)
685
+ * - scrip: Number of scrip (certificated) shares (shares, string)
686
+ * - total: Total shares held, scripless + scrip (shares, string)
687
+ * - percentage: Ownership percentage of total shares (%); latest report date only, sorted largest first
688
+ *
689
+ * Update: Monthly according to each company's report
690
+ *
691
+ * `GET /analysis/shareholder-detail-one` — cached (`cache.ttl`).
692
+ * @see https://invezgo.com/id/analysis/shareholder/BBCA
693
+ *
694
+ * @param params Query parameters.
695
+ * @param options Per-request options (e.g. `signal`).
696
+ * @returns ShareholderOneDetailResponse
697
+ */
698
+ getShareholderOneDetail(params?: ShareholderOneDetailParams, options?: RequestOptions): Promise<ShareholderOneDetailResponse>;
699
+ /**
700
+ * Stock High Concentration
701
+ *
702
+ * Get high concentration stock ownership data for all issuers.
703
+ *
704
+ * Response:
705
+ * - code: Stock code (one row per stock, alphabetical)
706
+ * - date: Latest concentration report date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
707
+ * - percentage: High ownership concentration percentage (%)
708
+ *
709
+ * Update: Monthly according to each company's report
710
+ *
711
+ * `GET /analysis/shareholder/high` — cached (`cache.ttl`).
712
+ *
713
+ * @param options Per-request options (e.g. `signal`).
714
+ * @returns ShareholderHighResponse
715
+ */
716
+ getShareholderHigh(options?: RequestOptions): Promise<ShareholderHighResponse>;
717
+ /**
718
+ * Stock Shareholder Number
719
+ *
720
+ * Get the number of investors/shareholders of a company for a specific period.
721
+ *
722
+ * Response:
723
+ * - code: Stock code
724
+ * - date: Data date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone); last 2 years, oldest first
725
+ * - value: Number of shareholders/investors (people)
726
+ * - price: Stock price (Rupiah, string) from the latest KSEI record on/before that date; null if none
727
+ *
728
+ * Update: Monthly according to each company's report
729
+ *
730
+ * Limited to data for the last 2 years
731
+ * Initial Data: 2020-01-01 [ENTERPRISE]
732
+ *
733
+ * `GET /analysis/shareholder/number/{code}` — cached (`cache.ttl`).
734
+ * @see https://invezgo.com/id/analysis/shareholder/BBCA
735
+ *
736
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
737
+ * @param options Per-request options (e.g. `signal`).
738
+ * @returns ShareholderNumberResponse
739
+ */
740
+ getShareholderNumber(code: string, options?: RequestOptions): Promise<ShareholderNumberResponse>;
741
+ /**
742
+ * Stock Shareholder Relation
743
+ *
744
+ * Get bidirectional shareholder relation graph data based on the latest stock ownership data.
745
+ *
746
+ * Response:
747
+ * - nodes: Graph nodes (stocks and shareholder entities), sorted by depth, type, then label; each item contains:
748
+ * - id: Node ID, format stock:<CODE> or entity:<NORMALIZED NAME>
749
+ * - type: Node type: stock or entity
750
+ * - kind: Node classification: root (starting point), stock, or for entities individual / corporate / institution / other / unknown
751
+ * - label: Display label (stock code or entity name)
752
+ * - root: true if the node is the search starting point (code/name)
753
+ * - depth: Hop distance from the root node (0 = root, up to the depth parameter 1-4)
754
+ * - percentage: Largest ownership percentage among connected relations (%); null if unknown
755
+ * - source_type: Selected relation data source: subsidiary, ksei, ubo, or idx (priority in that order); absent if the node has no relation yet
756
+ * - code: (stock nodes only) Stock code
757
+ * - company_name: (stock nodes only) Company name; null if unavailable
758
+ * - logo: (stock nodes only) Company icon image URL; null if unavailable
759
+ * - name: (entity nodes only) Shareholder/entity name
760
+ * - entity_type: (entity nodes only) KSEI investor type (e.g. CP, ID, IB); null if unavailable
761
+ * - entity_status: (entity nodes only) Investor status (e.g. LOCAL/FOREIGN); null if unavailable
762
+ * - nationality: (entity nodes only) Nationality; null if unavailable
763
+ * - domicile: (entity nodes only) Domicile; null if unavailable
764
+ * - edges: Ownership relations stock -> shareholder, sorted by largest percentage; each item contains:
765
+ * - id: Relation ID, format <source>|<target>
766
+ * - source: Stock node ID (stock:<CODE>)
767
+ * - target: Shareholder node ID (entity:<NORMALIZED NAME>)
768
+ * - code: Code of the stock that is held
769
+ * - name: Shareholder name
770
+ * - normalized_name: Shareholder name uppercased with whitespace collapsed
771
+ * - percentage: Ownership percentage (%); null if unknown
772
+ * - weight: Relation weight for visualization, equal to percentage or 0.5 when percentage is null
773
+ * - source_type: Relation data source: subsidiary, ksei, ubo (beneficial owner), or idx
774
+ *
775
+ * Update: Daily according to data availability
776
+ *
777
+ * `GET /analysis/shareholder/relation` — cached (`cache.ttl`).
778
+ *
779
+ * @param params Query parameters.
780
+ * @param options Per-request options (e.g. `signal`).
781
+ * @returns ShareholderRelationResponse
782
+ */
783
+ getShareholderRelation(params?: ShareholderRelationParams, options?: RequestOptions): Promise<ShareholderRelationResponse>;
784
+ /**
785
+ * Stock Shareholder Composition
786
+ *
787
+ * Get company stock ownership composition data based on the largest shareholders on the latest date.
788
+ *
789
+ * Response:
790
+ * - name: Shareholder name (controller, affiliates, directors/commissioners, etc.); treasury, total and public rows are excluded
791
+ * - percentage: Ownership percentage (%) on the latest report date, sorted largest first
792
+ * - badge: Position/label as curly-brace text, e.g. {PENGENDALI}, {DIREKSI}, {KOMISARIS}, or {} if none
793
+ *
794
+ * Update: Monthly according to each company's report
795
+ *
796
+ * `GET /analysis/shareholder/{code}` — cached (`cache.ttl`).
797
+ * @see https://invezgo.com/id/analysis/shareholder/BBCA
798
+ *
799
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
800
+ * @param options Per-request options (e.g. `signal`).
801
+ * @returns ShareholderResponse
802
+ */
803
+ getShareholder(code: string, options?: RequestOptions): Promise<ShareholderResponse>;
804
+ /**
805
+ * Stock Shareholder KSEI
806
+ *
807
+ * Get shareholder data based on KSEI classification (foreign and domestic investors in various groups) for a specific period.
808
+ *
809
+ * Response:
810
+ * - code: Stock code
811
+ * - date: Data date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone); the latest `range` monthly periods, oldest first
812
+ * - price: Stock price on the data date (Rupiah, string)
813
+ * - foreign_is / local_is: Shares held by foreign / domestic Insurance (IS) investors (shares, string)
814
+ * - foreign_cp / local_cp: Shares held by foreign / domestic Corporate (CP) investors (shares, string)
815
+ * - foreign_pf / local_pf: Shares held by foreign / domestic Pension Fund (PF) investors (shares, string)
816
+ * - foreign_ib / local_ib: Shares held by foreign / domestic Financial Institution (IB) investors (shares, string)
817
+ * - foreign_id / local_id: Shares held by foreign / domestic Individual (ID) investors (shares, string)
818
+ * - foreign_mf / local_mf: Shares held by foreign / domestic Mutual Fund (MF) investors (shares, string)
819
+ * - foreign_sc / local_sc: Shares held by foreign / domestic Securities/Broker (SC) investors (shares, string)
820
+ * - foreign_fd / local_fd: Shares held by foreign / domestic Foundation (FD) investors (shares, string)
821
+ * - foreign_ot / local_ot: Shares held by foreign / domestic Other (OT) investors (shares, string)
822
+ *
823
+ * Investor Group:
824
+ * - SC: Broker
825
+ * - ID: Individual
826
+ * - CP: Corporate
827
+ * - OT: Other
828
+ * - IB: Financial Institution
829
+ * - IS: Insurance
830
+ * - FD: Foundation
831
+ * - MF: Mutual Fund
832
+ * - PF: Pension Fund
833
+ *
834
+ * Investor Classification:
835
+ * - Foreign: Investor Asing
836
+ * - Local: Investor Domestik
837
+ *
838
+ * Update: 2nd of every month
839
+ *
840
+ * Limited to data for the last 2 years
841
+ * Initial Data: 2009-03-01 [ENTERPRISE]
842
+ *
843
+ * `GET /analysis/shareholder/ksei/{code}` — cached (`cache.ttl`).
844
+ * @see https://invezgo.com/id/analysis/shareholder/BBCA
845
+ *
846
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
847
+ * @param params Query parameters.
848
+ * @param options Per-request options (e.g. `signal`).
849
+ * @returns ShareholderKSEIResponse
850
+ */
851
+ getShareholderKSEI(code: string, params: ShareholderKSEIParams, options?: RequestOptions): Promise<ShareholderKSEIResponse>;
852
+ /**
853
+ * Stock Shareholder Full Classification
854
+ *
855
+ * Get complete shareholder data with all investor classifications for a specific period.
856
+ *
857
+ * Response:
858
+ * - code: Stock code
859
+ * - date: Data date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone); the latest `range` monthly periods, oldest first
860
+ * - local_{xx} / foreign_{xx}: Shares held by domestic / foreign investors for each classification code {xx} below (e.g. local_bk, foreign_bk) (shares, string)
861
+ * - {xx}: local_{xx} + foreign_{xx} (shares, string)
862
+ * - bk: Shares held by Bank investors (shares, string)
863
+ * - gv: Shares held by Government investors (shares, string)
864
+ * - pe: Shares held by Private Equity investors (shares, string)
865
+ * - tb: Shares held by Trustee Bank investors (shares, string)
866
+ * - vc: Shares held by Venture Capital investors (shares, string)
867
+ * - pb: Shares held by Private Bank investors (shares, string)
868
+ * - ef: Shares held by Exchange Traded Fund (ETF) investors (shares, string)
869
+ * - im: Shares held by Investment Manager investors (shares, string)
870
+ * - ia: Shares held by Investment Advisor investors (shares, string)
871
+ * - br: Shares held by Brokerage Firm investors (shares, string)
872
+ * - hf: Shares held by Hedge Fund investors (shares, string)
873
+ * - sw: Shares held by Sovereign Wealth Fund investors (shares, string)
874
+ * - cm: Shares held by Capital Market Supporting Institution investors (shares, string)
875
+ * - cv: Shares held by Commanditaire Vennootschap (CV) investors (shares, string)
876
+ * - fm: Shares held by Firm investors (shares, string)
877
+ * - sa: Shares held by Investment Fund Selling Agent investors (shares, string)
878
+ * - pp: Shares held by Peer to Peer Lending investors (shares, string)
879
+ * - ps: Shares held by Permanent Establishment investors (shares, string)
880
+ * - sp: Shares held by Sole Proprietorship investors (shares, string)
881
+ * - cr: Shares held by Corporate investors (shares, string)
882
+ * - as: Shares held by Association / Social Organization investors (shares, string)
883
+ * - so: Shares held by State Owned Enterprise investors (shares, string)
884
+ * - cb: Shares held by Central Bank investors (shares, string)
885
+ * - oc: Shares held by State Owned Company investors (shares, string)
886
+ * - dc: Shares held by Diocese investors (shares, string)
887
+ * - cn: Shares held by Conference investors (shares, string)
888
+ * - cg: Shares held by Congregation investors (shares, string)
889
+ * - cp: Shares held by Cooperative investors (shares, string)
890
+ * - io: Shares held by International Organization investors (shares, string)
891
+ * - pl: Shares held by Political Party investors (shares, string)
892
+ * - pt: Shares held by Partnership investors (shares, string)
893
+ * - ed: Shares held by Educational Institution investors (shares, string)
894
+ * - mf: Shares held by Mutual Fund investors (shares, string)
895
+ * - sc: Shares held by Securities Company investors (shares, string)
896
+ * - pf: Shares held by Pension Fund investors (shares, string)
897
+ * - ib: Shares held by Financial Institution investors (shares, string)
898
+ * - is: Shares held by Insurance investors (shares, string)
899
+ * - fd: Shares held by Foundation investors (shares, string)
900
+ * - in: Shares held by Individual investors (shares, string)
901
+ * - total_foreign: Total shares held by foreign investors (shares, string)
902
+ * - total_local: Total shares held by domestic investors (shares, string)
903
+ * - total: Total shares across all classifications (shares, string)
904
+ *
905
+ * Investor Classification:
906
+ * - BK: Bank
907
+ * - GV: Government
908
+ * - PE: Private Equity
909
+ * - TB: Trustee Bank
910
+ * - VC: Venture Capital
911
+ * - PB: Private Bank
912
+ * - EF: Exchange Traded Funds
913
+ * - IM: Investment Manager
914
+ * - IA: Investment Advisors
915
+ * - BR: Brokerage Firms
916
+ * - HF: Hedge Fund
917
+ * - SW: Sovereign Wealth Fund
918
+ * - CM: Capital Market Supporting Institutions and Professions
919
+ * - CV: Commanditaire Vennootschap (CV)
920
+ * - FM: Firm
921
+ * - SA: Investment Fund Selling Agent
922
+ * - PP: Peer to Peer Lending
923
+ * - PS: Permanent Establishment
924
+ * - SP: Sole Proprietorship
925
+ * - CR: Corporate
926
+ * - AS: Association / Social Organizations
927
+ * - SO: State Owned Enterprises
928
+ * - CB: Central Bank
929
+ * - OC: State Owned Company
930
+ * - DC: Diocese
931
+ * - CN: Conference
932
+ * - CG: Congregation
933
+ * - CP: Cooperatives
934
+ * - IO: International Organization
935
+ * - PL: Political Parties
936
+ * - PT: Partnership
937
+ * - ED: Educational Institution
938
+ * - MF: Mutual Funds
939
+ * - SC: Securities Company
940
+ * - PF: Pension Funds
941
+ * - IB: Financial Institutional
942
+ * - IS: Insurance
943
+ * - FD: Foundation
944
+ * - IN: Individual
945
+ *
946
+ * `GET /analysis/shareholder/classification/{code}` — cached (`cache.ttl`).
947
+ *
948
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
949
+ * @param params Query parameters.
950
+ * @param options Per-request options (e.g. `signal`).
951
+ * @returns ShareholderClassificationResponse
952
+ */
953
+ getShareholderClassification(code: string, params: ShareholderClassificationParams, options?: RequestOptions): Promise<ShareholderClassificationResponse>;
954
+ /**
955
+ * Stock Shareholder Classification Table
956
+ *
957
+ * Get latest shareholder data with investor classifications in table format.
958
+ *
959
+ * Response:
960
+ * - code: Stock code (response is a single latest-record object, without a date field; null if no data)
961
+ * - local_{xx} / foreign_{xx}: Shares held by domestic / foreign investors for each classification code {xx} below (e.g. local_bk, foreign_bk) (shares, string)
962
+ * - {xx}: local_{xx} + foreign_{xx} (shares, string)
963
+ * - bk: Shares held by Bank investors (shares, string)
964
+ * - gv: Shares held by Government investors (shares, string)
965
+ * - pe: Shares held by Private Equity investors (shares, string)
966
+ * - tb: Shares held by Trustee Bank investors (shares, string)
967
+ * - vc: Shares held by Venture Capital investors (shares, string)
968
+ * - pb: Shares held by Private Bank investors (shares, string)
969
+ * - ef: Shares held by Exchange Traded Fund (ETF) investors (shares, string)
970
+ * - im: Shares held by Investment Manager investors (shares, string)
971
+ * - ia: Shares held by Investment Advisor investors (shares, string)
972
+ * - br: Shares held by Brokerage Firm investors (shares, string)
973
+ * - hf: Shares held by Hedge Fund investors (shares, string)
974
+ * - sw: Shares held by Sovereign Wealth Fund investors (shares, string)
975
+ * - cm: Shares held by Capital Market Supporting Institution investors (shares, string)
976
+ * - cv: Shares held by Commanditaire Vennootschap (CV) investors (shares, string)
977
+ * - fm: Shares held by Firm investors (shares, string)
978
+ * - sa: Shares held by Investment Fund Selling Agent investors (shares, string)
979
+ * - pp: Shares held by Peer to Peer Lending investors (shares, string)
980
+ * - ps: Shares held by Permanent Establishment investors (shares, string)
981
+ * - sp: Shares held by Sole Proprietorship investors (shares, string)
982
+ * - cr: Shares held by Corporate investors (shares, string)
983
+ * - as: Shares held by Association / Social Organization investors (shares, string)
984
+ * - so: Shares held by State Owned Enterprise investors (shares, string)
985
+ * - cb: Shares held by Central Bank investors (shares, string)
986
+ * - oc: Shares held by State Owned Company investors (shares, string)
987
+ * - dc: Shares held by Diocese investors (shares, string)
988
+ * - cn: Shares held by Conference investors (shares, string)
989
+ * - cg: Shares held by Congregation investors (shares, string)
990
+ * - cp: Shares held by Cooperative investors (shares, string)
991
+ * - io: Shares held by International Organization investors (shares, string)
992
+ * - pl: Shares held by Political Party investors (shares, string)
993
+ * - pt: Shares held by Partnership investors (shares, string)
994
+ * - ed: Shares held by Educational Institution investors (shares, string)
995
+ * - mf: Shares held by Mutual Fund investors (shares, string)
996
+ * - sc: Shares held by Securities Company investors (shares, string)
997
+ * - pf: Shares held by Pension Fund investors (shares, string)
998
+ * - ib: Shares held by Financial Institution investors (shares, string)
999
+ * - is: Shares held by Insurance investors (shares, string)
1000
+ * - fd: Shares held by Foundation investors (shares, string)
1001
+ * - in: Shares held by Individual investors (shares, string)
1002
+ * - total_foreign: Total shares held by foreign investors (shares, string)
1003
+ * - total_local: Total shares held by domestic investors (shares, string)
1004
+ * - total: Total shares across all classifications (shares, string)
1005
+ *
1006
+ * Investor Classification:
1007
+ * - BK: Bank
1008
+ * - GV: Government
1009
+ * - PE: Private Equity
1010
+ * - TB: Trustee Bank
1011
+ * - VC: Venture Capital
1012
+ * - PB: Private Bank
1013
+ * - EF: Exchange Traded Funds
1014
+ * - IM: Investment Manager
1015
+ * - IA: Investment Advisors
1016
+ * - BR: Brokerage Firms
1017
+ * - HF: Hedge Fund
1018
+ * - SW: Sovereign Wealth Fund
1019
+ * - CM: Capital Market Supporting Institutions and Professions
1020
+ * - CV: Commanditaire Vennootschap (CV)
1021
+ * - FM: Firm
1022
+ * - SA: Investment Fund Selling Agent
1023
+ * - PP: Peer to Peer Lending
1024
+ * - PS: Permanent Establishment
1025
+ * - SP: Sole Proprietorship
1026
+ * - CR: Corporate
1027
+ * - AS: Association / Social Organizations
1028
+ * - SO: State Owned Enterprises
1029
+ * - CB: Central Bank
1030
+ * - OC: State Owned Company
1031
+ * - DC: Diocese
1032
+ * - CN: Conference
1033
+ * - CG: Congregation
1034
+ * - CP: Cooperatives
1035
+ * - IO: International Organization
1036
+ * - PL: Political Parties
1037
+ * - PT: Partnership
1038
+ * - ED: Educational Institution
1039
+ * - MF: Mutual Funds
1040
+ * - SC: Securities Company
1041
+ * - PF: Pension Funds
1042
+ * - IB: Financial Institutional
1043
+ * - IS: Insurance
1044
+ * - FD: Foundation
1045
+ * - IN: Individual
1046
+ *
1047
+ * `GET /analysis/shareholder/classify-table/{code}` — cached (`cache.ttl`).
1048
+ *
1049
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1050
+ * @param options Per-request options (e.g. `signal`).
1051
+ * @returns ShareholderClassifyTableResponse | null
1052
+ */
1053
+ getShareholderClassifyTable(code: string, options?: RequestOptions): Promise<ShareholderClassifyTableResponse | null>;
1054
+ /**
1055
+ * Stock Free Float
1056
+ *
1057
+ * Get the issuer's monthly free float share data for a specific period.
1058
+ *
1059
+ * Response:
1060
+ * - code: Stock code
1061
+ * - date: Data date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone); the latest `range` monthly periods, oldest first
1062
+ * - public: Scripless shares held by all shareholders with less than 5% (shares, string)
1063
+ * - management: Scripless shares held by the Board of Directors and Commissioners, less than 5% (shares, string)
1064
+ * - controller: Scripless shares held by the Controller, less than 5% (shares, string)
1065
+ * - affiliate: Scripless shares held by Affiliates of the Controller, less than 5% (shares, string)
1066
+ * - treasury: Scripless treasury shares, less than 5% (shares, string)
1067
+ * - lock_up: Shares under a transfer restriction (lock up), less than 5% (shares, string)
1068
+ * - private: Scripless shares held by Venture Capital and Private Equity firms, less than 5% (shares, string)
1069
+ * - law: Scripless shares seized or blocked by law enforcement or a competent authority, less than 5% (shares, string)
1070
+ * - other: Shares whose beneficial owners are public investors approved by the Exchange to count as Free Float (shares, string)
1071
+ * - total: Free Float shares (shares, string)
1072
+ * - share: Shares listed on the Exchange at month end (shares, string)
1073
+ * - free: Free Float percentage (%, number, e.g. 48.01)
1074
+ * - not_record_value_prev: Unlisted shares, previous month (shares, string; null if absent)
1075
+ * - not_record_pct_prev: Unlisted shares percentage, previous month (%, number; null if absent)
1076
+ * - not_record_value_next: Unlisted shares, current month (shares, string; null if absent)
1077
+ * - not_record_pct_next: Unlisted shares percentage, current month (%, number; null if absent)
1078
+ *
1079
+ * Update: Monthly according to each company's report
1080
+ *
1081
+ * Initial Data: 2026-09-01 [ENTERPRISE]
1082
+ *
1083
+ * `GET /analysis/free-float/{code}` — cached (`cache.ttl`).
1084
+ *
1085
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1086
+ * @param params Query parameters.
1087
+ * @param options Per-request options (e.g. `signal`).
1088
+ * @returns FreeFloatResponse
1089
+ */
1090
+ getFreeFloat(code: string, params: FreeFloatParams, options?: RequestOptions): Promise<FreeFloatResponse>;
1091
+ /**
1092
+ * Stock Broker Summary
1093
+ *
1094
+ * Get detailed trading broker activity analysis for a specific stock within a specific time period.
1095
+ *
1096
+ * Response:
1097
+ * - code: Broker code (2 letters)
1098
+ * - buy_freq: Total broker buy frequency over the period (numeric string)
1099
+ * - buy_volume: Total buy volume in shares (numeric string)
1100
+ * - buy_value: Total buy value in Rupiah (numeric string)
1101
+ * - sell_freq: Total broker sell frequency over the period (numeric string)
1102
+ * - sell_volume: Total sell volume in shares (numeric string)
1103
+ * - sell_value: Total sell value in Rupiah (numeric string)
1104
+ * - buy_avg: Average buy price in Rupiah (buy_value / buy_volume, decimal string; null when buy_volume is 0)
1105
+ * - sell_avg: Average sell price in Rupiah (sell_value / sell_volume, decimal string; null when sell_volume is 0)
1106
+ * - net_value: Net value in Rupiah (buy_value - sell_value; positive = net buy, numeric string)
1107
+ * - net_volume: Net volume in shares (buy_volume - sell_volume, numeric string)
1108
+ * - net_freq: Net frequency (buy_freq - sell_freq, numeric string)
1109
+ * - name: Full broker name (the broker code if unknown)
1110
+ *
1111
+ * Update: End of Day (EOD) every day at 18:00 WIB
1112
+ *
1113
+ * Limited to data for the last 2 years
1114
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1115
+ *
1116
+ * `GET /analysis/summary/stock/{code}` — cached (`cache.ttl`).
1117
+ * @see https://invezgo.com/id/analysis/summary/stock/BBCA?transaction=true&investor=all
1118
+ *
1119
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1120
+ * @param params Query parameters.
1121
+ * @param options Per-request options (e.g. `signal`).
1122
+ * @returns SummaryStockResponse
1123
+ */
1124
+ getSummaryStock(code: string, params: SummaryStockParams, options?: RequestOptions): Promise<SummaryStockResponse>;
1125
+ /**
1126
+ * Broker Broker Summary
1127
+ *
1128
+ * Get detailed trading activity analysis for a specific broker for all stocks within a specific time period.
1129
+ *
1130
+ * Response:
1131
+ * - code: Stock code
1132
+ * - buy_freq: Total broker buy frequency on this stock (numeric string)
1133
+ * - buy_volume: Total buy volume in shares (numeric string)
1134
+ * - buy_value: Total buy value in Rupiah (numeric string)
1135
+ * - sell_freq: Total broker sell frequency on this stock (numeric string)
1136
+ * - sell_volume: Total sell volume in shares (numeric string)
1137
+ * - sell_value: Total sell value in Rupiah (numeric string)
1138
+ * - buy_avg: Average buy price in Rupiah (buy_value / buy_volume, decimal string; null when buy_volume is 0)
1139
+ * - sell_avg: Average sell price in Rupiah (sell_value / sell_volume, decimal string; null when sell_volume is 0)
1140
+ * - net_value: Net value in Rupiah (buy_value - sell_value; positive = net buy, numeric string)
1141
+ * - net_volume: Net volume in shares (buy_volume - sell_volume, numeric string)
1142
+ * - net_freq: Net frequency (buy_freq - sell_freq, numeric string)
1143
+ *
1144
+ * Update: End of Day (EOD) every day at 18:00 WIB
1145
+ *
1146
+ * Limited to data for the last 2 years
1147
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1148
+ *
1149
+ * `GET /analysis/summary/broker/{code}` — cached (`cache.ttl`).
1150
+ * @see https://invezgo.com/id/analysis/summary/broker/AG?transaction=true&investor=all
1151
+ *
1152
+ * @param code Kode broker anggota bursa (2 huruf), mis. `AK`. Dapat berisi beberapa kode yang dipisahkan koma, mis. `AK,BK,YP`. Daftar broker tersedia di `/analysis/list/broker`. Kode yang tidak terdiri dari 2 karakter akan diabaikan. Example: `AK,BK`.
1153
+ * @param params Query parameters.
1154
+ * @param options Per-request options (e.g. `signal`).
1155
+ * @returns SummaryBrokerResponse
1156
+ */
1157
+ getSummaryBroker(code: string, params: SummaryBrokerParams, options?: RequestOptions): Promise<SummaryBrokerResponse>;
1158
+ /**
1159
+ * Sector Stalker
1160
+ *
1161
+ * Get sectoral index or stock price movement data within a specific time range.
1162
+ *
1163
+ * Response:
1164
+ * - index: List of price series, each item contains:
1165
+ * - index: Index code (base = COMPOSITE: IDXENERGY, IDXBASIC, IDXINDUST, IDXNONCYC, IDXCYCLIC, IDXHEALTH, IDXFINANCE, IDXPROPERT, IDXTECHNO, IDXINFRA, IDXTRANS, COMPOSITE) or stock code (other base: first item is the base index, then its member stocks sorted by highest latest change)
1166
+ * - data: Daily close-price series, each item contains:
1167
+ * - date: Date (YYYY-MM-DD)
1168
+ * - value: Close price normalized to base 100 on the first date (2 decimals)
1169
+ *
1170
+ * Stock Filter (only for base other than COMPOSITE):
1171
+ * You can filter stocks based on stock data values on the last date in the range.
1172
+ *
1173
+ * Filter Examples:
1174
+ * - filter_column=change&filter_operator=>&filter_value=5 → Stocks with change > 5%
1175
+ * - filter_column=value&filter_operator=>=&filter_value=1000000000 → Stocks with value >= 1 Billion
1176
+ * - filter_column=volume&filter_operator=>&filter_value=1000000 → Stocks with volume > 1 Million
1177
+ * - filter_column=foreign&filter_operator=>&filter_value=0 → Stocks with net foreign buy > 0
1178
+ *
1179
+ * Update: Every trading day after market close
1180
+ *
1181
+ * Limited to data for the last 2 years
1182
+ * Initial Data: 2010-01-01 [ENTERPRISE]
1183
+ *
1184
+ * Notes:
1185
+ * - When base = COMPOSITE: displays index prices data (default behavior)
1186
+ * - When base is changed to another index (e.g., IDX30): displays stock prices data from stocks included in that index
1187
+ * - Data normalized to base 100 to facilitate performance comparison
1188
+ *
1189
+ * `GET /analysis/stalker/sector` — cached (`cache.realtimeTtl`).
1190
+ *
1191
+ * @param params Query parameters.
1192
+ * @param options Per-request options (e.g. `signal`).
1193
+ * @returns SectorStalkerResponse
1194
+ */
1195
+ getSectorStalker(params: SectorStalkerParams, options?: RequestOptions): Promise<SectorStalkerResponse>;
1196
+ /**
1197
+ * Sector Rotation Chart
1198
+ *
1199
+ * Get sector rotation data for visualizing relative movement of sectoral indices or stocks.
1200
+ *
1201
+ * Response:
1202
+ * - benchmark: Benchmark index code (the base parameter, default COMPOSITE; ISSI when base = SYARIAH)
1203
+ * - lastDate: Date of the first item's last trail point (YYYY-MM-DD); equals the to parameter when data is empty
1204
+ * - data: List of sector indices (base = COMPOSITE) or member stocks of base (other base, max limit, default 20), each item contains:
1205
+ * - code: Sector index code or stock code
1206
+ * - name: Sector name (e.g. Energy, Financials) or company name
1207
+ * - trail: Latest movement points (max tail points, daily or weekly per interval), each item contains:
1208
+ * - date: Point date (YYYY-MM-DD)
1209
+ * - x: RS-Ratio, relative strength vs the benchmark normalized around 100 (range 60-140, 2 decimals)
1210
+ * - y: RS-Momentum, rate of change of RS-Ratio normalized around 100 (range 60-140, 2 decimals)
1211
+ * - quadrant: Quadrant of the last point: leading (x>=100, y>=100), weakening (x>=100, y<100), lagging (x<100, y<100), improving (x<100, y>=100)
1212
+ *
1213
+ * Stock Filter (only for base other than COMPOSITE):
1214
+ * You can filter stocks based on stock data values on the last date in the range.
1215
+ *
1216
+ * Filter Examples:
1217
+ * - filter_column=change&filter_operator=>&filter_value=5 → Stocks with change > 5%
1218
+ * - filter_column=value&filter_operator=>=&filter_value=1000000000 → Stocks with value >= 1 Billion
1219
+ * - filter_column=volume&filter_operator=>&filter_value=1000000 → Stocks with volume > 1 Million
1220
+ * - filter_column=foreign&filter_operator=>&filter_value=0 → Stocks with net foreign buy > 0
1221
+ *
1222
+ * Update: Every trading day after market close
1223
+ *
1224
+ * Limited to data for the last 2 years
1225
+ * Initial Data: 2010-01-01 [ENTERPRISE]
1226
+ *
1227
+ * Notes:
1228
+ * - When base = COMPOSITE: displays sectoral index data
1229
+ * - When base is changed to another index (e.g., IDX30): displays stock data from that index
1230
+ *
1231
+ * `GET /analysis/sector/rotation` — cached (`cache.realtimeTtl`).
1232
+ *
1233
+ * @param params Query parameters.
1234
+ * @param options Per-request options (e.g. `signal`).
1235
+ * @returns SectorRotationResponse
1236
+ */
1237
+ getSectorRotation(params: SectorRotationParams, options?: RequestOptions): Promise<SectorRotationResponse>;
1238
+ /**
1239
+ * Stock Broker Stalker
1240
+ *
1241
+ * Track a specific broker's trading activity on a specific stock in daily calendar format.
1242
+ *
1243
+ * Response:
1244
+ * - brokers: Tracked broker codes, sorted and comma-joined (e.g. AG,AK)
1245
+ * - stock: Stock code
1246
+ * - summary: Period summary, contains:
1247
+ * - active: Number of days with non-zero net value
1248
+ * - total: Accumulated net value over the whole period in Rupiah
1249
+ * - avg: Average net value per active day in Rupiah (total / active; 0 when there are no active days)
1250
+ * - peak: Day with the highest net buy, contains:
1251
+ * - date: Date (YYYY-MM-DD); null when no day has a positive net value
1252
+ * - value: Highest net value in Rupiah (0 when none)
1253
+ * - calendar: Daily data (only days with broker transactions, ascending date), each item contains:
1254
+ * - date: Date (YYYY-MM-DD)
1255
+ * - value: Daily net value in Rupiah (positive = net buy)
1256
+ * - buy_value: Buy value in Rupiah
1257
+ * - sell_value: Sell value in Rupiah
1258
+ * - volume: Net volume in shares
1259
+ * - buy_volume: Buy volume in shares
1260
+ * - sell_volume: Sell volume in shares
1261
+ * - buy_dom: Buy dominance in percent (buy_value / (buy_value + sell_value) x 100, 1 decimal)
1262
+ * - avg_buy: Average buy price in Rupiah (2 decimals; 0 when there is no buy)
1263
+ * - avg_sell: Average sell price in Rupiah (2 decimals; 0 when there is no sell)
1264
+ * - avg_net: Average net price in Rupiah (|net value| / |net volume|, 2 decimals; 0 when net volume is 0)
1265
+ *
1266
+ * Update: End of Day (EOD) every day at 18:00 WIB
1267
+ *
1268
+ * Limited to data for the last 2 years
1269
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1270
+ *
1271
+ * `GET /analysis/stalker/broker/{broker}/{stock}` — cached (`cache.ttl`).
1272
+ * @see https://invezgo.com/id/analysis/summary/broker/AG
1273
+ *
1274
+ * @param broker Kode broker anggota bursa (2 huruf), mis. `AK`. Dapat berisi beberapa kode yang dipisahkan koma, mis. `AK,BK,YP`. Daftar broker tersedia di `/analysis/list/broker`. Kode yang tidak terdiri dari 2 karakter akan diabaikan. Example: `AK,BK`.
1275
+ * @param stock Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1276
+ * @param params Query parameters.
1277
+ * @param options Per-request options (e.g. `signal`).
1278
+ * @returns BrokerStalkerResponse
1279
+ */
1280
+ getBrokerStalker(broker: string, stock: string, params: BrokerStalkerParams, options?: RequestOptions): Promise<BrokerStalkerResponse>;
1281
+ /**
1282
+ * Broker Stalker List
1283
+ *
1284
+ * Get list of all stocks traded by a specific broker within a specific time period.
1285
+ *
1286
+ * Response:
1287
+ * - summary: Broker activity summary, contains:
1288
+ * - stocks: Number of stocks traded by the broker
1289
+ * - total_net: Total net value across all stocks in Rupiah
1290
+ * - total_volume: Total net volume across all stocks in shares
1291
+ * - top: Stock code with the highest net value (null when there is no data)
1292
+ * - concentration: Share of the top stock's net value in total_net in percent (absolute value, 1 decimal)
1293
+ * - buy_dom: Overall buy dominance in percent (total buy / (total buy + total sell) x 100, 1 decimal)
1294
+ * - list: Stocks sorted by highest net value, each item contains:
1295
+ * - code: Stock code
1296
+ * - value: Net value in Rupiah (positive = net buy)
1297
+ * - volume: Net volume in shares
1298
+ * - transaction: Number of daily broker data rows for this stock (active days per broker)
1299
+ * - buy_dom: Buy dominance in percent (1 decimal)
1300
+ *
1301
+ * Update: End of Day (EOD) every day at 18:00 WIB
1302
+ *
1303
+ * Limited to data for the last 2 years
1304
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1305
+ *
1306
+ * `GET /analysis/stalker/list/{code}` — cached (`cache.ttl`).
1307
+ * @see https://invezgo.com/id/analysis/summary/broker/AG
1308
+ *
1309
+ * @param code Kode broker anggota bursa (2 huruf), mis. `AK`. Dapat berisi beberapa kode yang dipisahkan koma, mis. `AK,BK,YP`. Daftar broker tersedia di `/analysis/list/broker`. Kode yang tidak terdiri dari 2 karakter akan diabaikan. Example: `AK`.
1310
+ * @param params Query parameters.
1311
+ * @param options Per-request options (e.g. `signal`).
1312
+ * @returns BrokerStalkerListResponse
1313
+ */
1314
+ getBrokerStalkerList(code: string, params: BrokerStalkerListParams, options?: RequestOptions): Promise<BrokerStalkerListResponse>;
1315
+ /**
1316
+ * Stock Broker Summary Chart
1317
+ *
1318
+ * Get broker summary infographic data for a specific stock with attractive visualization for a specific period.
1319
+ *
1320
+ * Response:
1321
+ * - label: Category: D Buy (domestic buy), D Sell (domestic sell), F Buy (foreign buy), F Sell (foreign sell)
1322
+ * - value: Total for the chosen scope over the period (volume = shares, value = Rupiah, freq = frequency); 0 when there is no data
1323
+ * - fill: Fixed chart color per category (rgb format, e.g. rgb(34 197 94))
1324
+ *
1325
+ * Update: End of Day (EOD) every day at 18:00 WIB
1326
+ *
1327
+ * Limited to data for the last 2 years
1328
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1329
+ *
1330
+ * `GET /analysis/summary-chart/stock/{code}` — cached (`cache.ttl`).
1331
+ * @see https://invezgo.com/id/analysis/summary/stock/BBCA?transaction=true&investor=all
1332
+ *
1333
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1334
+ * @param params Query parameters.
1335
+ * @param options Per-request options (e.g. `signal`).
1336
+ * @returns SummaryStockChartResponse
1337
+ */
1338
+ getSummaryStockChart(code: string, params: SummaryStockChartParams, options?: RequestOptions): Promise<SummaryStockChartResponse>;
1339
+ /**
1340
+ * Broker Broker Summary Chart
1341
+ *
1342
+ * Get broker summary infographic data for a specific broker with attractive visualization for a specific period.
1343
+ *
1344
+ * Response:
1345
+ * - label: Category: D Buy (domestic buy), D Sell (domestic sell), F Buy (foreign buy), F Sell (foreign sell)
1346
+ * - value: Total for the chosen scope over the period for the selected broker(s) (volume = shares, value = Rupiah, freq = frequency); 0 when there is no data
1347
+ * - fill: Fixed chart color per category (rgb format, e.g. rgb(34 197 94))
1348
+ *
1349
+ * Update: End of Day (EOD) every day at 18:00 WIB
1350
+ *
1351
+ * Limited to data for the last 2 years
1352
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1353
+ *
1354
+ * `GET /analysis/summary-chart/broker/{code}` — cached (`cache.ttl`).
1355
+ * @see https://invezgo.com/id/analysis/summary/broker/AG?transaction=true&investor=all
1356
+ *
1357
+ * @param code Kode broker anggota bursa (2 huruf), mis. `AK`. Dapat berisi beberapa kode yang dipisahkan koma, mis. `AK,BK,YP`. Daftar broker tersedia di `/analysis/list/broker`. Kode yang tidak terdiri dari 2 karakter akan diabaikan. Example: `AK`.
1358
+ * @param params Query parameters.
1359
+ * @param options Per-request options (e.g. `signal`).
1360
+ * @returns SummaryBrokerChartResponse
1361
+ */
1362
+ getSummaryBrokerChart(code: string, params: SummaryBrokerChartParams, options?: RequestOptions): Promise<SummaryBrokerChartResponse>;
1363
+ /**
1364
+ * Stock Inventory Chart
1365
+ *
1366
+ * Get inventory chart data for a specific stock with broker activity visualization for a specific period.
1367
+ *
1368
+ * Response:
1369
+ * - price: Daily stock prices over the period, each item contains:
1370
+ * - code: Stock code
1371
+ * - date: Date (YYYY-MM-DD)
1372
+ * - open: Open price (Rupiah)
1373
+ * - high: High price (Rupiah)
1374
+ * - low: Low price (Rupiah)
1375
+ * - close: Close price (Rupiah)
1376
+ * - volume: Daily trading volume (shares)
1377
+ * - broker: List of brokers (top per limit, default 20, max 50, by largest absolute net; or the brokers in the filter parameter), each item contains:
1378
+ * - broker: Broker code (2 letters)
1379
+ * - name: Full broker name
1380
+ * - data: Cumulative inventory per price date, each item contains:
1381
+ * - date: Date (YYYY-MM-DD), matching the dates in price
1382
+ * - value: Broker's accumulated net (buy - sell) since the start of the period for the scope (val = Rupiah, vol = shares, freq = frequency); days without transactions carry the previous value, 0 before the first transaction
1383
+ *
1384
+ * Update: End of Day (EOD) every day at 18:00 WIB
1385
+ *
1386
+ * Limited to data for the last 2 years
1387
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1388
+ *
1389
+ * `GET /analysis/inventory-chart/stock/{code}` — cached (`cache.ttl`).
1390
+ * @see https://invezgo.com/id/analysis/summary/stock/BBCA?transaction=true&investor=all
1391
+ *
1392
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1393
+ * @param params Query parameters.
1394
+ * @param options Per-request options (e.g. `signal`).
1395
+ * @returns InventoryStockChartResponse
1396
+ */
1397
+ getInventoryStockChart(code: string, params: InventoryStockChartParams, options?: RequestOptions): Promise<InventoryStockChartResponse>;
1398
+ /**
1399
+ * Broker Inventory Chart
1400
+ *
1401
+ * Get inventory chart data for a specific broker with stock activity visualization for a specific period.
1402
+ *
1403
+ * Response:
1404
+ * - code: Stock code (top per limit, default 20, max 50, by largest absolute net change; or the stocks in the filter parameter)
1405
+ * - data: Broker's cumulative inventory on this stock per date, each item contains:
1406
+ * - date: Date (YYYY-MM-DD); all stocks share the same date list
1407
+ * - value: Broker's accumulated net (buy - sell) since the start of the period for the scope (val = Rupiah, vol = shares, freq = frequency); days without transactions carry the previous value, 0 before the first transaction
1408
+ *
1409
+ * Filter automatically uses the column from 'scope' parameter combined with 'investor'.
1410
+ * Filter column format: net_{investor}_{scope} (example: net_d_val, net_f_vol, net_all_freq)
1411
+ *
1412
+ * Filter Examples:
1413
+ * - scope=val, investor=d, filter_operator=>, filter_value=1000000 → Net distributor value > 1 million
1414
+ * - scope=vol, investor=f, filter_operator=>=, filter_value=1000 → Foreign volume >= 1000
1415
+ * - scope=freq, investor=all, filter_operator=>, filter_value=100 → All frequency > 100
1416
+ *
1417
+ * Update: End of Day (EOD) every day at 18:00 WIB
1418
+ *
1419
+ * Limited to data for the last 2 years
1420
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1421
+ *
1422
+ * `GET /analysis/inventory-chart/broker/{code}` — cached (`cache.ttl`).
1423
+ * @see https://invezgo.com/id/analysis/summary/broker/AG?transaction=true&investor=all
1424
+ *
1425
+ * @param code Kode broker anggota bursa (2 huruf), mis. `AK`. Dapat berisi beberapa kode yang dipisahkan koma, mis. `AK,BK,YP`. Daftar broker tersedia di `/analysis/list/broker`. Setiap kode wajib 2 karakter. Example: `AK,BK`.
1426
+ * @param params Query parameters.
1427
+ * @param options Per-request options (e.g. `signal`).
1428
+ * @returns InventoryBrokerChartResponse
1429
+ */
1430
+ getInventoryBrokerChart(code: string, params: InventoryBrokerChartParams, options?: RequestOptions): Promise<InventoryBrokerChartResponse>;
1431
+ /**
1432
+ * Stock Momentum Chart
1433
+ *
1434
+ * Get momentum chart data for real-time transaction analysis with HAKA HAKI details for a specific period.
1435
+ *
1436
+ * Response:
1437
+ * - time: Interval start time (HH:MM format), rounded down to `range` minutes, in ascending time order
1438
+ * - value: Total transactions in that interval; in shares if `scope=volume`, Rupiah if `scope=value`
1439
+ * - buy: Cumulative HAKA (buy at offer price) transactions from the start of the day up to this interval, same unit as `value`
1440
+ * - sell: Cumulative HAKI (sell at bid price) transactions from the start of the day up to this interval, same unit as `value`
1441
+ *
1442
+ * Update: Real-time
1443
+ *
1444
+ * Limited to data for the last 2 years
1445
+ * Initial Data: 2010-01-01 [ENTERPRISE]
1446
+ *
1447
+ * `GET /analysis/momentum-chart/{code}` — cached (`cache.realtimeTtl`).
1448
+ * @see https://invezgo.com/id/analysis/realtime/BBCA?date=2025-01-02&scope=volume&range=5
1449
+ *
1450
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1451
+ * @param params Query parameters.
1452
+ * @param options Per-request options (e.g. `signal`).
1453
+ * @returns MomentumChartResponse
1454
+ */
1455
+ getMomentumChart(code: string, params: MomentumChartParams, options?: RequestOptions): Promise<MomentumChartResponse>;
1456
+ /**
1457
+ * Stock Intraday Inventory Chart
1458
+ *
1459
+ * Get intraday inventory chart data for transaction analysis with broker activity details for a specific period.
1460
+ *
1461
+ * Response:
1462
+ * - price: Candlestick data per `range`-minute interval (intervals without trades are skipped), each item contains:
1463
+ * - x: Interval start time (HH:MM format), counted from the first trade time
1464
+ * - o: Opening price in the interval (Rupiah)
1465
+ * - h: Highest price in the interval (Rupiah)
1466
+ * - l: Lowest price in the interval (Rupiah)
1467
+ * - c: Closing price in the interval (Rupiah)
1468
+ * - v: Total transactions in the interval; in lots if `type=volume`, Rupiah if `type=value`
1469
+ * - broker: List of up to `total` top net buyers followed by `total` top net sellers (restricted to `filter` if provided), each item contains:
1470
+ * - code: 2-character broker code
1471
+ * - name: Broker name
1472
+ * - data: Broker's cumulative inventory per interval, each item contains:
1473
+ * - x: Interval start time (HH:MM format), same as `price.x`
1474
+ * - y: Cumulative net buy minus sell up to this interval; lots if `type=volume`, Rupiah if `type=value` (negative = distribution)
1475
+ *
1476
+ * Update: End of Day (EOD) every day at 18:00 WIB
1477
+ *
1478
+ * Limited to data for the last 2 years
1479
+ * Initial Data: Past 2 months [ENTERPRISE]
1480
+ *
1481
+ * `GET /analysis/intraday-inventory-chart/{code}` — cached (`cache.ttl`).
1482
+ * @see https://invezgo.com/id/analysis/summary/stock/BBCA?transaction=true&investor=all
1483
+ *
1484
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1485
+ * @param params Query parameters.
1486
+ * @param options Per-request options (e.g. `signal`).
1487
+ * @returns IntradayInventoryChartResponse
1488
+ */
1489
+ getIntradayInventoryChart(code: string, params: IntradayInventoryChartParams, options?: RequestOptions): Promise<IntradayInventoryChartResponse>;
1490
+ /**
1491
+ * Stock Distribution Chart
1492
+ *
1493
+ * Get sankey chart data for crossing transaction visualization with broker flow details for a specific period.
1494
+ *
1495
+ * Response:
1496
+ * - nodes: List of broker nodes in the diagram, each item contains:
1497
+ * - name: Broker code padded with spaces; buyers formatted " XX " and sellers " XX " (two trailing spaces) so the same broker as buyer and seller are separate nodes
1498
+ * - links: Up to 20 largest buyer-to-seller flows, sorted by value descending, each item contains:
1499
+ * - source: Buyer broker node (matches `nodes.name`)
1500
+ * - target: Seller broker node (matches `nodes.name`)
1501
+ * - value: Total transactions between the two brokers; in shares if `type=volume`, Rupiah if `type=value`
1502
+ *
1503
+ * Update: End of Day (EOD) every day at 18:00 WIB
1504
+ *
1505
+ * Limited to data for the last 2 years
1506
+ * Initial Data: Past 2 months [ENTERPRISE]
1507
+ *
1508
+ * `GET /analysis/sankey-chart/{code}` — cached (`cache.ttl`).
1509
+ * @see https://invezgo.com/id/analysis/summary/stock/BBCA?transaction=true&investor=all
1510
+ *
1511
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1512
+ * @param params Query parameters.
1513
+ * @param options Per-request options (e.g. `signal`).
1514
+ * @returns SankeyChartResponse
1515
+ */
1516
+ getSankeyChart(code: string, params: SankeyChartParams, options?: RequestOptions): Promise<SankeyChartResponse>;
1517
+ /**
1518
+ * Stock Price Table
1519
+ *
1520
+ * Get daily stock trading price transaction table with volume and frequency details for a specific period.
1521
+ *
1522
+ * Response:
1523
+ * - price: Transaction price level (Rupiah), in ascending price order
1524
+ * - buy_volume: Total HAKA (buy at offer price) transaction volume at that price (shares)
1525
+ * - sell_volume: Total HAKI (sell at bid price) transaction volume at that price (shares)
1526
+ * - buy_freq: Number of HAKA trades at that price (times)
1527
+ * - sell_freq: Number of HAKI trades at that price (times)
1528
+ *
1529
+ * Update: Real-time
1530
+ *
1531
+ * Limited to data for the last 2 years
1532
+ * Initial Data: Past 2 months [ENTERPRISE]
1533
+ *
1534
+ * `GET /analysis/price-table/{code}` — cached (`cache.realtimeTtl`).
1535
+ * @see https://invezgo.com/id/analysis/realtime/BBCA?date=2025-01-02&scope=volume&range=5
1536
+ *
1537
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1538
+ * @param params Query parameters.
1539
+ * @param options Per-request options (e.g. `signal`).
1540
+ * @returns PriceTableResponse
1541
+ */
1542
+ getPriceTable(code: string, params: PriceTableParams, options?: RequestOptions): Promise<PriceTableResponse>;
1543
+ /**
1544
+ * Stock Time Table
1545
+ *
1546
+ * Get daily stock trading time transaction table with HAKA/HAKI volume (lots) and percentage details per time interval for a specific period.
1547
+ *
1548
+ * Response:
1549
+ * - time: Interval start time (HH:MM format), rounded down to `range` minutes
1550
+ * - buy_lot: Total HAKA (buy at offer price) transaction volume in the interval (lots)
1551
+ * - sell_lot: Total HAKI (sell at bid price) transaction volume in the interval (lots)
1552
+ * - buy_percentage: `buy_lot` share of total `buy_lot` + `sell_lot` (percent %, 0 if no trades)
1553
+ * - sell_percentage: `sell_lot` share of total `buy_lot` + `sell_lot` (percent %, 0 if no trades)
1554
+ *
1555
+ * Update: Real-time
1556
+ *
1557
+ * Limited to data for the last 2 years
1558
+ * Initial Data: Past 2 months [ENTERPRISE]
1559
+ *
1560
+ * `GET /analysis/time-table/{code}` — cached (`cache.realtimeTtl`).
1561
+ * @see https://invezgo.com/id/analysis/realtime/BBCA?date=2025-01-02&scope=volume&range=5
1562
+ *
1563
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1564
+ * @param params Query parameters.
1565
+ * @param options Per-request options (e.g. `signal`).
1566
+ * @returns TimeTableResponse
1567
+ */
1568
+ getTimeTable(code: string, params: TimeTableParams, options?: RequestOptions): Promise<TimeTableResponse>;
1569
+ /**
1570
+ * Stock Price Diary
1571
+ *
1572
+ * Get daily stock price change table for the last 30 trading days (no period parameter).
1573
+ *
1574
+ * Response:
1575
+ * - date: Trading date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone); up to the last 30 trading days, newest first
1576
+ * - price: Closing price (Rupiah)
1577
+ * - value: Trading value (Rupiah, string)
1578
+ * - volume: Trading volume (shares, string)
1579
+ * - change: Daily price change (percent %)
1580
+ *
1581
+ * Update: End of Day (EOD) every day at 18:00 WIB
1582
+ *
1583
+ * Data: always the last 30 trading days, newest first
1584
+ *
1585
+ * `GET /analysis/price-diary/{code}` — cached (`cache.ttl`).
1586
+ * @see https://invezgo.com/id/analysis/performance/BBCA
1587
+ *
1588
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1589
+ * @param options Per-request options (e.g. `signal`).
1590
+ * @returns PriceDiaryResponse
1591
+ */
1592
+ getPriceDiary(code: string, options?: RequestOptions): Promise<PriceDiaryResponse>;
1593
+ /**
1594
+ * Stock Price Seasonality
1595
+ *
1596
+ * Get monthly stock price change table with seasonality analysis for a specific period.
1597
+ *
1598
+ * Response:
1599
+ * - month: Month (YYYY-MM format), ordered from the latest month
1600
+ * - start_price: Closing price on the first trading day of the month (Rupiah, as a string)
1601
+ * - end_price: Closing price on the last trading day of the month (Rupiah, as a string)
1602
+ * - percentage_change: Price change from `start_price` to `end_price` (percent %, as a decimal string; null if no start price)
1603
+ *
1604
+ * Update: End of Day (EOD) every day at 18:00 WIB
1605
+ *
1606
+ * Limited to data for the last 2 years
1607
+ * Initial Data: 2010-01-01 [ENTERPRISE]
1608
+ *
1609
+ * `GET /analysis/price-seasonality/{code}` — cached (`cache.ttl`).
1610
+ * @see https://invezgo.com/id/analysis/performance/BBCA
1611
+ *
1612
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1613
+ * @param params Query parameters.
1614
+ * @param options Per-request options (e.g. `signal`).
1615
+ * @returns PriceSeasonalityResponse
1616
+ */
1617
+ getPriceSeasonality(code: string, params: PriceSeasonalityParams, options?: RequestOptions): Promise<PriceSeasonalityResponse>;
1618
+ /**
1619
+ * Stock Insider KSEI
1620
+ *
1621
+ * Get a list of ownership changes above 5% based on exchange reports for a specific period.
1622
+ *
1623
+ * Response:
1624
+ * - totalPage: Total number of pages (based on `limit`, default 20, max 50)
1625
+ * - page: Current page number
1626
+ * - nextPage: Next page number, null on the last page
1627
+ * - data: List of ownership changes above 5% (last 2 years of data, newest first), each item contains:
1628
+ * - date: Report date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
1629
+ * - code: Stock code
1630
+ * - name: Shareholder name
1631
+ * - format_securities: 2-letter broker/custodian code where the securities are held (filtered by the `broker` parameter)
1632
+ * - prev_val: Shares held before the change (shares, string)
1633
+ * - prev_pct: Ownership percentage before the change (percent %)
1634
+ * - next_val: Shares held after the change (shares, string)
1635
+ * - next_pct: Ownership percentage after the change (percent %)
1636
+ * - change: Share difference, next_val - prev_val (shares, string; negative = decreased)
1637
+ * - nationality: Investor status: LOCAL or FOREIGN
1638
+ *
1639
+ * Update: Real-time according to each company's report
1640
+ *
1641
+ * Limited to data for the last 2 years
1642
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1643
+ *
1644
+ * `GET /analysis/shareholder-above` — cached (`cache.ttl`).
1645
+ * @see https://invezgo.com/id/analysis/insider
1646
+ *
1647
+ * @param params Query parameters.
1648
+ * @param options Per-request options (e.g. `signal`).
1649
+ * @returns ShareholderAboveResponse
1650
+ */
1651
+ getShareholderAbove(params?: ShareholderAboveParams, options?: RequestOptions): Promise<ShareholderAboveResponse>;
1652
+ /**
1653
+ * Stock Insider KSEI Chart
1654
+ *
1655
+ * Get chart data for ownership visualization above 5% for a specific period.
1656
+ *
1657
+ * Response:
1658
+ * - date: Report date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone), oldest first; up to 2 years before the `date` parameter
1659
+ * - share: Shares held by the shareholder (`name`) at the broker (`broker`) after the change (shares, string)
1660
+ *
1661
+ * Update: Real-time according to each company's report
1662
+ *
1663
+ * Limited to data for the last 2 years
1664
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1665
+ *
1666
+ * `GET /analysis/shareholder-above-chart/{code}` — cached (`cache.ttl`).
1667
+ * @see https://invezgo.com/id/analysis/insider
1668
+ *
1669
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1670
+ * @param params Query parameters.
1671
+ * @param options Per-request options (e.g. `signal`).
1672
+ * @returns ShareholderAboveChartResponse
1673
+ */
1674
+ getShareholderAboveChart(code: string, params: ShareholderAboveChartParams, options?: RequestOptions): Promise<ShareholderAboveChartResponse>;
1675
+ /**
1676
+ * Stock Insider 1%
1677
+ *
1678
+ * Get a list of ownership changes above 1% based on exchange reports for a specific period.
1679
+ *
1680
+ * Response:
1681
+ * - totalPage: Total number of pages (based on `limit`, default 20, max 50)
1682
+ * - page: Current page number
1683
+ * - nextPage: Next page number, null on the last page
1684
+ * - data: List of ownership changes above 1% (last 2 years of data, newest first), each item contains:
1685
+ * - date: Report date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
1686
+ * - code: Stock code
1687
+ * - name: Shareholder name
1688
+ * - type: Investor type code, e.g. CP (corporate), ID (individual)
1689
+ * - status: Investor status: LOCAL or FOREIGN
1690
+ * - nationality: Shareholder nationality (empty string for non-individuals)
1691
+ * - domicile: Shareholder domicile
1692
+ * - prev_scripless: Scripless shares before the change (shares, string)
1693
+ * - next_scripless: Scripless shares after the change (shares, string)
1694
+ * - prev_scrip: Scrip (certificated) shares before the change (shares, string)
1695
+ * - next_scrip: Scrip (certificated) shares after the change (shares, string)
1696
+ * - prev_total: Total shares before the change (shares, string)
1697
+ * - next_total: Total shares after the change (shares, string)
1698
+ * - prev_pct: Ownership percentage before the change (percent %)
1699
+ * - next_pct: Ownership percentage after the change (percent %)
1700
+ *
1701
+ * Update: Real-time according to each company's report
1702
+ *
1703
+ * Limited to data for the last 2 years
1704
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1705
+ *
1706
+ * `GET /analysis/shareholder-one` — cached (`cache.ttl`).
1707
+ * @see https://invezgo.com/id/analysis/insider
1708
+ *
1709
+ * @param params Query parameters.
1710
+ * @param options Per-request options (e.g. `signal`).
1711
+ * @returns ShareholderOneResponse
1712
+ */
1713
+ getShareholderOne(params?: ShareholderOneParams, options?: RequestOptions): Promise<ShareholderOneResponse>;
1714
+ /**
1715
+ * Stock Insider 1% Chart
1716
+ *
1717
+ * Get chart data for ownership visualization above 1% for a specific period.
1718
+ *
1719
+ * Response:
1720
+ * - date: Report date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone), oldest first; up to 2 years before the `date` parameter
1721
+ * - scrip: Scrip (certificated) shares after the change (shares, string)
1722
+ * - scripless: Scripless shares after the change (shares, string)
1723
+ * - total: Total shares held by the shareholder (`name`) after the change (shares, string)
1724
+ *
1725
+ * Update: Real-time according to each company's report
1726
+ *
1727
+ * Limited to data for the last 2 years
1728
+ * Initial Data: 2026-02-01 [ENTERPRISE]
1729
+ *
1730
+ * `GET /analysis/shareholder-one-chart/{code}` — cached (`cache.ttl`).
1731
+ * @see https://invezgo.com/id/analysis/insider
1732
+ *
1733
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1734
+ * @param params Query parameters.
1735
+ * @param options Per-request options (e.g. `signal`).
1736
+ * @returns ShareholderOneChartResponse
1737
+ */
1738
+ getShareholderOneChart(code: string, params: ShareholderOneChartParams, options?: RequestOptions): Promise<ShareholderOneChartResponse>;
1739
+ /**
1740
+ * Stock Insider IDX
1741
+ *
1742
+ * Get a list of insider ownership changes (directors, commissioners, majority shareholders) for a specific period.
1743
+ *
1744
+ * Response:
1745
+ * - totalPage: Total number of pages (based on `limit`, default 20, max 50)
1746
+ * - page: Current page number
1747
+ * - nextPage: Next page number, null on the last page
1748
+ * - data: List of insider ownership changes (last 2 years of data, newest first), each item contains:
1749
+ * - date: Report date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
1750
+ * - code: Stock code
1751
+ * - name: Insider name (director, commissioner, controlling/majority shareholder)
1752
+ * - prev_percent: Ownership percentage before the transaction (percent %)
1753
+ * - prev_val: Shares held before the transaction (shares, string)
1754
+ * - next_percent: Ownership percentage after the transaction (percent %)
1755
+ * - next_val: Shares held after the transaction (shares, string)
1756
+ * - change: Change in ownership percentage (percentage points)
1757
+ * - badge: Insider roles as curly-brace text, e.g. "{PENGENDALI,DIREKSI}"
1758
+ * - nationality: Insider nationality
1759
+ * - purpose: Transaction purpose, e.g. Investasi (investment)
1760
+ * - child: Number of detailed transactions in `subrow` (string)
1761
+ * - subrow: Related transaction details (empty array if none), each item contains:
1762
+ * - date: Transaction date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
1763
+ * - price: Transaction price per share (Rupiah)
1764
+ * - status: Transaction type, e.g. Buy or Sell
1765
+ * - value: Number of shares transacted (shares)
1766
+ *
1767
+ * Update: Real-time according to each company's report
1768
+ *
1769
+ * Limited to data for the last 2 years
1770
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1771
+ *
1772
+ * `GET /analysis/shareholder-insider` — cached (`cache.ttl`).
1773
+ * @see https://invezgo.com/id/analysis/insider
1774
+ *
1775
+ * @param params Query parameters.
1776
+ * @param options Per-request options (e.g. `signal`).
1777
+ * @returns InsiderResponse
1778
+ */
1779
+ getInsider(params?: InsiderParams, options?: RequestOptions): Promise<InsiderResponse>;
1780
+ /**
1781
+ * Stock Insider IDX Chart
1782
+ *
1783
+ * Get chart data for insider trading visualization for a specific period.
1784
+ *
1785
+ * Response:
1786
+ * - date: Transaction date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone), oldest first; up to 2 years before the `date` parameter
1787
+ * - share: Cumulative estimated holding of the insider (`name`): initial shares plus the running sum of transaction values up to that date (shares, string)
1788
+ *
1789
+ * Update: Real-time according to each company's report
1790
+ *
1791
+ * Limited to data for the last 2 years
1792
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1793
+ *
1794
+ * `GET /analysis/insider-chart/{code}` — cached (`cache.ttl`).
1795
+ * @see https://invezgo.com/id/analysis/insider
1796
+ *
1797
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1798
+ * @param params Query parameters.
1799
+ * @param options Per-request options (e.g. `signal`).
1800
+ * @returns InsiderChartResponse
1801
+ */
1802
+ getInsiderChart(code: string, params: InsiderChartParams, options?: RequestOptions): Promise<InsiderChartResponse>;
1803
+ /**
1804
+ * Stock Financial Statement
1805
+ *
1806
+ * Get company financial statement data based on report type and specific period.
1807
+ *
1808
+ * Income statement (IS) and cash flow (CF) periods are cumulative from the start of the fiscal year (year to date), as officially filed with IDX: Q1 = 3 months, Q2 = 6 months, Q3 = 9 months, FY = 12 months; values are not netted against the previous period. Balance sheet (BS) values are balances at period end.
1809
+ *
1810
+ * Response:
1811
+ * - columns: List of report periods from the latest, up to `limit` periods (default 8); null if there are no reports, each item contains:
1812
+ * - label: Period label, e.g. "Q2 2025" or "FY 2024"
1813
+ * - year: Fiscal year
1814
+ * - period: Period code (FY, Q1, Q2, Q3, Q4)
1815
+ * - rows: Hierarchical list of statement accounts (BS/IS/CF per `statement`), ordered by `display_order`; accounts whose values are all 0 are omitted; null if no account has a value, each item contains:
1816
+ * - id: Account ID (32-character string), used as the `account` parameter in financial-statement-chart
1817
+ * - parent_id: Parent account ID; null for top-level accounts
1818
+ * - name: Financial statement account name
1819
+ * - is_abstract: true if the account is a heading/grouping, false if it is a value account
1820
+ * - level: Account depth level in the hierarchy
1821
+ * - display_order: Account display order
1822
+ * - values: Account value per period, same order as `columns`, each item contains:
1823
+ * - col: Period label, e.g. "Q2 2025" or "FY 2024"
1824
+ * - year: Fiscal year
1825
+ * - period: Period code (FY, Q1, Q2, Q3, Q4)
1826
+ * - amount: Account value for that period including rolled-up sub-accounts (Rupiah)
1827
+ *
1828
+ * Update: Real-time according to each company's report
1829
+ *
1830
+ * Limited to data for the last 2 years
1831
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1832
+ *
1833
+ * `GET /analysis/financial-statement/{code}` — cached (`cache.ttl`).
1834
+ * @see https://invezgo.com/id/analysis/finace/BBCA?statement=BS&type=Q&limit=10
1835
+ *
1836
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1837
+ * @param params Query parameters.
1838
+ * @param options Per-request options (e.g. `signal`).
1839
+ * @returns FinancialStatementResponse
1840
+ */
1841
+ getFinancialStatement(code: string, params: FinancialStatementParams, options?: RequestOptions): Promise<FinancialStatementResponse>;
1842
+ /**
1843
+ * Stock Financial Statement Chart
1844
+ *
1845
+ * Get chart data for financial statement visualization for a specific period.
1846
+ *
1847
+ * Income statement (IS) and cash flow (CF) periods are cumulative from the start of the fiscal year (year to date), as officially filed with IDX: Q1 = 3 months, Q2 = 6 months, Q3 = 9 months, FY = 12 months; values are not netted against the previous period. Balance sheet (BS) values are balances at period end.
1848
+ *
1849
+ * Response:
1850
+ * - account_id: Charted account ID (matches the `account` parameter); null if the account is not found
1851
+ * - name: Financial statement account name; null if the account is not found
1852
+ * - points: Data points per period from the latest, up to `limit` periods (default 8); null if there are no reports, each item contains:
1853
+ * - date: Report period end date (YYYY-MM-DD format)
1854
+ * - label: Period label, e.g. "Q2 2025" or "FY 2024"
1855
+ * - amount: Account value for that period including rolled-up sub-accounts (Rupiah; 0 if no data)
1856
+ *
1857
+ * Update: Real-time according to each company's report
1858
+ *
1859
+ * Limited to data for the last 2 years
1860
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1861
+ *
1862
+ * `GET /analysis/financial-statement-chart/{code}` — cached (`cache.ttl`).
1863
+ * @see https://invezgo.com/id/analysis/finace/BBCA?statement=BS&type=Q&limit=10
1864
+ *
1865
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1866
+ * @param params Query parameters.
1867
+ * @param options Per-request options (e.g. `signal`).
1868
+ * @returns FinancialStatementChartResponse
1869
+ */
1870
+ getFinancialStatementChart(code: string, params: FinancialStatementChartParams, options?: RequestOptions): Promise<FinancialStatementChartResponse>;
1871
+ /**
1872
+ * Stock Key Statistics
1873
+ *
1874
+ * Get key statistics and important financial metrics of a company for a specific period.
1875
+ *
1876
+ * The source is the issuer's official IDX financial report, which is cumulative from the start of the fiscal year (year to date): Q1 = 3 months, Q2 = 6 months, Q3 = 9 months, FY = 12 months. Statistics ending in (Quarter) use a single quarter: income statement and cash flow items = the cumulative report less the previous quarter's cumulative report, balance sheet items = period-end balances. (TTM) = trailing 12 months, (Annualised) = year to date annualised.
1877
+ *
1878
+ * Response:
1879
+ * - columns: List of report periods from the latest, up to `limit` periods (default 8); null if there are no reports, each item contains:
1880
+ * - label: Period label, e.g. "Q2 2025" or "FY 2024"
1881
+ * - year: Fiscal year
1882
+ * - period: Period code (FY, Q1, Q2, Q3, Q4)
1883
+ * - rows: List of key statistics ordered by name (A-Z); statistics whose values are all 0 are omitted; null if no statistic has a value, each item contains:
1884
+ * - id: Unique statistic ID
1885
+ * - name: Key statistic name, used as the `name` parameter in keystat-chart
1886
+ * - values: Statistic value per period, same order as `columns`, each item contains:
1887
+ * - col: Period label, e.g. "Q2 2025" or "FY 2024"
1888
+ * - year: Fiscal year
1889
+ * - period: Period code (FY, Q1, Q2, Q3, Q4)
1890
+ * - amount: Statistic value for that period (unit depends on the statistic; 0 if no data)
1891
+ *
1892
+ * Update: Real-time according to each company's report
1893
+ *
1894
+ * Limited to data for the last 2 years
1895
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1896
+ *
1897
+ * `GET /analysis/keystat/{code}` — cached (`cache.ttl`).
1898
+ * @see https://invezgo.com/id/analysis/finace/BBCA?statement=BS&type=Q&limit=10
1899
+ *
1900
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1901
+ * @param params Query parameters.
1902
+ * @param options Per-request options (e.g. `signal`).
1903
+ * @returns KeystatResponse
1904
+ */
1905
+ getKeystat(code: string, params: KeystatParams, options?: RequestOptions): Promise<KeystatResponse>;
1906
+ /**
1907
+ * Stock Key Statistics Chart
1908
+ *
1909
+ * Get chart data for key statistics visualization for a specific period.
1910
+ *
1911
+ * The source is the issuer's official IDX financial report, which is cumulative from the start of the fiscal year (year to date): Q1 = 3 months, Q2 = 6 months, Q3 = 9 months, FY = 12 months. Statistics ending in (Quarter) use a single quarter: income statement and cash flow items = the cumulative report less the previous quarter's cumulative report, balance sheet items = period-end balances. (TTM) = trailing 12 months, (Annualised) = year to date annualised.
1912
+ *
1913
+ * Response:
1914
+ * - name: Key statistic name (matches the `name` parameter); null if there are no periods
1915
+ * - points: Data points per period from the latest, up to `limit` periods (max 8 for quarterly, 3 for FY); null if there are no periods, each item contains:
1916
+ * - date: Report period end date (YYYY-MM-DD format)
1917
+ * - label: Period label, e.g. "Q2 2025" or "FY 2024"
1918
+ * - amount: Statistic value for that period (unit depends on the statistic; 0 if no data)
1919
+ *
1920
+ * Update: Real-time according to each company's report
1921
+ *
1922
+ * Limited to data for the last 2 years
1923
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1924
+ *
1925
+ * `GET /analysis/keystat-chart/{code}` — cached (`cache.ttl`).
1926
+ * @see https://invezgo.com/id/analysis/finace/BBCA?statement=BS&type=Q&limit=10
1927
+ *
1928
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1929
+ * @param params Query parameters.
1930
+ * @param options Per-request options (e.g. `signal`).
1931
+ * @returns KeystatChartResponse
1932
+ */
1933
+ getKeystatChart(code: string, params: KeystatChartParams, options?: RequestOptions): Promise<KeystatChartResponse>;
1934
+ /**
1935
+ * Stock Flow of Funds
1936
+ *
1937
+ * Get a company's income statement flow of funds (Sankey) per period: revenue by product/service, cost of revenue and its breakdown, operating expenses, operating profit, profit before tax, tax, net profit and profit attributable to the parent.
1938
+ *
1939
+ * The structure and direction of every flow follow the calculation arcs of the issuer's IDX XBRL taxonomy industry template. Revenue detail comes from the revenue-by-type note and cost detail from the cost of goods sold note.
1940
+ *
1941
+ * Each period is cumulative from the start of the fiscal year (year to date), as officially filed with IDX and the same as financial-statement: Q1 = 3 months, Q2 = 6 months, Q3 = 9 months, FY = 12 months; values are not netted against the previous period. type=Q lists the quarterly reports (Q1-Q3) without the annual report.
1942
+ *
1943
+ * Response:
1944
+ * - columns: Periods from the latest (label, year, period)
1945
+ * - role: IDX taxonomy income statement role used, e.g. "1321000"
1946
+ * - sector: Industry template (general, property, infrastructure, financesharia, securities, insurance, financing)
1947
+ * - currency: Currency of the values (IDR)
1948
+ * - periods: Flow of funds per period, same order as `columns`, each item contains:
1949
+ * - label, year, period: Report period, e.g. "Q2 2026" (6 months) or "FY 2025"
1950
+ * - basis: quarter (Q1, 3 months), ytd (Q2/Q3, cumulative from the start of the fiscal year), annual (FY)
1951
+ * - nodes: Nodes (id, taxonomy concept, label_id, label_en, kind: revenue|cost|income|profit|loss|offset, value)
1952
+ * - links: Flows between nodes (source, target, value > 0); every node balances (in = out)
1953
+ * - bridge: Operating profit to net profit bridge (id, label_id, label_en, kind: total|delta, value)
1954
+ * - checks: Reconciliation of the detail against the statement: statement, segments, cogs (ok, residual, mismatch, none) and unmapped_rows
1955
+ *
1956
+ * Update: Real-time according to each company's report
1957
+ *
1958
+ * Limited to data for the last 2 years
1959
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1960
+ *
1961
+ * `GET /analysis/flow-of-funds/{code}` — cached (`cache.ttl`).
1962
+ *
1963
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1964
+ * @param params Query parameters.
1965
+ * @param options Per-request options (e.g. `signal`).
1966
+ * @returns FlowOfFundsResponse
1967
+ */
1968
+ getFlowOfFunds(code: string, params: FlowOfFundsParams, options?: RequestOptions): Promise<FlowOfFundsResponse>;
1969
+ /**
1970
+ * Stock Corporate Action Calendar
1971
+ *
1972
+ * Get the corporate action schedule of IDX issuers, newest first, with optional filters.
1973
+ *
1974
+ * Response:
1975
+ * - totalPage: Total pages for the current filter (0 when there is no data)
1976
+ * - page: Current page
1977
+ * - nextPage: Next page number, null on the last page
1978
+ * - data: Corporate actions, each item contains:
1979
+ * - code: Stock or instrument code (e.g. BBCA, INET-W)
1980
+ * - type: Corporate action type (IPO, PUBLIC_EXPOSE, RUPS_SCHEDULE, RUPS_RESULT, DIVIDEND, RIGHT, WARRANT, BONUS, SPLIT, REVERSE, CONVERTION)
1981
+ * - payload: Type-specific details as published by the exchange (keys vary per type, e.g. ExDate, DistDate, TradingPeriodStart; values are strings)
1982
+ *
1983
+ * `GET /analysis/calendar` — cached (`cache.ttl`).
1984
+ *
1985
+ * @param params Query parameters.
1986
+ * @param options Per-request options (e.g. `signal`).
1987
+ * @returns CalendarResponse
1988
+ */
1989
+ getCalendar(params?: CalendarParams, options?: RequestOptions): Promise<CalendarResponse>;
1990
+ /**
1991
+ * Stock News
1992
+ *
1993
+ * Get the stock news listing (NEWS-category posts).
1994
+ *
1995
+ * Response:
1996
+ * - totalPage: Total pages based on limit
1997
+ * - page: Current page
1998
+ * - nextPage: Next page number, null on the last page
1999
+ * - data: News list (newest first), each item contains:
2000
+ * - title: News title (from the "h4" tag)
2001
+ * - date: Publication time in WIB, format YYYY-MM-DDTHH:MM:SS
2002
+ * - content: News body as plain text (HTML-converted, paragraphs separated by a blank line)
2003
+ *
2004
+ * Update: Follows the latest news posts
2005
+ *
2006
+ * `GET /analysis/news` — cached (`cache.ttl`).
2007
+ *
2008
+ * @param params Query parameters.
2009
+ * @param options Per-request options (e.g. `signal`).
2010
+ * @returns NewsResponse
2011
+ */
2012
+ getNews(params?: NewsParams, options?: RequestOptions): Promise<NewsResponse>;
2013
+ /**
2014
+ * Stock Disclosure Information
2015
+ *
2016
+ * Get the IDX disclosure listing.
2017
+ *
2018
+ * Response:
2019
+ * - totalPage: Total pages based on limit
2020
+ * - page: Current page
2021
+ * - nextPage: Next page number, null on the last page
2022
+ * - data: IDX disclosure list (newest first), each item contains:
2023
+ * - id: Report id
2024
+ * - title: Report title
2025
+ * - code: Issuer stock code
2026
+ * - date: Publication time in WIB, format YYYY-MM-DDTHH:MM:SS
2027
+ * - type: Report type (e.g. public_expose)
2028
+ * - description: Report description, null when absent
2029
+ * - summary: Report summary points
2030
+ * - list: Attachment file list, each item contains:
2031
+ * - url: Attachment file URL on IDX
2032
+ * - name: Attachment file name
2033
+ *
2034
+ * Update: Follows the latest report posts
2035
+ *
2036
+ * `GET /analysis/disclosure` — cached (`cache.ttl`).
2037
+ *
2038
+ * @param params Query parameters.
2039
+ * @param options Per-request options (e.g. `signal`).
2040
+ * @returns DisclosureResponse
2041
+ */
2042
+ getDisclosure(params?: DisclosureParams, options?: RequestOptions): Promise<DisclosureResponse>;
2043
+ }
2044
+ /** Batch endpoints: fetch many stocks in one request (counted as 1 request). */
2045
+ export declare class BatchResource {
2046
+ private readonly transport;
2047
+ constructor(transport: Transport);
2048
+ /**
2049
+ * Batch Stock Order Book
2050
+ *
2051
+ * Get order book data for multiple stocks at once in a single request (up to 10 codes on the MAX plan, 25 on the ELITE plan).
2052
+ *
2053
+ * Data Retrieval Modes:
2054
+ * - Realtime: Without date/time parameters - uses realtime data; falls back to the latest data when it is not available yet
2055
+ * - Historical: With date and time parameters - retrieves order book data at that exact minute (WIB); bid and offer are empty when there is none
2056
+ *
2057
+ * Response (array, one item per code):
2058
+ * - code: Stock code (with the market suffix when market is not RG, e.g. BBCANG)
2059
+ * - bid: List of buy queue levels, ordered from level 1 (best price); each item's keys use the level number n:
2060
+ * - bid<n>price: Bid price at level n (Rupiah)
2061
+ * - bid<n>lot: Number of lots at level n
2062
+ * - bid<n>freq: Number of orders at level n
2063
+ * - offer: List of sell queue levels, ordered from level 1 (best price); each item's keys use the level number n:
2064
+ * - offer<n>price: Offer price at level n (Rupiah)
2065
+ * - offer<n>lot: Number of lots at level n
2066
+ * - offer<n>freq: Number of orders at level n
2067
+ *
2068
+ * Historical Parameters:
2069
+ * - date: Date in YYYY-MM-DD format (optional, data available from 2026-03-25)
2070
+ * - time: WIB time in HH:MM format with minute precision (optional)
2071
+ * - Note: fill date and time together for historical data; when only one is filled, the latest data is used
2072
+ *
2073
+ * Access & Limits:
2074
+ * - API Key only, on the MAX or ELITE plans
2075
+ * - Codes per request: up to 10 on the MAX plan, 25 on the ELITE plan
2076
+ *
2077
+ * Update: Real-time (without date/time) or Historical (with date/time)
2078
+ *
2079
+ * `GET /batch/order-book/{code}` — cached (`cache.realtimeTtl`).
2080
+ *
2081
+ * @param code Daftar kode saham yang dipisahkan `|` atau koma, mis. `BBCA|GOTO|TLKM`. Maksimal 10 kode (paket MAX) atau 25 kode (paket ELITE) per request. Example: `BBCA|GOTO|TLKM`.
2082
+ * @param params Query parameters.
2083
+ * @param options Per-request options (e.g. `signal`).
2084
+ * @returns BatchOrderBookResponse
2085
+ */
2086
+ getOrderBook(code: string, params?: BatchOrderBookParams, options?: RequestOptions): Promise<BatchOrderBookResponse>;
2087
+ /**
2088
+ * Batch Stock Intraday Data
2089
+ *
2090
+ * Get compact intraday price data for multiple stocks at once in a single request (up to 10 codes on the MAX plan, 25 on the ELITE plan).
2091
+ *
2092
+ * Data Retrieval Modes:
2093
+ * - Realtime: Without the date parameter - uses realtime data (fields that are not available are omitted); falls back to the latest daily data when it is not available yet
2094
+ * - Historical: With the date parameter - retrieves daily data on that date
2095
+ * - Note: in daily data, avg, prev, bid_*, offer_*, iep and iev are null
2096
+ *
2097
+ * Response (array, one item per code):
2098
+ * - code: Stock code (with the market suffix when market is not RG)
2099
+ * - open: Opening price (Rupiah)
2100
+ * - high: Highest price (Rupiah)
2101
+ * - low: Lowest price (Rupiah)
2102
+ * - close: Last/closing price (Rupiah)
2103
+ * - avg: Average price (Rupiah)
2104
+ * - volume: Trading volume (shares)
2105
+ * - freq: Trade frequency (count)
2106
+ * - value: Trading value (Rupiah)
2107
+ * - prev: Previous trading day's closing price (Rupiah)
2108
+ * - bid_price: Best bid price (Rupiah)
2109
+ * - bid_lot: Queued volume at the best bid
2110
+ * - bid_freq: Number of orders at the best bid
2111
+ * - offer_price: Best offer price (Rupiah)
2112
+ * - offer_lot: Queued volume at the best offer
2113
+ * - offer_freq: Number of orders at the best offer
2114
+ * - iep: Indicative Equilibrium Price during pre-opening/pre-closing (Rupiah)
2115
+ * - iev: Indicative Equilibrium Volume during pre-opening/pre-closing
2116
+ *
2117
+ * Access & Limits:
2118
+ * - API Key only, on the MAX or ELITE plans
2119
+ * - Codes per request: up to 10 on the MAX plan, 25 on the ELITE plan
2120
+ *
2121
+ * Notes:
2122
+ * - A code without data contains only code and close (null)
2123
+ *
2124
+ * Update: Real-time (without date) or Historical (with date)
2125
+ *
2126
+ * `GET /batch/intraday-data/{code}` — cached (`cache.realtimeTtl`).
2127
+ *
2128
+ * @param code Daftar kode saham yang dipisahkan `|` atau koma, mis. `BBCA|GOTO|TLKM`. Maksimal 10 kode (paket MAX) atau 25 kode (paket ELITE) per request. Example: `BBCA|GOTO|TLKM`.
2129
+ * @param params Query parameters.
2130
+ * @param options Per-request options (e.g. `signal`).
2131
+ * @returns BatchIntradayDataResponse
2132
+ */
2133
+ getIntradayData(code: string, params?: BatchIntradayDataParams, options?: RequestOptions): Promise<BatchIntradayDataResponse>;
2134
+ /**
2135
+ * Batch Index Intraday Data
2136
+ *
2137
+ * Get compact intraday data for multiple indexes at once in a single request (up to 10 codes on the MAX plan, 25 on the ELITE plan).
2138
+ *
2139
+ * Data Retrieval Modes:
2140
+ * - Realtime: When realtime data is available - uses realtime data (fields that are not available are omitted)
2141
+ * - Latest: When realtime data is not available yet - uses the latest trading day's daily data; prev is null, positive/negative/neutral/suspend are 0 and market_value equals value
2142
+ *
2143
+ * Response (array, one item per code):
2144
+ * - code: Index code
2145
+ * - open: Index opening value
2146
+ * - high: Index highest value
2147
+ * - low: Index lowest value
2148
+ * - close: Index last/closing value
2149
+ * - volume: Trading volume (shares)
2150
+ * - freq: Trade frequency (count)
2151
+ * - value: Trading value (Rupiah)
2152
+ * - prev: Index closing value on the previous trading day
2153
+ * - positive: Number of advancing stocks
2154
+ * - negative: Number of declining stocks
2155
+ * - neutral: Number of unchanged stocks
2156
+ * - suspend: Number of untraded/suspended stocks
2157
+ * - market_cap: Market capitalization (Rupiah)
2158
+ * - market_value: Market value (Rupiah)
2159
+ *
2160
+ * Access & Limits:
2161
+ * - API Key only, on the MAX or ELITE plans
2162
+ * - Codes per request: up to 10 on the MAX plan, 25 on the ELITE plan
2163
+ *
2164
+ * Notes:
2165
+ * - A code without data contains only code and close (null)
2166
+ *
2167
+ * Update: Real-time
2168
+ *
2169
+ * `GET /batch/intraday-index/{code}` — cached (`cache.realtimeTtl`).
2170
+ *
2171
+ * @param code Daftar kode indeks yang dipisahkan `|` atau koma, mis. `COMPOSITE|LQ45|IDX30`. Maksimal 10 kode (paket MAX) atau 25 kode (paket ELITE) per request. Daftar indeks tersedia di `/analysis/list/index`. Example: `COMPOSITE|LQ45|IDX30`.
2172
+ * @param options Per-request options (e.g. `signal`).
2173
+ * @returns BatchIntradayIndexResponse
2174
+ */
2175
+ getIntradayIndex(code: string, options?: RequestOptions): Promise<BatchIntradayIndexResponse>;
2176
+ }
2177
+ /** Search stocks and users. */
2178
+ export declare class SearchResource {
2179
+ private readonly transport;
2180
+ constructor(transport: Transport);
2181
+ /**
2182
+ * Search Stock or User
2183
+ *
2184
+ * Search for stocks or users simultaneously based on query keywords.
2185
+ *
2186
+ * Response:
2187
+ * - results: Search results per index (order: user_lists then stock_lists), each item contains:
2188
+ * - indexUid: Search index name: user_lists or stock_lists
2189
+ * - hits: Matches (max 5 for user_lists, max 10 for stock_lists), each item contains:
2190
+ * - username / name / image: For user_lists: username, display name and profile picture URL (null if none)
2191
+ * - code / name / logo: For stock_lists: stock code, company name and company icon URL
2192
+ * - query: Searched keyword
2193
+ * - processingTimeMs: Search processing time (milliseconds)
2194
+ * - limit: Result limit for this index
2195
+ * - offset: Result offset (always 0)
2196
+ * - estimatedTotalHits: Estimated total number of matches
2197
+ * - requestUid: Unique search request ID
2198
+ *
2199
+ * Update: Real-time
2200
+ *
2201
+ * `GET /search` — cached (`cache.ttl`).
2202
+ *
2203
+ * @param params Query parameters.
2204
+ * @param options Per-request options (e.g. `signal`).
2205
+ * @returns SearchResponse
2206
+ */
2207
+ search(params: SearchParams, options?: RequestOptions): Promise<SearchResponse>;
2208
+ /**
2209
+ * Search Stock only
2210
+ *
2211
+ * Search for stock data listed on the Indonesia Stock Exchange (IDX) based on query keywords with pagination support.
2212
+ *
2213
+ * Response:
2214
+ * - hits: Matching stocks (max 20 per page), each item contains:
2215
+ * - code: Stock code
2216
+ * - name: Company name
2217
+ * - logo: Company icon image URL
2218
+ * - query: Searched keyword
2219
+ * - processingTimeMs: Search processing time (milliseconds)
2220
+ * - hitsPerPage: Results per page (always 20)
2221
+ * - page: Current page number (from the cursor parameter, default 1)
2222
+ * - totalPages: Total number of pages
2223
+ * - totalHits: Total number of matches
2224
+ *
2225
+ * Update: Real-time (synced with IDX stock list)
2226
+ *
2227
+ * `GET /search/stock` — cached (`cache.ttl`).
2228
+ *
2229
+ * @param params Query parameters.
2230
+ * @param options Per-request options (e.g. `signal`).
2231
+ * @returns SearchStockResponse
2232
+ */
2233
+ searchStock(params: SearchStockParams, options?: RequestOptions): Promise<SearchStockResponse>;
2234
+ /**
2235
+ * Search User only
2236
+ *
2237
+ * Search for Invezgo app users based on query keywords with pagination support.
2238
+ *
2239
+ * Response:
2240
+ * - hits: Matching users (max 20 per page), each item contains:
2241
+ * - username: User's username
2242
+ * - name: User's display name
2243
+ * - image: User's profile picture URL (null if none)
2244
+ * - query: Searched keyword
2245
+ * - processingTimeMs: Search processing time (milliseconds)
2246
+ * - hitsPerPage: Results per page (always 20)
2247
+ * - page: Current page number (from the cursor parameter, default 1)
2248
+ * - totalPages: Total number of pages
2249
+ * - totalHits: Total number of matches
2250
+ *
2251
+ * Update: Real-time
2252
+ *
2253
+ * `GET /search/user` — cached (`cache.ttl`).
2254
+ *
2255
+ * @param params Query parameters.
2256
+ * @param options Per-request options (e.g. `signal`).
2257
+ * @returns SearchUserResponse
2258
+ */
2259
+ searchUser(params: SearchUserParams, options?: RequestOptions): Promise<SearchUserResponse>;
2260
+ }
2261
+ /** Run stock screeners and manage saved screener presets. */
2262
+ export declare class ScreenerResource {
2263
+ private readonly transport;
2264
+ constructor(transport: Transport);
2265
+ /**
2266
+ * Screener
2267
+ *
2268
+ * Get a list of stock data matching the specified formula.
2269
+ *
2270
+ * Update: Real-time (for real-time variables) and EOD (for non-real-time variables)
2271
+ *
2272
+ * Rate Limit: This endpoint has a special rate limit of 1 request per minute.
2273
+ *
2274
+ * Response:
2275
+ * - code: Stock code matching the formula (max 1200 stocks)
2276
+ * - matched: Formula match status, always true (only matching stocks are returned)
2277
+ * - <variable>: Value of each non-numeric expression on either side of a formula comparison, key = the exact expression text (e.g. close, prev, rsi(14), (volume/100)); number rounded to 6 decimals, null if it cannot be evaluated
2278
+ *
2279
+ * `POST /screener/screen` — not cached.
2280
+ * @see https://invezgo.com/screener
2281
+ *
2282
+ * @param body Request body: Payload untuk menjalankan screener
2283
+ * @param options Per-request options (e.g. `signal`).
2284
+ * @returns ScreenerScreenResponse
2285
+ */
2286
+ screen(body: ScreenRequest, options?: RequestOptions): Promise<ScreenerScreenResponse>;
2287
+ /**
2288
+ * Screener Preset List
2289
+ *
2290
+ * Get the list of screener presets, grouped into your own presets, public presets, and presets shared with your plan.
2291
+ *
2292
+ * Response:
2293
+ * - name: Group name: Private (your own presets), Public (presets with public scope), Membership (presets shared with your plan)
2294
+ * - groups: Presets in the group, each item contains:
2295
+ * - id: Preset ID (only in the Private group), used for PUT/DELETE /screener/{id}
2296
+ * - name: Preset name
2297
+ * - description: Preset description (null if empty)
2298
+ * - scope: Preset visibility list (e.g. ["public"] or plan names)
2299
+ * - formula: Screener formula, can be run with POST /screener/screen
2300
+ * - category: Index categories the stocks are filtered to (e.g. ["SYARIAH"]); empty or null means all stocks
2301
+ * - profile_name: Name of the preset creator
2302
+ * - profile_image: Profile picture URL of the preset creator (null if none)
2303
+ *
2304
+ * Notes:
2305
+ * - The response always contains three groups in the order Private, Public, Membership
2306
+ * - Changes to other users' presets may appear up to 2 hours late; changes to your own presets are visible immediately
2307
+ *
2308
+ * `GET /screener` — cached (`cache.ttl`).
2309
+ *
2310
+ * @param options Per-request options (e.g. `signal`).
2311
+ * @returns ScreenerListResponse
2312
+ */
2313
+ list(options?: RequestOptions): Promise<ScreenerListResponse>;
2314
+ /**
2315
+ * Save Screener Preset
2316
+ *
2317
+ * Save a new screener preset. The formula is tested first; if it is invalid, the preset is not saved and the 400 response contains the formula error details.
2318
+ *
2319
+ * Response:
2320
+ * - message: Success message in the requested language (Accept-Language), e.g. "New preset {name} added successfully"
2321
+ *
2322
+ * Notes:
2323
+ * - scope defaults to ["public"] when omitted
2324
+ * - an omitted category means all stocks
2325
+ * - the new preset ID is listed in the Private group of GET /screener
2326
+ *
2327
+ * `POST /screener` — not cached.
2328
+ *
2329
+ * @param body Request body.
2330
+ * @param options Per-request options (e.g. `signal`).
2331
+ * @returns ScreenerSaveResponse
2332
+ */
2333
+ save(body: SaveScreenerRequest, options?: RequestOptions): Promise<ScreenerSaveResponse>;
2334
+ /**
2335
+ * Update Screener Preset
2336
+ *
2337
+ * Update one of your screener presets by ID. All fields (name, description, scope, formula, category) are overwritten with the new values, and the formula is tested first.
2338
+ *
2339
+ * Response:
2340
+ * - message: Success message in the requested language (Accept-Language), e.g. "Preset {name} updated successfully"
2341
+ *
2342
+ * Notes:
2343
+ * - scope defaults to ["public"] when omitted; an omitted description or category is cleared
2344
+ * - an ID that does not exist or is not yours changes nothing but still returns the success message
2345
+ *
2346
+ * `PUT /screener/{id}` — not cached.
2347
+ *
2348
+ * @param id ID preset screener, diambil dari field `id` pada response `GET /screener`. Example: `1`.
2349
+ * @param body Request body.
2350
+ * @param options Per-request options (e.g. `signal`).
2351
+ * @returns ScreenerUpdateResponse
2352
+ */
2353
+ update(id: string, body: UpdateScreenerRequest, options?: RequestOptions): Promise<ScreenerUpdateResponse>;
2354
+ /**
2355
+ * Delete Screener Preset
2356
+ *
2357
+ * Delete one of your screener presets by ID.
2358
+ *
2359
+ * Response:
2360
+ * - message: Success message in the requested language (Accept-Language), e.g. "Preset {name} deleted successfully"
2361
+ *
2362
+ * `DELETE /screener/{id}` — not cached.
2363
+ *
2364
+ * @param id ID preset screener, diambil dari field `id` pada response `GET /screener`. Example: `1`.
2365
+ * @param options Per-request options (e.g. `signal`).
2366
+ * @returns ScreenerDeleteResponse
2367
+ */
2368
+ delete(id: string, options?: RequestOptions): Promise<ScreenerDeleteResponse>;
2369
+ }
2370
+ /** API usage and quota monitoring (does not consume quota). */
2371
+ export declare class UsageResource {
2372
+ private readonly transport;
2373
+ constructor(transport: Transport);
2374
+ /**
2375
+ * API Usage
2376
+ *
2377
+ * Information on API usage.
2378
+ *
2379
+ * Response:
2380
+ * - usage: Number of requests counted in the current quota period
2381
+ * - remaining: Requests left in the quota period (minimum 0; in-flight requests are also deducted)
2382
+ * - limit: Monthly request quota of the plan
2383
+ * - isBlocked: true when the quota is used up
2384
+ * - expire: Quota reset time (DateTime WIB (UTC+7), e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
2385
+ * - role: Active plan name in upper case, e.g. ADVANCE
2386
+ *
2387
+ * Notes:
2388
+ * - The quota period is 30 days, or until the subscription ends if that is sooner
2389
+ * - Calling this endpoint does not consume quota
2390
+ *
2391
+ * `GET /usage/api` — not cached.
2392
+ *
2393
+ * @param options Per-request options (e.g. `signal`).
2394
+ * @returns ApiUsageResponse
2395
+ */
2396
+ getApiUsage(options?: RequestOptions): Promise<ApiUsageResponse>;
2397
+ /**
2398
+ * API Usage Logs
2399
+ *
2400
+ * Get the API usage log history (requests made with an API key) of the authenticated user, newest first.
2401
+ *
2402
+ * Response:
2403
+ * - id: Log ID
2404
+ * - date: Request time (ISO 8601 with a time-zone offset, e.g. 2026-07-30T22:57:26.606+07:00)
2405
+ * - method: HTTP method
2406
+ * - url: Called endpoint URL
2407
+ * - access: Client User-Agent
2408
+ * - status: HTTP status code of the response
2409
+ * - response_time: Response time in milliseconds
2410
+ *
2411
+ * Notes:
2412
+ * - from cannot be more than 30 days ago (counted from the start of that day, WIB); defaults to the last 24 hours
2413
+ * - to defaults to the current time and cannot be earlier than from
2414
+ * - Without limit, all logs in the time range are returned
2415
+ * - Calling this endpoint does not consume quota
2416
+ *
2417
+ * `GET /usage/logs` — not cached.
2418
+ *
2419
+ * @param params Query parameters.
2420
+ * @param options Per-request options (e.g. `signal`).
2421
+ * @returns UsageLogsResponse
2422
+ */
2423
+ getLogs(params?: UsageLogsParams, options?: RequestOptions): Promise<UsageLogsResponse>;
2424
+ }
2425
+ /** Personal watchlists and watchlist groups. */
2426
+ export declare class WatchlistsResource {
2427
+ private readonly transport;
2428
+ constructor(transport: Transport);
2429
+ /**
2430
+ * Watchlist
2431
+ *
2432
+ * Get the stocks in the user's watchlist with their last price and percentage change against the saved reference price.
2433
+ *
2434
+ * Response:
2435
+ * - id: Watchlist item ID (used by `PUT /watchlists/{id}`, `PATCH /watchlists/{id}` and `DELETE /watchlists`)
2436
+ * - code: Stock code
2437
+ * - note: User note (null if none)
2438
+ * - price: Reference price saved by the user (Rupiah)
2439
+ * - name: Company name (null if the code is not in the stock list)
2440
+ * - last: Last price (Rupiah), null if no price data yet
2441
+ * - change: Percentage change of `last` against `price` (%), null if no price data yet
2442
+ * - group_id: Watchlist group ID (null if the item has no group)
2443
+ *
2444
+ * Update: Between 08:40 and 18:30 WIB, `last` and `change` use the realtime price when available; outside those hours they use the latest closing price.
2445
+ *
2446
+ * Notes:
2447
+ * - Set `group` to an ID from the `value` field of `GET /watchlists/group` to show one group; set it to `null` (or omit it) to show the whole watchlist across all groups.
2448
+ * - Order: most recently updated items first.
2449
+ * - `last` and `change` may be delayed, so they do not always reflect the current price; adding, updating or deleting a watchlist item reloads the data.
2450
+ *
2451
+ * `GET /watchlists` — cached (`cache.ttl`).
2452
+ *
2453
+ * @param params Query parameters.
2454
+ * @param options Per-request options (e.g. `signal`).
2455
+ * @returns WatchlistsListResponse
2456
+ */
2457
+ list(params?: WatchlistsListParams, options?: RequestOptions): Promise<WatchlistsListResponse>;
2458
+ /**
2459
+ * Add Stock to Watchlist
2460
+ *
2461
+ * Add a new stock to the user's watchlist.
2462
+ *
2463
+ * Response:
2464
+ * - message: Confirmation message, e.g. "BBCA added to watchlist"
2465
+ *
2466
+ * Notes:
2467
+ * - group: Group ID from the `value` field of `GET /watchlists/group` (exactly 25 characters).
2468
+ * - code: Stock code (max 6 characters).
2469
+ * - price: Reference price in Rupiah (at least 1), used to compute `change` in `GET /watchlists`.
2470
+ * - note: Optional note (max 150 characters); do not send null, omit the field instead.
2471
+ * - scope: Array of visibility strings for the watchlist item.
2472
+ * - A stock code can appear only once across the user's whole watchlist; adding an existing code returns `409`.
2473
+ * - `group` must be an existing group ID and `code` a listed stock code; otherwise the request fails.
2474
+ *
2475
+ * `POST /watchlists` — not cached.
2476
+ *
2477
+ * @param body Request body.
2478
+ * @param options Per-request options (e.g. `signal`).
2479
+ * @returns WatchlistsAddResponse
2480
+ */
2481
+ add(body: AddWatchlistRequest, options?: RequestOptions): Promise<WatchlistsAddResponse>;
2482
+ /**
2483
+ * Delete Watchlist Items
2484
+ *
2485
+ * Delete one or more stocks from the user's watchlist by item ID.
2486
+ *
2487
+ * Response:
2488
+ * - message: Confirmation message with the number of IDs sent, e.g. "2 watchlist deleted"
2489
+ *
2490
+ * Notes:
2491
+ * - Send a JSON body `{"id": ["<id>", ...]}` with IDs from the `id` field of `GET /watchlists`.
2492
+ * - The number in the message is the length of the `id` array sent, not the number of items actually deleted; IDs that are not found or belong to another user are ignored.
2493
+ * - `id` must be an array.
2494
+ *
2495
+ * `DELETE /watchlists` — not cached.
2496
+ *
2497
+ * @param body Request body: Daftar ID item watchlist yang akan dihapus.
2498
+ * @param options Per-request options (e.g. `signal`).
2499
+ * @returns WatchlistsDeleteResponse
2500
+ */
2501
+ delete(body: DeleteIdsRequest, options?: RequestOptions): Promise<WatchlistsDeleteResponse>;
2502
+ /**
2503
+ * Watchlist Group List
2504
+ *
2505
+ * Get the user's watchlist groups.
2506
+ *
2507
+ * Response:
2508
+ * - value: Watchlist group ID (used as `group` in `GET /watchlists`, `POST /watchlists`, `PUT /watchlists/{id}`, and as `{id}` in `PUT`/`DELETE /watchlists/group/{id}`)
2509
+ * - label: Group name
2510
+ *
2511
+ * Notes:
2512
+ * - Returns an empty array if the user has no groups.
2513
+ * - Group order is not guaranteed.
2514
+ *
2515
+ * `GET /watchlists/group` — cached (`cache.ttl`).
2516
+ *
2517
+ * @param options Per-request options (e.g. `signal`).
2518
+ * @returns WatchlistsListGroupsResponse
2519
+ */
2520
+ listGroups(options?: RequestOptions): Promise<WatchlistsListGroupsResponse>;
2521
+ /**
2522
+ * Create Watchlist Group
2523
+ *
2524
+ * Create a new watchlist group for the user.
2525
+ *
2526
+ * Response:
2527
+ * - message: Confirmation message, "Group added"
2528
+ *
2529
+ * Notes:
2530
+ * - name: Group name (1-100 characters).
2531
+ * - The new group's ID is available in the `value` field of `GET /watchlists/group`.
2532
+ *
2533
+ * `POST /watchlists/group` — not cached.
2534
+ *
2535
+ * @param body Request body.
2536
+ * @param options Per-request options (e.g. `signal`).
2537
+ * @returns WatchlistsAddGroupResponse
2538
+ */
2539
+ addGroup(body: WatchlistGroupRequest, options?: RequestOptions): Promise<WatchlistsAddGroupResponse>;
2540
+ /**
2541
+ * Update Watchlist Group
2542
+ *
2543
+ * Rename one of the user's watchlist groups.
2544
+ *
2545
+ * Response:
2546
+ * - message: Confirmation message
2547
+ *
2548
+ * Notes:
2549
+ * - id: Group ID from the `value` field of `GET /watchlists/group`.
2550
+ * - name: New group name (1-100 characters).
2551
+ * - Returns `404` if the group is not found or does not belong to the user.
2552
+ *
2553
+ * `PUT /watchlists/group/{id}` — not cached.
2554
+ *
2555
+ * @param id ID grup watchlist, diambil dari field `id` pada response `GET /watchlists/group`. Example: `1`.
2556
+ * @param body Request body.
2557
+ * @param options Per-request options (e.g. `signal`).
2558
+ * @returns WatchlistsUpdateGroupResponse
2559
+ */
2560
+ updateGroup(id: string, body: WatchlistGroupRequest, options?: RequestOptions): Promise<WatchlistsUpdateGroupResponse>;
2561
+ /**
2562
+ * Delete Watchlist Group
2563
+ *
2564
+ * Delete one of the user's watchlist groups.
2565
+ *
2566
+ * Response:
2567
+ * - message: Confirmation message
2568
+ *
2569
+ * Notes:
2570
+ * - id: Group ID from the `value` field of `GET /watchlists/group`.
2571
+ * - All watchlist items in the group are deleted with it.
2572
+ * - Returns `404` if the group is not found or does not belong to the user.
2573
+ *
2574
+ * `DELETE /watchlists/group/{id}` — not cached.
2575
+ *
2576
+ * @param id ID grup watchlist, diambil dari field `id` pada response `GET /watchlists/group`. Example: `1`.
2577
+ * @param options Per-request options (e.g. `signal`).
2578
+ * @returns WatchlistsDeleteGroupResponse
2579
+ */
2580
+ deleteGroup(id: string, options?: RequestOptions): Promise<WatchlistsDeleteGroupResponse>;
2581
+ /**
2582
+ * Update Watchlist Item
2583
+ *
2584
+ * Move a watchlist item to another group and/or change its reference price.
2585
+ *
2586
+ * Response:
2587
+ * - message: Confirmation message, "Note watchlist updated"
2588
+ *
2589
+ * Notes:
2590
+ * - id: Item ID from the `id` field of `GET /watchlists`.
2591
+ * - group: Target group ID from the `value` field of `GET /watchlists/group` (exactly 25 characters, must be an existing group).
2592
+ * - price: New reference price in Rupiah (at least 1).
2593
+ * - Both fields are required. An ID that is not found or belongs to another user still returns `200` without changing anything.
2594
+ *
2595
+ * `PUT /watchlists/{id}` — not cached.
2596
+ *
2597
+ * @param id ID item watchlist, diambil dari field `id` pada response `GET /watchlists`. Example: `1`.
2598
+ * @param body Request body.
2599
+ * @param options Per-request options (e.g. `signal`).
2600
+ * @returns WatchlistsUpdateResponse
2601
+ */
2602
+ update(id: string, body: UpdateWatchlistRequest, options?: RequestOptions): Promise<WatchlistsUpdateResponse>;
2603
+ /**
2604
+ * Update Watchlist Note
2605
+ *
2606
+ * Update the note on a watchlist item.
2607
+ *
2608
+ * Response:
2609
+ * - message: Confirmation message, "Note watchlist updated"
2610
+ *
2611
+ * Notes:
2612
+ * - id: Item ID from the `id` field of `GET /watchlists`.
2613
+ * - note: New note (max 150 characters). Omit `note` (body `{}`) to clear the note; null is rejected with `422`.
2614
+ * - An ID that is not found or belongs to another user still returns `200` without changing anything.
2615
+ *
2616
+ * `PATCH /watchlists/{id}` — not cached.
2617
+ *
2618
+ * @param id ID item watchlist, diambil dari field `id` pada response `GET /watchlists`. Example: `1`.
2619
+ * @param body Request body.
2620
+ * @param options Per-request options (e.g. `signal`).
2621
+ * @returns WatchlistsUpdateNoteResponse
2622
+ */
2623
+ updateNote(id: string, body: NoteRequest, options?: RequestOptions): Promise<WatchlistsUpdateNoteResponse>;
2624
+ }
2625
+ /** Personal trading journal transactions. */
2626
+ export declare class JournalsResource {
2627
+ private readonly transport;
2628
+ constructor(transport: Transport);
2629
+ /**
2630
+ * Add Journal Transaction
2631
+ *
2632
+ * Add one BUY or SELL transaction to the user's journal and update the portfolio. A BUY adds lots and recalculates the average price (incl. buy fee) for the stock code + broker pair; a SELL reduces lots and records a realized trade (profit/loss) shown in `GET /trades`.
2633
+ *
2634
+ * Response:
2635
+ * - message: Confirmation message, e.g. "Journal BBCA added successfully." (language follows the Accept-Language header)
2636
+ *
2637
+ * Notes:
2638
+ * - status defaults to BUY when omitted; anything other than BUY/SELL is rejected (422)
2639
+ * - fee is a percentage of the transaction value (e.g. 0.15 = 0.15%)
2640
+ * - Journal value = lot x 100 x price, plus fee for BUY or minus fee for SELL, rounded to Rupiah
2641
+ * - A SELL requires an existing portfolio position for the same stock code and broker; the position is removed automatically when its lots reach zero
2642
+ * - note must be sent (may be null), max 150 characters
2643
+ *
2644
+ * `POST /journals` — not cached.
2645
+ *
2646
+ * @param body Request body.
2647
+ * @param options Per-request options (e.g. `signal`).
2648
+ * @returns JournalsAddResponse
2649
+ */
2650
+ add(body: AddJournalRequest, options?: RequestOptions): Promise<JournalsAddResponse>;
2651
+ /**
2652
+ * Journal Transaction List
2653
+ *
2654
+ * Get the user's journal transactions (BUY/SELL) dated between `from` and `to` (inclusive), newest first.
2655
+ *
2656
+ * Response:
2657
+ * - id: Journal transaction ID (used by `DELETE /journals`)
2658
+ * - code: Stock code
2659
+ * - broker: Broker code (2 letters)
2660
+ * - date: Transaction date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
2661
+ * - lot: Quantity in lots (1 lot = 100 shares)
2662
+ * - price: Transaction price per share (Rupiah)
2663
+ * - value: Transaction value in Rupiah as a numeric string, incl. fee (BUY = lot x 100 x price + fee; SELL = minus fee), rounded
2664
+ * - status: Transaction type (BUY or SELL)
2665
+ * - note: User note, null if empty
2666
+ *
2667
+ * `GET /journals` — cached (`cache.ttl`).
2668
+ *
2669
+ * @param params Query parameters.
2670
+ * @param options Per-request options (e.g. `signal`).
2671
+ * @returns JournalsListResponse
2672
+ */
2673
+ list(params: JournalsListParams, options?: RequestOptions): Promise<JournalsListResponse>;
2674
+ /**
2675
+ * Delete Journal Transactions
2676
+ *
2677
+ * Delete one or more journal transactions by ID (body `{"id": ["<id>", ...]}`) and reverse their effect on the portfolio: deleting a BUY reduces the position's lots, deleting a SELL returns the lots to the position and removes the related realized trade.
2678
+ *
2679
+ * Response:
2680
+ * - message: Confirmation message, e.g. "Journal deleted successfully." (language follows the Accept-Language header)
2681
+ *
2682
+ * Notes:
2683
+ * - IDs come from the `id` field of `GET /journals`; unknown IDs are ignored
2684
+ * - The `id` field is required in the body
2685
+ *
2686
+ * `DELETE /journals` — not cached.
2687
+ *
2688
+ * @param body Request body: Daftar ID transaksi jurnal yang akan dihapus.
2689
+ * @param options Per-request options (e.g. `signal`).
2690
+ * @returns JournalsDeleteResponse
2691
+ */
2692
+ delete(body: DeleteIdsRequest, options?: RequestOptions): Promise<JournalsDeleteResponse>;
2693
+ /**
2694
+ * Journal Summary
2695
+ *
2696
+ * Get a summary of the user's journal transactions dated between `from` and `to` (inclusive): counts and percentages per transaction type, total and average value, and a per-stock recap.
2697
+ *
2698
+ * Response:
2699
+ * - top_code: Stock codes, most transactions first
2700
+ * - total_transaction: Number of transactions in the period
2701
+ * - total_buy: Number of BUY transactions
2702
+ * - total_sell: Number of SELL transactions
2703
+ * - total_dividend: Number of DIVIDEND transactions
2704
+ * - total_value: Sum of the value of all transactions (Rupiah; BUY and SELL added together)
2705
+ * - percentage_buy: Share of BUY transactions (%)
2706
+ * - percentage_sell: Share of SELL transactions (%)
2707
+ * - percentage_dividend: Share of DIVIDEND transactions (%)
2708
+ * - average_value: Average value per transaction (Rupiah)
2709
+ * - transactions: Per-stock recap, highest total first, each item contains:
2710
+ * - code: Stock code
2711
+ * - buy: Number of BUY transactions
2712
+ * - sell: Number of SELL transactions
2713
+ * - dividend: Number of DIVIDEND transactions
2714
+ * - total: Total transactions for that stock
2715
+ *
2716
+ * Note: When there are no transactions in the period, every number is 0 and the lists are empty.
2717
+ *
2718
+ * `GET /journals/summary` — cached (`cache.ttl`).
2719
+ *
2720
+ * @param params Query parameters.
2721
+ * @param options Per-request options (e.g. `signal`).
2722
+ * @returns JournalsSummaryResponse
2723
+ */
2724
+ getSummary(params: JournalsSummaryParams, options?: RequestOptions): Promise<JournalsSummaryResponse>;
2725
+ }
2726
+ /** Personal portfolio built from journal transactions. */
2727
+ export declare class PortfoliosResource {
2728
+ private readonly transport;
2729
+ constructor(transport: Transport);
2730
+ /**
2731
+ * Portfolio
2732
+ *
2733
+ * Get the stock positions the user currently holds (built from journal entries), combined per stock code across all brokers, most recently updated first.
2734
+ *
2735
+ * Response:
2736
+ * - code: Stock code
2737
+ * - name: Company name, null if not available
2738
+ * - sector: Stock sector, null if not available
2739
+ * - subsector: Stock subsector, null if not available
2740
+ * - lot: Total held lots (1 lot = 100 shares)
2741
+ * - price: Average buy price per share, incl. buy fee (Rupiah)
2742
+ * - last: Latest closing price (Rupiah), null if not available yet
2743
+ * - value: Cost basis = lot x 100 x price (Rupiah)
2744
+ * - change: Change of the latest price vs the average price (%), null when last is null
2745
+ * - net: Unrealized profit/loss = lot x 100 x (last - price) (Rupiah), null when last is null
2746
+ * - subrow: Per-broker breakdown, each item contains:
2747
+ * - broker: Broker code (2 letters)
2748
+ * - lot: Lots held at that broker
2749
+ * - price: Average buy price per share at that broker, incl. buy fee (Rupiah)
2750
+ * - child: Number of brokers in subrow
2751
+ *
2752
+ * `GET /portfolios` — cached (`cache.ttl`).
2753
+ *
2754
+ * @param options Per-request options (e.g. `signal`).
2755
+ * @returns PortfoliosListResponse
2756
+ */
2757
+ list(options?: RequestOptions): Promise<PortfoliosListResponse>;
2758
+ /**
2759
+ * Portfolio Summary
2760
+ *
2761
+ * Get the user's portfolio summary: total cost basis, market value, unrealized profit/loss, and allocation per stock, sector and subsector.
2762
+ *
2763
+ * Response:
2764
+ * - total_value: Total cost basis (Rupiah)
2765
+ * - market_value: Total market value = cost basis + unrealized (Rupiah)
2766
+ * - unrealized: Total unrealized profit/loss (Rupiah)
2767
+ * - shares: Allocation per stock, each item contains:
2768
+ * - name: Stock code
2769
+ * - total_value: Cost basis of that stock (Rupiah)
2770
+ * - share: Share of the total cost basis (%)
2771
+ * - sector: Allocation per sector (stocks without a sector are left out), each item contains:
2772
+ * - name: Sector name
2773
+ * - total_value: Cost basis of that sector (Rupiah)
2774
+ * - share: Share of the total cost basis (%)
2775
+ * - subsector: Allocation per subsector (stocks without a subsector are left out), same fields as sector
2776
+ *
2777
+ * Note: Stocks without a latest price count with 0 unrealized. For an empty portfolio every number is 0 and the lists are empty.
2778
+ *
2779
+ * `GET /portfolios/summary` — cached (`cache.ttl`).
2780
+ *
2781
+ * @param options Per-request options (e.g. `signal`).
2782
+ * @returns PortfoliosSummaryResponse
2783
+ */
2784
+ getSummary(options?: RequestOptions): Promise<PortfoliosSummaryResponse>;
2785
+ }
2786
+ /** Live formula alerts. */
2787
+ export declare class AlertsResource {
2788
+ private readonly transport;
2789
+ constructor(transport: Transport);
2790
+ /**
2791
+ * Create Alert
2792
+ *
2793
+ * Create an alert to get notified when stocks meet a given formula.
2794
+ *
2795
+ * Response:
2796
+ * - message: Success message in the requested language (Accept-Language), e.g. "New Live Alert {name} added successfully"
2797
+ *
2798
+ * Notes:
2799
+ * - A Telegram account must be connected
2800
+ * - Active alert limit per plan: TRIAL 2, BASIC 7, PRO 15, ULTRA 30; ADVANCE and higher plans are unlimited
2801
+ * - The formula is tested first; if it is invalid, the alert is not created and the 400 response contains the formula error details
2802
+ * - The alert stays active until your subscription expires
2803
+ * - scope defaults to ["public"] when omitted; an omitted category means all stocks
2804
+ *
2805
+ * `POST /alerts` — not cached.
2806
+ * @see https://invezgo.com/id/live-alert
2807
+ *
2808
+ * @param body Request body.
2809
+ * @param options Per-request options (e.g. `signal`).
2810
+ * @returns AlertsCreateResponse
2811
+ */
2812
+ create(body: AlertRequest, options?: RequestOptions): Promise<AlertsCreateResponse>;
2813
+ /**
2814
+ * Alert List
2815
+ *
2816
+ * List of created alerts.
2817
+ *
2818
+ * Response:
2819
+ * - name: Alert group name: Private (your own alerts), Public (other users' alerts with public scope), Membership (other users' alerts shared with your plan)
2820
+ * - groups: Active alerts in the group, each item contains:
2821
+ * - id: Alert ID (only in the Private group)
2822
+ * - name: Alert name
2823
+ * - description: Alert description (null if empty)
2824
+ * - every: Check interval: FOURTY_FIVE_SECONDS, ONE_MINUTE, FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR, END_SESSION, END_OF_DAY
2825
+ * - send_on: When the notification is sent: IN (stock enters the condition), OUT (stock leaves the condition), IN_OUT (both)
2826
+ * - scope: Alert visibility list (e.g. ["public"] or plan names)
2827
+ * - formula: Alert formula
2828
+ * - category: Index categories the stocks are filtered to (e.g. ["SYARIAH"]), null for all stocks
2829
+ * - profile_name: Name of the alert creator
2830
+ * - profile_image: Profile picture URL of the alert creator (null if none)
2831
+ *
2832
+ * Notes:
2833
+ * - The response always contains three groups in the order Private, Public, Membership
2834
+ * - Only alerts that are not disabled and not expired are shown
2835
+ *
2836
+ * `GET /alerts` — cached (`cache.ttl`).
2837
+ * @see https://invezgo.com/id/live-alert
2838
+ *
2839
+ * @param options Per-request options (e.g. `signal`).
2840
+ * @returns AlertsListResponse
2841
+ */
2842
+ list(options?: RequestOptions): Promise<AlertsListResponse>;
2843
+ /**
2844
+ * Test Alert Formula
2845
+ *
2846
+ * Test an alert formula before creating the alert.
2847
+ *
2848
+ * Response:
2849
+ * - success: true if the formula is valid and evaluated successfully; false on error or a high-risk pattern
2850
+ * - formula: Tested formula (after automatic normalization, e.g. division guards)
2851
+ * - total_stocks: Number of active stocks evaluated (after the category filter)
2852
+ * - matched_count: Number of stocks matching the formula
2853
+ * - matched_stocks: Codes of stocks matching the formula (max 100)
2854
+ * - sample_results: Evaluation results of the first 5 stocks (absent if the formula fails validation), each item contains:
2855
+ * - code: Stock code
2856
+ * - matched: Whether the stock matches the formula
2857
+ * - error: Evaluation error message (present only on failure)
2858
+ * - processed_formula: Formula after functions were resolved for this stock
2859
+ * - warnings: Formula warnings (absent when empty), each item contains:
2860
+ * - level: Warning level: info, warning, error
2861
+ * - message: Warning message
2862
+ * - pattern: Formula fragment that triggered the warning
2863
+ * - suggestion: Suggested fix (optional)
2864
+ * - error: Error message (present only on failure); when success is false it holds the joined warnings or the error message
2865
+ * - message: Same as error, present only when success is false
2866
+ * - category_filter: Applied index categories (present only when sent)
2867
+ * - category_filtered_count: Number of stocks passing the category filter
2868
+ *
2869
+ * Notes:
2870
+ * - An invalid formula is still returned with HTTP 200 and success false; always check the success field
2871
+ *
2872
+ * `POST /alerts/test` — not cached.
2873
+ * @see https://invezgo.com/id/live-alert
2874
+ *
2875
+ * @param body Request body.
2876
+ * @param options Per-request options (e.g. `signal`).
2877
+ * @returns AlertsTestResponse
2878
+ */
2879
+ test(body: TestAlertRequest, options?: RequestOptions): Promise<AlertsTestResponse>;
2880
+ /**
2881
+ * Update Alert
2882
+ *
2883
+ * Update a created alert.
2884
+ *
2885
+ * Response:
2886
+ * - message: Success message in the requested language (Accept-Language), e.g. "Live Alert {name} updated successfully"
2887
+ *
2888
+ * Notes:
2889
+ * - The formula is tested first; if it is invalid, the alert is not changed and the 400 response contains the formula error details
2890
+ * - Requires an active subscription and a connected Telegram account; the alert's active period is extended to the subscription expiry
2891
+ * - An alert that does not exist, is not yours, or is disabled returns 404
2892
+ * - scope defaults to ["public"] when omitted; an omitted description or category is cleared
2893
+ *
2894
+ * `PUT /alerts/{id}` — not cached.
2895
+ * @see https://invezgo.com/id/live-alert
2896
+ *
2897
+ * @param id ID alert, diambil dari field `id` pada response `GET /alerts`. Example: `1`.
2898
+ * @param body Request body.
2899
+ * @param options Per-request options (e.g. `signal`).
2900
+ * @returns AlertsUpdateResponse
2901
+ */
2902
+ update(id: string, body: UpdateAlertRequest, options?: RequestOptions): Promise<AlertsUpdateResponse>;
2903
+ /**
2904
+ * Delete Alert
2905
+ *
2906
+ * Delete a created alert.
2907
+ *
2908
+ * Response:
2909
+ * - message: Success message in the requested language (Accept-Language), e.g. "Live Alert {name} deleted successfully"
2910
+ *
2911
+ * Notes:
2912
+ * - An alert that does not exist or is not yours returns 404
2913
+ *
2914
+ * `DELETE /alerts/{id}` — not cached.
2915
+ * @see https://invezgo.com/id/live-alert
2916
+ *
2917
+ * @param id ID alert, diambil dari field `id` pada response `GET /alerts`. Example: `1`.
2918
+ * @param options Per-request options (e.g. `signal`).
2919
+ * @returns AlertsDeleteResponse
2920
+ */
2921
+ delete(id: string, options?: RequestOptions): Promise<AlertsDeleteResponse>;
2922
+ }
2923
+ /** Community posts, comments, likes and votes. */
2924
+ export declare class PostsResource {
2925
+ private readonly transport;
2926
+ constructor(transport: Transport);
2927
+ /**
2928
+ * Post List
2929
+ *
2930
+ * Get the list of all Invezgo community posts with pagination, sorted newest first.
2931
+ *
2932
+ * Response:
2933
+ * - totalPage: Total pages based on limit
2934
+ * - page: Current page
2935
+ * - nextPage: Next page number, null on the last page
2936
+ * - data: Post list (newest first), each item contains:
2937
+ * - id: Post ID
2938
+ * - username: Author username
2939
+ * - content: Post content (HTML)
2940
+ * - updated_at: Last update time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
2941
+ * - created_at: Creation time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
2942
+ * - visibility: Post visibility setting
2943
+ * - image: Author profile image URL (null if not set)
2944
+ * - name: Author display name (null if not set)
2945
+ * - verified: Whether the author is a verified account
2946
+ * - like: Number of likes
2947
+ * - favorite: Number of favorites
2948
+ * - comment: Number of comments
2949
+ * - is_like: true if you have liked the post
2950
+ * - is_favorite: true if you have favorited the post
2951
+ *
2952
+ * Notes:
2953
+ * - Only posts within your account's access scope are returned
2954
+ *
2955
+ * `GET /posts` — cached (`cache.ttl`).
2956
+ *
2957
+ * @param params Query parameters.
2958
+ * @param options Per-request options (e.g. `signal`).
2959
+ * @returns PostsListResponse
2960
+ */
2961
+ list(params: PostsListParams, options?: RequestOptions): Promise<PostsListResponse>;
2962
+ /**
2963
+ * Posts by Category
2964
+ *
2965
+ * Get the community posts of one category with pagination, sorted newest first.
2966
+ *
2967
+ * Response:
2968
+ * - totalPage: Total pages based on limit
2969
+ * - page: Current page
2970
+ * - nextPage: Next page number, null on the last page
2971
+ * - data: Post list (newest first), each item contains:
2972
+ * - id: Post ID
2973
+ * - username: Author username
2974
+ * - content: Post content (HTML)
2975
+ * - updated_at: Last update time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
2976
+ * - created_at: Creation time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
2977
+ * - visibility: Post visibility setting
2978
+ * - image: Author profile image URL (null if not set)
2979
+ * - name: Author display name (null if not set)
2980
+ * - verified: Whether the author is a verified account
2981
+ * - like: Number of likes
2982
+ * - favorite: Number of favorites
2983
+ * - comment: Number of comments
2984
+ * - is_like: true if you have liked the post
2985
+ * - is_favorite: true if you have favorited the post
2986
+ *
2987
+ * Categories: POST (general post), ARTICLE (article), VIDEO (video), STOCKPICK (stock pick), POLLING (poll)
2988
+ * - The category value is case-insensitive; an unknown category returns empty data
2989
+ *
2990
+ * Notes:
2991
+ * - Only posts within your account's access scope are returned
2992
+ *
2993
+ * `GET /posts/category/{category}` — cached (`cache.ttl`).
2994
+ *
2995
+ * @param category Kategori postingan: `POST` = postingan umum, `ARTICLE` = artikel, `VIDEO` = video, `STOCKPICK` = rekomendasi saham, `POLLING` = polling. Example: `POST`.
2996
+ * @param params Query parameters.
2997
+ * @param options Per-request options (e.g. `signal`).
2998
+ * @returns PostsListByCategoryResponse
2999
+ */
3000
+ listByCategory(category: "POST" | "ARTICLE" | "VIDEO" | "STOCKPICK" | "POLLING", params: PostsListByCategoryParams, options?: RequestOptions): Promise<PostsListByCategoryResponse>;
3001
+ /**
3002
+ * Stock Posts
3003
+ *
3004
+ * Get the posts in a stock's discussion space (posts that mention the stock code) with pagination, sorted newest first.
3005
+ *
3006
+ * Response:
3007
+ * - totalPage: Total pages based on limit
3008
+ * - page: Current page
3009
+ * - nextPage: Next page number, null on the last page
3010
+ * - data: Post list (newest first), each item contains:
3011
+ * - id: Post ID
3012
+ * - username: Author username
3013
+ * - content: Post content (HTML)
3014
+ * - updated_at: Last update time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3015
+ * - created_at: Creation time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3016
+ * - visibility: Post visibility setting
3017
+ * - image: Author profile image URL (null if not set)
3018
+ * - name: Author display name (null if not set)
3019
+ * - verified: Whether the author is a verified account
3020
+ * - like: Number of likes
3021
+ * - favorite: Number of favorites
3022
+ * - comment: Number of comments
3023
+ * - is_like: true if you have liked the post
3024
+ * - is_favorite: true if you have favorited the post
3025
+ *
3026
+ * Notes:
3027
+ * - The stock code must be uppercase (e.g. BBCA); an unknown code returns empty data
3028
+ * - Only posts within your account's access scope are returned
3029
+ *
3030
+ * `GET /posts/space/{code}` — cached (`cache.ttl`).
3031
+ *
3032
+ * @param code Kode saham untuk menampilkan postingan pada ruang diskusi saham tersebut. Example: `BBCA`.
3033
+ * @param params Query parameters.
3034
+ * @param options Per-request options (e.g. `signal`).
3035
+ * @returns PostsListByStockResponse
3036
+ */
3037
+ listByStock(code: string, params: PostsListByStockParams, options?: RequestOptions): Promise<PostsListByStockResponse>;
3038
+ /**
3039
+ * Stock Posts by Category
3040
+ *
3041
+ * Get the posts in a stock's discussion space for one category with pagination, sorted newest first.
3042
+ *
3043
+ * Response:
3044
+ * - totalPage: Total pages based on limit
3045
+ * - page: Current page
3046
+ * - nextPage: Next page number, null on the last page
3047
+ * - data: Post list (newest first), each item contains:
3048
+ * - id: Post ID
3049
+ * - username: Author username
3050
+ * - content: Post content (HTML)
3051
+ * - updated_at: Last update time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3052
+ * - created_at: Creation time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3053
+ * - visibility: Post visibility setting
3054
+ * - image: Author profile image URL (null if not set)
3055
+ * - name: Author display name (null if not set)
3056
+ * - verified: Whether the author is a verified account
3057
+ * - like: Number of likes
3058
+ * - favorite: Number of favorites
3059
+ * - comment: Number of comments
3060
+ * - is_like: true if you have liked the post
3061
+ * - is_favorite: true if you have favorited the post
3062
+ *
3063
+ * Categories: POST (general post), ARTICLE (article), VIDEO (video), STOCKPICK (stock pick), POLLING (poll)
3064
+ *
3065
+ * Notes:
3066
+ * - The stock code and category must be uppercase (e.g. BBCA, STOCKPICK); unknown values return empty data
3067
+ * - Only posts within your account's access scope are returned
3068
+ *
3069
+ * `GET /posts/space/category/{code}/{category}` — cached (`cache.ttl`).
3070
+ *
3071
+ * @param code Kode saham untuk menampilkan postingan pada ruang diskusi saham tersebut. Example: `BBCA`.
3072
+ * @param category Kategori postingan: `POST` = postingan umum, `ARTICLE` = artikel, `VIDEO` = video, `STOCKPICK` = rekomendasi saham, `POLLING` = polling. Example: `POST`.
3073
+ * @param params Query parameters.
3074
+ * @param options Per-request options (e.g. `signal`).
3075
+ * @returns PostsListByStockCategoryResponse
3076
+ */
3077
+ listByStockCategory(code: string, category: "POST" | "ARTICLE" | "VIDEO" | "STOCKPICK" | "POLLING", params: PostsListByStockCategoryParams, options?: RequestOptions): Promise<PostsListByStockCategoryResponse>;
3078
+ /**
3079
+ * Post Detail
3080
+ *
3081
+ * Get the full content of one post by ID.
3082
+ *
3083
+ * Response:
3084
+ * - id: Post ID
3085
+ * - username: Author username
3086
+ * - content: Post content (HTML)
3087
+ * - updated_at: Last update time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3088
+ * - created_at: Creation time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3089
+ * - visibility: Post visibility setting
3090
+ * - image: Author profile image URL (null if not set)
3091
+ * - name: Author display name (null if not set)
3092
+ * - verified: Whether the author is a verified account
3093
+ * - like: Number of likes
3094
+ * - favorite: Number of favorites
3095
+ * - comment: Number of comments
3096
+ * - is_like: true if you have liked the post
3097
+ * - is_favorite: true if you have favorited the post
3098
+ *
3099
+ * Notes:
3100
+ * - Take the ID from the id field of a post list (e.g. GET /posts)
3101
+ * - A post outside your account's access scope returns 404
3102
+ *
3103
+ * `GET /posts/detail/{id}` — cached (`cache.ttl`).
3104
+ *
3105
+ * @param id ID postingan, diambil dari field `id` pada response daftar postingan (mis. `GET /posts`). Example: `1`.
3106
+ * @param options Per-request options (e.g. `signal`).
3107
+ * @returns PostDetailResponse
3108
+ */
3109
+ get(id: string, options?: RequestOptions): Promise<PostDetailResponse>;
3110
+ /**
3111
+ * Post Comments
3112
+ *
3113
+ * Get the comments on a post with pagination, sorted by oldest update first.
3114
+ *
3115
+ * Response:
3116
+ * - totalPage: Total pages based on limit
3117
+ * - page: Current page
3118
+ * - nextPage: Next page number, null on the last page
3119
+ * - data: Comment list, each item contains:
3120
+ * - id: Comment ID
3121
+ * - username: Commenter username
3122
+ * - post_id: ID of the commented post
3123
+ * - content: Comment content (HTML)
3124
+ * - updated_at: Last update time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3125
+ * - created_at: Creation time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3126
+ * - image: Commenter profile image URL (null if not set)
3127
+ * - name: Commenter display name (null if not set)
3128
+ * - verified: Whether the commenter is a verified account
3129
+ * - like: Number of likes on the comment (numeric string)
3130
+ * - favorite: Number of favorites on the comment (numeric string)
3131
+ * - is_like: true if you have liked the comment
3132
+ * - is_favorite: true if you have favorited the comment
3133
+ *
3134
+ * Notes:
3135
+ * - Take the post ID from the id field of a post list (e.g. GET /posts)
3136
+ * - An unknown ID returns empty data
3137
+ *
3138
+ * `GET /posts/comment/{id}` — cached (`cache.ttl`).
3139
+ *
3140
+ * @param id ID postingan, diambil dari field `id` pada response daftar postingan (mis. `GET /posts`). Example: `1`.
3141
+ * @param params Query parameters.
3142
+ * @param options Per-request options (e.g. `signal`).
3143
+ * @returns PostsCommentsResponse
3144
+ */
3145
+ getComments(id: string, params: PostsCommentsParams, options?: RequestOptions): Promise<PostsCommentsResponse>;
3146
+ /**
3147
+ * Liked Posts
3148
+ *
3149
+ * Get the posts and comments you have liked with pagination, sorted by most recently liked.
3150
+ *
3151
+ * Response:
3152
+ * - totalPage: Total pages based on limit
3153
+ * - page: Current page
3154
+ * - nextPage: Next page number, null on the last page
3155
+ * - data: Post/comment list, each item contains:
3156
+ * - id: Post or comment ID
3157
+ * - content: Post/comment content (HTML)
3158
+ * - updated_at: Last update time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3159
+ * - created_at: Creation time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3160
+ * - image: Author profile image URL (null if not set)
3161
+ * - name: Author display name (null if not set)
3162
+ * - username: Author username
3163
+ * - verified: Whether the author is a verified account
3164
+ * - like: Number of likes (numeric string, always "1")
3165
+ * - favorite: Number of favorites (numeric string)
3166
+ * - comment: Number of comments on a post, or replies for a comment (numeric string)
3167
+ * - is_like: true if you have liked the item
3168
+ * - is_favorite: true if you have favorited the item
3169
+ * - parent_id: For a comment, the ID of its parent post; null for a post
3170
+ * - like_created_at: Time you liked the item (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3171
+ *
3172
+ * `GET /posts/like` — cached (`cache.ttl`).
3173
+ *
3174
+ * @param params Query parameters.
3175
+ * @param options Per-request options (e.g. `signal`).
3176
+ * @returns PostsLikesResponse
3177
+ */
3178
+ getLikes(params: PostsLikesParams, options?: RequestOptions): Promise<PostsLikesResponse>;
3179
+ /**
3180
+ * Favorite Posts
3181
+ *
3182
+ * Get the posts and comments you have favorited with pagination, sorted by most recently favorited.
3183
+ *
3184
+ * Response:
3185
+ * - totalPage: Total pages based on limit
3186
+ * - page: Current page
3187
+ * - nextPage: Next page number, null on the last page
3188
+ * - data: Post/comment list, each item contains:
3189
+ * - id: Post or comment ID
3190
+ * - content: Post/comment content (HTML)
3191
+ * - updated_at: Last update time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3192
+ * - created_at: Creation time (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3193
+ * - image: Author profile image URL (null if not set)
3194
+ * - name: Author display name (null if not set)
3195
+ * - username: Author username
3196
+ * - verified: Whether the author is a verified account
3197
+ * - like: Number of likes (numeric string)
3198
+ * - favorite: Number of favorites (numeric string, always "1")
3199
+ * - comment: Number of comments on a post, or replies for a comment (numeric string)
3200
+ * - is_like: true if you have liked the item
3201
+ * - is_favorite: true if you have favorited the item
3202
+ * - parent_id: For a comment, the ID of its parent post; null for a post
3203
+ * - favorite_created_at: Time you favorited the item (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3204
+ *
3205
+ * `GET /posts/favorite` — cached (`cache.ttl`).
3206
+ *
3207
+ * @param params Query parameters.
3208
+ * @param options Per-request options (e.g. `signal`).
3209
+ * @returns PostsFavoritesResponse
3210
+ */
3211
+ getFavorites(params: PostsFavoritesParams, options?: RequestOptions): Promise<PostsFavoritesResponse>;
3212
+ /**
3213
+ * Post Votes
3214
+ *
3215
+ * Get the vote summary (agree/disagree) of a stock pick (stockpick) post.
3216
+ *
3217
+ * Response:
3218
+ * - liked: true if you have already voted
3219
+ * - agree: Number of agree votes (null if no vote has been counted yet)
3220
+ * - disagree: Number of disagree votes (null if no vote has been counted yet)
3221
+ *
3222
+ * Notes:
3223
+ * - Take the ID from the id field of a post list (e.g. GET /posts)
3224
+ * - If the post has no stock pick, the response is 200 with an empty body
3225
+ *
3226
+ * `GET /posts/vote/{id}` — cached (`cache.ttl`).
3227
+ *
3228
+ * @param id ID postingan, diambil dari field `id` pada response daftar postingan (mis. `GET /posts`). Example: `1`.
3229
+ * @param options Per-request options (e.g. `signal`).
3230
+ * @returns PostsVotersResponse
3231
+ */
3232
+ getVoters(id: string, options?: RequestOptions): Promise<PostsVotersResponse>;
3233
+ }
3234
+ /** Personal realized trades. */
3235
+ export declare class TradesResource {
3236
+ private readonly transport;
3237
+ constructor(transport: Transport);
3238
+ /**
3239
+ * Realized Trade List
3240
+ *
3241
+ * Get the user's realized trades (from SELL journal entries) with a sell date between `from` and `to` (inclusive), newest first.
3242
+ *
3243
+ * Response:
3244
+ * - id: Realized trade ID (used by `PATCH /trades/{id}` and `DELETE /trades`)
3245
+ * - code: Stock code
3246
+ * - broker: Broker code (2 letters)
3247
+ * - date: Sell date (WIB (UTC+7) DateTime, e.g. 2026-10-16T00:00:00.000Z = 16 Oct 2026 00:00 WIB; the Z suffix does not mean UTC, do not convert the time zone)
3248
+ * - lot: Sold lots (1 lot = 100 shares)
3249
+ * - buy_price: Average buy price per share at the time of the sale, incl. buy fee (Rupiah)
3250
+ * - sell_price: Sell price per share (Rupiah)
3251
+ * - buy_value: Buy value = lot x 100 x buy_price, rounded (Rupiah)
3252
+ * - sell_value: Sell value = lot x 100 x sell_price, before sell fee (Rupiah)
3253
+ * - net: Net profit/loss = sell_value - sell fee - buy_value, rounded (Rupiah)
3254
+ * - percent: Price gain/loss = (sell_price - buy_price) / buy_price x 100, 4 decimals (%)
3255
+ * - status: PROFIT, LOSS or BEP based on net
3256
+ * - note: User note, null if empty
3257
+ *
3258
+ * `GET /trades` — cached (`cache.ttl`).
3259
+ *
3260
+ * @param params Query parameters.
3261
+ * @param options Per-request options (e.g. `signal`).
3262
+ * @returns TradesListResponse
3263
+ */
3264
+ list(params: TradesListParams, options?: RequestOptions): Promise<TradesListResponse>;
3265
+ /**
3266
+ * Delete Realized Trades
3267
+ *
3268
+ * Delete one or more realized trades by ID (body `{"id": ["<id>", ...]}`). Only the realized-trade records are removed; journal transactions and the portfolio are unchanged.
3269
+ *
3270
+ * Response:
3271
+ * - message: Confirmation message
3272
+ *
3273
+ * Note: IDs come from the `id` field of `GET /trades`; unknown IDs are ignored.
3274
+ *
3275
+ * `DELETE /trades` — not cached.
3276
+ *
3277
+ * @param body Request body: Daftar ID transaksi terealisasi yang akan dihapus.
3278
+ * @param options Per-request options (e.g. `signal`).
3279
+ * @returns TradesDeleteResponse
3280
+ */
3281
+ delete(body: DeleteIdsRequest, options?: RequestOptions): Promise<TradesDeleteResponse>;
3282
+ /**
3283
+ * Realized Trade Summary
3284
+ *
3285
+ * Get a performance summary of the user's realized trades with a sell date between `from` and `to` (inclusive): profit/loss/BEP counts, totals, win rate, and the best and worst trades.
3286
+ *
3287
+ * Response:
3288
+ * - top_code: Stock codes, most trades first
3289
+ * - total_transaction: Number of realized trades in the period
3290
+ * - total_profit: Number of PROFIT trades
3291
+ * - total_loss: Number of LOSS trades
3292
+ * - total_bep: Number of BEP (break-even) trades
3293
+ * - total_buy_value: Total buy value (Rupiah)
3294
+ * - total_sell_value: Total sell value (Rupiah)
3295
+ * - total_net: Total net profit/loss (Rupiah)
3296
+ * - win_rate: Share of PROFIT trades (%)
3297
+ * - loss_rate: Share of LOSS trades (%)
3298
+ * - bep_rate: Share of BEP trades (%)
3299
+ * - top_win_value: PROFIT trade with the largest net, contains:
3300
+ * - code: Stock code (empty string if none)
3301
+ * - value: Net value (Rupiah), 0 if none
3302
+ * - top_loss_value: LOSS trade with the largest net loss, contains code and value (Rupiah)
3303
+ * - top_win_percent: PROFIT trade with the highest percent, contains code and value (%)
3304
+ * - top_loss_percent: LOSS trade with the lowest percent, contains code and value (%)
3305
+ *
3306
+ * Note: When there are no trades in the period, every number is 0, top_code is empty and each top_* is {"code": "", "value": 0}.
3307
+ *
3308
+ * `GET /trades/summary` — cached (`cache.ttl`).
3309
+ *
3310
+ * @param params Query parameters.
3311
+ * @param options Per-request options (e.g. `signal`).
3312
+ * @returns TradesSummaryResponse
3313
+ */
3314
+ getSummary(params: TradesSummaryParams, options?: RequestOptions): Promise<TradesSummaryResponse>;
3315
+ /**
3316
+ * Realized Trade Summary Chart
3317
+ *
3318
+ * Get daily chart data of the user's realized profit/loss with a sell date between `from` and `to` (inclusive), with its running total and the comparison index close on the same day. Only days with realized trades are returned, in ascending date order.
3319
+ *
3320
+ * Response:
3321
+ * - date: Trade day (YYYY-MM-DD, WIB)
3322
+ * - net: Net profit/loss on that day, 2 decimals (Rupiah)
3323
+ * - cumulative_net: Running total of net since the start of the period, 2 decimals (Rupiah)
3324
+ * - close: Comparison index close on that day, 2 decimals; null if no index data
3325
+ *
3326
+ * Notes:
3327
+ * - The `code` parameter is the comparison index code (e.g. COMPOSITE)
3328
+ * - When `code` is sent empty (`code=`), a day can appear more than once, one row per index that has data on that day
3329
+ *
3330
+ * `GET /trades/summary-chart` — cached (`cache.ttl`).
3331
+ *
3332
+ * @param params Query parameters.
3333
+ * @param options Per-request options (e.g. `signal`).
3334
+ * @returns TradesSummaryChartResponse
3335
+ */
3336
+ getSummaryChart(params: TradesSummaryChartParams, options?: RequestOptions): Promise<TradesSummaryChartResponse>;
3337
+ /**
3338
+ * Update Realized Trade Note
3339
+ *
3340
+ * Update the note of one of the user's realized trades. Body: `{"note": "..."}` (optional, max 150 characters); when `note` is omitted the note is cleared.
3341
+ *
3342
+ * Response:
3343
+ * - message: Confirmation message
3344
+ *
3345
+ * Note: The ID comes from the `id` field of `GET /trades`. An unknown ID does not produce an error.
3346
+ *
3347
+ * `PATCH /trades/{id}` — not cached.
3348
+ *
3349
+ * @param id ID transaksi terealisasi, diambil dari field `id` pada response `GET /trades`. Example: `1`.
3350
+ * @param body Request body.
3351
+ * @param options Per-request options (e.g. `signal`).
3352
+ * @returns TradesUpdateNoteResponse
3353
+ */
3354
+ updateNote(id: string, body: NoteTradeRequest, options?: RequestOptions): Promise<TradesUpdateNoteResponse>;
3355
+ }
3356
+ /** All API resources. Extended by {@link Invezgo}. */
3357
+ export declare class InvezgoResources {
3358
+ /** Indonesia stock market data: lists, prices, charts, broker flow, shareholders, fundamentals. */
3359
+ readonly analysis: AnalysisResource;
3360
+ /** Batch endpoints: fetch many stocks in one request (counted as 1 request). */
3361
+ readonly batch: BatchResource;
3362
+ /** Search stocks and users. */
3363
+ readonly search: SearchResource;
3364
+ /** Run stock screeners and manage saved screener presets. */
3365
+ readonly screener: ScreenerResource;
3366
+ /** API usage and quota monitoring (does not consume quota). */
3367
+ readonly usage: UsageResource;
3368
+ /** Personal watchlists and watchlist groups. */
3369
+ readonly watchlists: WatchlistsResource;
3370
+ /** Personal trading journal transactions. */
3371
+ readonly journals: JournalsResource;
3372
+ /** Personal portfolio built from journal transactions. */
3373
+ readonly portfolios: PortfoliosResource;
3374
+ /** Live formula alerts. */
3375
+ readonly alerts: AlertsResource;
3376
+ /** Community posts, comments, likes and votes. */
3377
+ readonly posts: PostsResource;
3378
+ /** Personal realized trades. */
3379
+ readonly trades: TradesResource;
3380
+ constructor(transport: Transport);
3381
+ }
3382
+ //# sourceMappingURL=resources.d.ts.map