@invezgo/sdk 1.3.2 → 2.0.1

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 +3291 -0
  9. package/dist/generated/resources.d.ts.map +1 -0
  10. package/dist/generated/types.d.ts +3449 -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 +754 -1080
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.mjs +775 -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,3291 @@
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, 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: Time in HH:MM format with minute precision (optional)
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
+ * - bk: Shares held by Bank investors (shares, string)
861
+ * - gv: Shares held by Government investors (shares, string)
862
+ * - pe: Shares held by Private Equity investors (shares, string)
863
+ * - tb: Shares held by Trustee Bank investors (shares, string)
864
+ * - vc: Shares held by Venture Capital investors (shares, string)
865
+ * - pb: Shares held by Private Bank investors (shares, string)
866
+ * - ef: Shares held by Exchange Traded Fund (ETF) investors (shares, string)
867
+ * - im: Shares held by Investment Manager investors (shares, string)
868
+ * - ia: Shares held by Investment Advisor investors (shares, string)
869
+ * - br: Shares held by Brokerage Firm investors (shares, string)
870
+ * - hf: Shares held by Hedge Fund investors (shares, string)
871
+ * - sw: Shares held by Sovereign Wealth Fund investors (shares, string)
872
+ * - cm: Shares held by Capital Market Supporting Institution investors (shares, string)
873
+ * - cv: Shares held by Commanditaire Vennootschap (CV) investors (shares, string)
874
+ * - fm: Shares held by Firm investors (shares, string)
875
+ * - sa: Shares held by Investment Fund Selling Agent investors (shares, string)
876
+ * - pp: Shares held by Peer to Peer Lending investors (shares, string)
877
+ * - ps: Shares held by Permanent Establishment investors (shares, string)
878
+ * - sp: Shares held by Sole Proprietorship investors (shares, string)
879
+ * - cr: Shares held by Corporate investors (shares, string)
880
+ * - as: Shares held by Association / Social Organization investors (shares, string)
881
+ * - so: Shares held by State Owned Enterprise investors (shares, string)
882
+ * - cb: Shares held by Central Bank investors (shares, string)
883
+ * - oc: Shares held by State Owned Company investors (shares, string)
884
+ * - dc: Shares held by Diocese investors (shares, string)
885
+ * - cn: Shares held by Conference investors (shares, string)
886
+ * - cg: Shares held by Congregation investors (shares, string)
887
+ * - cp: Shares held by Cooperative investors (shares, string)
888
+ * - io: Shares held by International Organization investors (shares, string)
889
+ * - pl: Shares held by Political Party investors (shares, string)
890
+ * - pt: Shares held by Partnership investors (shares, string)
891
+ * - ed: Shares held by Educational Institution investors (shares, string)
892
+ * - mf: Shares held by Mutual Fund investors (shares, string)
893
+ * - sc: Shares held by Securities Company investors (shares, string)
894
+ * - pf: Shares held by Pension Fund investors (shares, string)
895
+ * - ib: Shares held by Financial Institution investors (shares, string)
896
+ * - is: Shares held by Insurance investors (shares, string)
897
+ * - fd: Shares held by Foundation investors (shares, string)
898
+ * - in: Shares held by Individual investors (shares, string)
899
+ * - total: Total shares across all classifications (shares, string)
900
+ *
901
+ * Investor Classification:
902
+ * - BK: Bank
903
+ * - GV: Government
904
+ * - PE: Private Equity
905
+ * - TB: Trustee Bank
906
+ * - VC: Venture Capital
907
+ * - PB: Private Bank
908
+ * - EF: Exchange Traded Funds
909
+ * - IM: Investment Manager
910
+ * - IA: Investment Advisors
911
+ * - BR: Brokerage Firms
912
+ * - HF: Hedge Fund
913
+ * - SW: Sovereign Wealth Fund
914
+ * - CM: Capital Market Supporting Institutions and Professions
915
+ * - CV: Commanditaire Vennootschap (CV)
916
+ * - FM: Firm
917
+ * - SA: Investment Fund Selling Agent
918
+ * - PP: Peer to Peer Lending
919
+ * - PS: Permanent Establishment
920
+ * - SP: Sole Proprietorship
921
+ * - CR: Corporate
922
+ * - AS: Association / Social Organizations
923
+ * - SO: State Owned Enterprises
924
+ * - CB: Central Bank
925
+ * - OC: State Owned Company
926
+ * - DC: Diocese
927
+ * - CN: Conference
928
+ * - CG: Congregation
929
+ * - CP: Cooperatives
930
+ * - IO: International Organization
931
+ * - PL: Political Parties
932
+ * - PT: Partnership
933
+ * - ED: Educational Institution
934
+ * - MF: Mutual Funds
935
+ * - SC: Securities Company
936
+ * - PF: Pension Funds
937
+ * - IB: Financial Institutional
938
+ * - IS: Insurance
939
+ * - FD: Foundation
940
+ * - IN: Individual
941
+ *
942
+ * `GET /analysis/shareholder/classification/{code}` — cached (`cache.ttl`).
943
+ *
944
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
945
+ * @param params Query parameters.
946
+ * @param options Per-request options (e.g. `signal`).
947
+ * @returns ShareholderClassificationResponse
948
+ */
949
+ getShareholderClassification(code: string, params: ShareholderClassificationParams, options?: RequestOptions): Promise<ShareholderClassificationResponse>;
950
+ /**
951
+ * Stock Shareholder Classification Table
952
+ *
953
+ * Get latest shareholder data with investor classifications in table format.
954
+ *
955
+ * Response:
956
+ * - code: Stock code (response is a single latest-record object, without a date field; null if no data)
957
+ * - bk: Shares held by Bank investors (shares, string)
958
+ * - gv: Shares held by Government investors (shares, string)
959
+ * - pe: Shares held by Private Equity investors (shares, string)
960
+ * - tb: Shares held by Trustee Bank investors (shares, string)
961
+ * - vc: Shares held by Venture Capital investors (shares, string)
962
+ * - pb: Shares held by Private Bank investors (shares, string)
963
+ * - ef: Shares held by Exchange Traded Fund (ETF) investors (shares, string)
964
+ * - im: Shares held by Investment Manager investors (shares, string)
965
+ * - ia: Shares held by Investment Advisor investors (shares, string)
966
+ * - br: Shares held by Brokerage Firm investors (shares, string)
967
+ * - hf: Shares held by Hedge Fund investors (shares, string)
968
+ * - sw: Shares held by Sovereign Wealth Fund investors (shares, string)
969
+ * - cm: Shares held by Capital Market Supporting Institution investors (shares, string)
970
+ * - cv: Shares held by Commanditaire Vennootschap (CV) investors (shares, string)
971
+ * - fm: Shares held by Firm investors (shares, string)
972
+ * - sa: Shares held by Investment Fund Selling Agent investors (shares, string)
973
+ * - pp: Shares held by Peer to Peer Lending investors (shares, string)
974
+ * - ps: Shares held by Permanent Establishment investors (shares, string)
975
+ * - sp: Shares held by Sole Proprietorship investors (shares, string)
976
+ * - cr: Shares held by Corporate investors (shares, string)
977
+ * - as: Shares held by Association / Social Organization investors (shares, string)
978
+ * - so: Shares held by State Owned Enterprise investors (shares, string)
979
+ * - cb: Shares held by Central Bank investors (shares, string)
980
+ * - oc: Shares held by State Owned Company investors (shares, string)
981
+ * - dc: Shares held by Diocese investors (shares, string)
982
+ * - cn: Shares held by Conference investors (shares, string)
983
+ * - cg: Shares held by Congregation investors (shares, string)
984
+ * - cp: Shares held by Cooperative investors (shares, string)
985
+ * - io: Shares held by International Organization investors (shares, string)
986
+ * - pl: Shares held by Political Party investors (shares, string)
987
+ * - pt: Shares held by Partnership investors (shares, string)
988
+ * - ed: Shares held by Educational Institution investors (shares, string)
989
+ * - mf: Shares held by Mutual Fund investors (shares, string)
990
+ * - sc: Shares held by Securities Company investors (shares, string)
991
+ * - pf: Shares held by Pension Fund investors (shares, string)
992
+ * - ib: Shares held by Financial Institution investors (shares, string)
993
+ * - is: Shares held by Insurance investors (shares, string)
994
+ * - fd: Shares held by Foundation investors (shares, string)
995
+ * - in: Shares held by Individual investors (shares, string)
996
+ * - total: Total shares across all classifications (shares, string)
997
+ *
998
+ * Investor Classification:
999
+ * - BK: Bank
1000
+ * - GV: Government
1001
+ * - PE: Private Equity
1002
+ * - TB: Trustee Bank
1003
+ * - VC: Venture Capital
1004
+ * - PB: Private Bank
1005
+ * - EF: Exchange Traded Funds
1006
+ * - IM: Investment Manager
1007
+ * - IA: Investment Advisors
1008
+ * - BR: Brokerage Firms
1009
+ * - HF: Hedge Fund
1010
+ * - SW: Sovereign Wealth Fund
1011
+ * - CM: Capital Market Supporting Institutions and Professions
1012
+ * - CV: Commanditaire Vennootschap (CV)
1013
+ * - FM: Firm
1014
+ * - SA: Investment Fund Selling Agent
1015
+ * - PP: Peer to Peer Lending
1016
+ * - PS: Permanent Establishment
1017
+ * - SP: Sole Proprietorship
1018
+ * - CR: Corporate
1019
+ * - AS: Association / Social Organizations
1020
+ * - SO: State Owned Enterprises
1021
+ * - CB: Central Bank
1022
+ * - OC: State Owned Company
1023
+ * - DC: Diocese
1024
+ * - CN: Conference
1025
+ * - CG: Congregation
1026
+ * - CP: Cooperatives
1027
+ * - IO: International Organization
1028
+ * - PL: Political Parties
1029
+ * - PT: Partnership
1030
+ * - ED: Educational Institution
1031
+ * - MF: Mutual Funds
1032
+ * - SC: Securities Company
1033
+ * - PF: Pension Funds
1034
+ * - IB: Financial Institutional
1035
+ * - IS: Insurance
1036
+ * - FD: Foundation
1037
+ * - IN: Individual
1038
+ *
1039
+ * `GET /analysis/shareholder/classify-table/{code}` — cached (`cache.ttl`).
1040
+ *
1041
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1042
+ * @param options Per-request options (e.g. `signal`).
1043
+ * @returns ShareholderClassifyTableResponse | null
1044
+ */
1045
+ getShareholderClassifyTable(code: string, options?: RequestOptions): Promise<ShareholderClassifyTableResponse | null>;
1046
+ /**
1047
+ * Stock Broker Summary
1048
+ *
1049
+ * Get detailed trading broker activity analysis for a specific stock within a specific time period.
1050
+ *
1051
+ * Response:
1052
+ * - code: Broker code (2 letters)
1053
+ * - buy_freq: Total broker buy frequency over the period (numeric string)
1054
+ * - buy_volume: Total buy volume in shares (numeric string)
1055
+ * - buy_value: Total buy value in Rupiah (numeric string)
1056
+ * - sell_freq: Total broker sell frequency over the period (numeric string)
1057
+ * - sell_volume: Total sell volume in shares (numeric string)
1058
+ * - sell_value: Total sell value in Rupiah (numeric string)
1059
+ * - buy_avg: Average buy price in Rupiah (buy_value / buy_volume, decimal string; null when buy_volume is 0)
1060
+ * - sell_avg: Average sell price in Rupiah (sell_value / sell_volume, decimal string; null when sell_volume is 0)
1061
+ * - net_value: Net value in Rupiah (buy_value - sell_value; positive = net buy, numeric string)
1062
+ * - net_volume: Net volume in shares (buy_volume - sell_volume, numeric string)
1063
+ * - net_freq: Net frequency (buy_freq - sell_freq, numeric string)
1064
+ * - name: Full broker name (the broker code if unknown)
1065
+ *
1066
+ * Update: End of Day (EOD) every day at 18:00 WIB
1067
+ *
1068
+ * Limited to data for the last 2 years
1069
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1070
+ *
1071
+ * `GET /analysis/summary/stock/{code}` — cached (`cache.ttl`).
1072
+ * @see https://invezgo.com/id/analysis/summary/stock/BBCA?transaction=true&investor=all
1073
+ *
1074
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1075
+ * @param params Query parameters.
1076
+ * @param options Per-request options (e.g. `signal`).
1077
+ * @returns SummaryStockResponse
1078
+ */
1079
+ getSummaryStock(code: string, params: SummaryStockParams, options?: RequestOptions): Promise<SummaryStockResponse>;
1080
+ /**
1081
+ * Broker Broker Summary
1082
+ *
1083
+ * Get detailed trading activity analysis for a specific broker for all stocks within a specific time period.
1084
+ *
1085
+ * Response:
1086
+ * - code: Stock code
1087
+ * - buy_freq: Total broker buy frequency on this stock (numeric string)
1088
+ * - buy_volume: Total buy volume in shares (numeric string)
1089
+ * - buy_value: Total buy value in Rupiah (numeric string)
1090
+ * - sell_freq: Total broker sell frequency on this stock (numeric string)
1091
+ * - sell_volume: Total sell volume in shares (numeric string)
1092
+ * - sell_value: Total sell value in Rupiah (numeric string)
1093
+ * - buy_avg: Average buy price in Rupiah (buy_value / buy_volume, decimal string; null when buy_volume is 0)
1094
+ * - sell_avg: Average sell price in Rupiah (sell_value / sell_volume, decimal string; null when sell_volume is 0)
1095
+ * - net_value: Net value in Rupiah (buy_value - sell_value; positive = net buy, numeric string)
1096
+ * - net_volume: Net volume in shares (buy_volume - sell_volume, numeric string)
1097
+ * - net_freq: Net frequency (buy_freq - sell_freq, numeric string)
1098
+ *
1099
+ * Update: End of Day (EOD) every day at 18:00 WIB
1100
+ *
1101
+ * Limited to data for the last 2 years
1102
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1103
+ *
1104
+ * `GET /analysis/summary/broker/{code}` — cached (`cache.ttl`).
1105
+ * @see https://invezgo.com/id/analysis/summary/broker/AG?transaction=true&investor=all
1106
+ *
1107
+ * @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`.
1108
+ * @param params Query parameters.
1109
+ * @param options Per-request options (e.g. `signal`).
1110
+ * @returns SummaryBrokerResponse
1111
+ */
1112
+ getSummaryBroker(code: string, params: SummaryBrokerParams, options?: RequestOptions): Promise<SummaryBrokerResponse>;
1113
+ /**
1114
+ * Sector Stalker
1115
+ *
1116
+ * Get sectoral index or stock price movement data within a specific time range.
1117
+ *
1118
+ * Response:
1119
+ * - index: List of price series, each item contains:
1120
+ * - 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)
1121
+ * - data: Daily close-price series, each item contains:
1122
+ * - date: Date (YYYY-MM-DD)
1123
+ * - value: Close price normalized to base 100 on the first date (2 decimals)
1124
+ *
1125
+ * Stock Filter (only for base other than COMPOSITE):
1126
+ * You can filter stocks based on stock data values on the last date in the range.
1127
+ *
1128
+ * Filter Examples:
1129
+ * - filter_column=change&filter_operator=>&filter_value=5 → Stocks with change > 5%
1130
+ * - filter_column=value&filter_operator=>=&filter_value=1000000000 → Stocks with value >= 1 Billion
1131
+ * - filter_column=volume&filter_operator=>&filter_value=1000000 → Stocks with volume > 1 Million
1132
+ * - filter_column=foreign&filter_operator=>&filter_value=0 → Stocks with net foreign buy > 0
1133
+ *
1134
+ * Update: Every trading day after market close
1135
+ *
1136
+ * Limited to data for the last 2 years
1137
+ * Initial Data: 2010-01-01 [ENTERPRISE]
1138
+ *
1139
+ * Notes:
1140
+ * - When base = COMPOSITE: displays index prices data (default behavior)
1141
+ * - When base is changed to another index (e.g., IDX30): displays stock prices data from stocks included in that index
1142
+ * - Data normalized to base 100 to facilitate performance comparison
1143
+ *
1144
+ * `GET /analysis/stalker/sector` — cached (`cache.realtimeTtl`).
1145
+ *
1146
+ * @param params Query parameters.
1147
+ * @param options Per-request options (e.g. `signal`).
1148
+ * @returns SectorStalkerResponse
1149
+ */
1150
+ getSectorStalker(params: SectorStalkerParams, options?: RequestOptions): Promise<SectorStalkerResponse>;
1151
+ /**
1152
+ * Sector Rotation Chart
1153
+ *
1154
+ * Get sector rotation data for visualizing relative movement of sectoral indices or stocks.
1155
+ *
1156
+ * Response:
1157
+ * - benchmark: Benchmark index code (the base parameter, default COMPOSITE; ISSI when base = SYARIAH)
1158
+ * - lastDate: Date of the first item's last trail point (YYYY-MM-DD); equals the to parameter when data is empty
1159
+ * - data: List of sector indices (base = COMPOSITE) or member stocks of base (other base, max limit, default 20), each item contains:
1160
+ * - code: Sector index code or stock code
1161
+ * - name: Sector name (e.g. Energy, Financials) or company name
1162
+ * - trail: Latest movement points (max tail points, daily or weekly per interval), each item contains:
1163
+ * - date: Point date (YYYY-MM-DD)
1164
+ * - x: RS-Ratio, relative strength vs the benchmark normalized around 100 (range 60-140, 2 decimals)
1165
+ * - y: RS-Momentum, rate of change of RS-Ratio normalized around 100 (range 60-140, 2 decimals)
1166
+ * - 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)
1167
+ *
1168
+ * Stock Filter (only for base other than COMPOSITE):
1169
+ * You can filter stocks based on stock data values on the last date in the range.
1170
+ *
1171
+ * Filter Examples:
1172
+ * - filter_column=change&filter_operator=>&filter_value=5 → Stocks with change > 5%
1173
+ * - filter_column=value&filter_operator=>=&filter_value=1000000000 → Stocks with value >= 1 Billion
1174
+ * - filter_column=volume&filter_operator=>&filter_value=1000000 → Stocks with volume > 1 Million
1175
+ * - filter_column=foreign&filter_operator=>&filter_value=0 → Stocks with net foreign buy > 0
1176
+ *
1177
+ * Update: Every trading day after market close
1178
+ *
1179
+ * Limited to data for the last 2 years
1180
+ * Initial Data: 2010-01-01 [ENTERPRISE]
1181
+ *
1182
+ * Notes:
1183
+ * - When base = COMPOSITE: displays sectoral index data
1184
+ * - When base is changed to another index (e.g., IDX30): displays stock data from that index
1185
+ *
1186
+ * `GET /analysis/sector/rotation` — cached (`cache.realtimeTtl`).
1187
+ *
1188
+ * @param params Query parameters.
1189
+ * @param options Per-request options (e.g. `signal`).
1190
+ * @returns SectorRotationResponse
1191
+ */
1192
+ getSectorRotation(params: SectorRotationParams, options?: RequestOptions): Promise<SectorRotationResponse>;
1193
+ /**
1194
+ * Stock Broker Stalker
1195
+ *
1196
+ * Track a specific broker's trading activity on a specific stock in daily calendar format.
1197
+ *
1198
+ * Response:
1199
+ * - brokers: Tracked broker codes, sorted and comma-joined (e.g. AG,AK)
1200
+ * - stock: Stock code
1201
+ * - summary: Period summary, contains:
1202
+ * - active: Number of days with non-zero net value
1203
+ * - total: Accumulated net value over the whole period in Rupiah
1204
+ * - avg: Average net value per active day in Rupiah (total / active; 0 when there are no active days)
1205
+ * - peak: Day with the highest net buy, contains:
1206
+ * - date: Date (YYYY-MM-DD); null when no day has a positive net value
1207
+ * - value: Highest net value in Rupiah (0 when none)
1208
+ * - calendar: Daily data (only days with broker transactions, ascending date), each item contains:
1209
+ * - date: Date (YYYY-MM-DD)
1210
+ * - value: Daily net value in Rupiah (positive = net buy)
1211
+ * - buy_value: Buy value in Rupiah
1212
+ * - sell_value: Sell value in Rupiah
1213
+ * - volume: Net volume in shares
1214
+ * - buy_volume: Buy volume in shares
1215
+ * - sell_volume: Sell volume in shares
1216
+ * - buy_dom: Buy dominance in percent (buy_value / (buy_value + sell_value) x 100, 1 decimal)
1217
+ * - avg_buy: Average buy price in Rupiah (2 decimals; 0 when there is no buy)
1218
+ * - avg_sell: Average sell price in Rupiah (2 decimals; 0 when there is no sell)
1219
+ * - avg_net: Average net price in Rupiah (|net value| / |net volume|, 2 decimals; 0 when net volume is 0)
1220
+ *
1221
+ * Update: End of Day (EOD) every day at 18:00 WIB
1222
+ *
1223
+ * Limited to data for the last 2 years
1224
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1225
+ *
1226
+ * `GET /analysis/stalker/broker/{broker}/{stock}` — cached (`cache.ttl`).
1227
+ * @see https://invezgo.com/id/analysis/summary/broker/AG
1228
+ *
1229
+ * @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`.
1230
+ * @param stock Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1231
+ * @param params Query parameters.
1232
+ * @param options Per-request options (e.g. `signal`).
1233
+ * @returns BrokerStalkerResponse
1234
+ */
1235
+ getBrokerStalker(broker: string, stock: string, params: BrokerStalkerParams, options?: RequestOptions): Promise<BrokerStalkerResponse>;
1236
+ /**
1237
+ * Broker Stalker List
1238
+ *
1239
+ * Get list of all stocks traded by a specific broker within a specific time period.
1240
+ *
1241
+ * Response:
1242
+ * - summary: Broker activity summary, contains:
1243
+ * - stocks: Number of stocks traded by the broker
1244
+ * - total_net: Total net value across all stocks in Rupiah
1245
+ * - total_volume: Total net volume across all stocks in shares
1246
+ * - top: Stock code with the highest net value (null when there is no data)
1247
+ * - concentration: Share of the top stock's net value in total_net in percent (absolute value, 1 decimal)
1248
+ * - buy_dom: Overall buy dominance in percent (total buy / (total buy + total sell) x 100, 1 decimal)
1249
+ * - list: Stocks sorted by highest net value, each item contains:
1250
+ * - code: Stock code
1251
+ * - value: Net value in Rupiah (positive = net buy)
1252
+ * - volume: Net volume in shares
1253
+ * - transaction: Number of daily broker data rows for this stock (active days per broker)
1254
+ * - buy_dom: Buy dominance in percent (1 decimal)
1255
+ *
1256
+ * Update: End of Day (EOD) every day at 18:00 WIB
1257
+ *
1258
+ * Limited to data for the last 2 years
1259
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1260
+ *
1261
+ * `GET /analysis/stalker/list/{code}` — cached (`cache.ttl`).
1262
+ * @see https://invezgo.com/id/analysis/summary/broker/AG
1263
+ *
1264
+ * @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`.
1265
+ * @param params Query parameters.
1266
+ * @param options Per-request options (e.g. `signal`).
1267
+ * @returns BrokerStalkerListResponse
1268
+ */
1269
+ getBrokerStalkerList(code: string, params: BrokerStalkerListParams, options?: RequestOptions): Promise<BrokerStalkerListResponse>;
1270
+ /**
1271
+ * Stock Broker Summary Chart
1272
+ *
1273
+ * Get broker summary infographic data for a specific stock with attractive visualization for a specific period.
1274
+ *
1275
+ * Response:
1276
+ * - label: Category: D Buy (domestic buy), D Sell (domestic sell), F Buy (foreign buy), F Sell (foreign sell)
1277
+ * - value: Total for the chosen scope over the period (volume = shares, value = Rupiah, freq = frequency); 0 when there is no data
1278
+ * - fill: Fixed chart color per category (rgb format, e.g. rgb(34 197 94))
1279
+ *
1280
+ * Update: End of Day (EOD) every day at 18:00 WIB
1281
+ *
1282
+ * Limited to data for the last 2 years
1283
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1284
+ *
1285
+ * `GET /analysis/summary-chart/stock/{code}` — cached (`cache.ttl`).
1286
+ * @see https://invezgo.com/id/analysis/summary/stock/BBCA?transaction=true&investor=all
1287
+ *
1288
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1289
+ * @param params Query parameters.
1290
+ * @param options Per-request options (e.g. `signal`).
1291
+ * @returns SummaryStockChartResponse
1292
+ */
1293
+ getSummaryStockChart(code: string, params: SummaryStockChartParams, options?: RequestOptions): Promise<SummaryStockChartResponse>;
1294
+ /**
1295
+ * Broker Broker Summary Chart
1296
+ *
1297
+ * Get broker summary infographic data for a specific broker with attractive visualization for a specific period.
1298
+ *
1299
+ * Response:
1300
+ * - label: Category: D Buy (domestic buy), D Sell (domestic sell), F Buy (foreign buy), F Sell (foreign sell)
1301
+ * - 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
1302
+ * - fill: Fixed chart color per category (rgb format, e.g. rgb(34 197 94))
1303
+ *
1304
+ * Update: End of Day (EOD) every day at 18:00 WIB
1305
+ *
1306
+ * Limited to data for the last 2 years
1307
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1308
+ *
1309
+ * `GET /analysis/summary-chart/broker/{code}` — cached (`cache.ttl`).
1310
+ * @see https://invezgo.com/id/analysis/summary/broker/AG?transaction=true&investor=all
1311
+ *
1312
+ * @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`.
1313
+ * @param params Query parameters.
1314
+ * @param options Per-request options (e.g. `signal`).
1315
+ * @returns SummaryBrokerChartResponse
1316
+ */
1317
+ getSummaryBrokerChart(code: string, params: SummaryBrokerChartParams, options?: RequestOptions): Promise<SummaryBrokerChartResponse>;
1318
+ /**
1319
+ * Stock Inventory Chart
1320
+ *
1321
+ * Get inventory chart data for a specific stock with broker activity visualization for a specific period.
1322
+ *
1323
+ * Response:
1324
+ * - price: Daily stock prices over the period, each item contains:
1325
+ * - code: Stock code
1326
+ * - date: Date (YYYY-MM-DD)
1327
+ * - open: Open price (Rupiah)
1328
+ * - high: High price (Rupiah)
1329
+ * - low: Low price (Rupiah)
1330
+ * - close: Close price (Rupiah)
1331
+ * - volume: Daily trading volume (shares)
1332
+ * - 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:
1333
+ * - broker: Broker code (2 letters)
1334
+ * - name: Full broker name
1335
+ * - data: Cumulative inventory per price date, each item contains:
1336
+ * - date: Date (YYYY-MM-DD), matching the dates in price
1337
+ * - 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
1338
+ *
1339
+ * Update: End of Day (EOD) every day at 18:00 WIB
1340
+ *
1341
+ * Limited to data for the last 2 years
1342
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1343
+ *
1344
+ * `GET /analysis/inventory-chart/stock/{code}` — cached (`cache.ttl`).
1345
+ * @see https://invezgo.com/id/analysis/summary/stock/BBCA?transaction=true&investor=all
1346
+ *
1347
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1348
+ * @param params Query parameters.
1349
+ * @param options Per-request options (e.g. `signal`).
1350
+ * @returns InventoryStockChartResponse
1351
+ */
1352
+ getInventoryStockChart(code: string, params: InventoryStockChartParams, options?: RequestOptions): Promise<InventoryStockChartResponse>;
1353
+ /**
1354
+ * Broker Inventory Chart
1355
+ *
1356
+ * Get inventory chart data for a specific broker with stock activity visualization for a specific period.
1357
+ *
1358
+ * Response:
1359
+ * - code: Stock code (top per limit, default 20, max 50, by largest absolute net change; or the stocks in the filter parameter)
1360
+ * - data: Broker's cumulative inventory on this stock per date, each item contains:
1361
+ * - date: Date (YYYY-MM-DD); all stocks share the same date list
1362
+ * - 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
1363
+ *
1364
+ * Filter automatically uses the column from 'scope' parameter combined with 'investor'.
1365
+ * Filter column format: net_{investor}_{scope} (example: net_d_val, net_f_vol, net_all_freq)
1366
+ *
1367
+ * Filter Examples:
1368
+ * - scope=val, investor=d, filter_operator=>, filter_value=1000000 → Net distributor value > 1 million
1369
+ * - scope=vol, investor=f, filter_operator=>=, filter_value=1000 → Foreign volume >= 1000
1370
+ * - scope=freq, investor=all, filter_operator=>, filter_value=100 → All frequency > 100
1371
+ *
1372
+ * Update: End of Day (EOD) every day at 18:00 WIB
1373
+ *
1374
+ * Limited to data for the last 2 years
1375
+ * Initial Data: 2016-01-01 [ENTERPRISE]
1376
+ *
1377
+ * `GET /analysis/inventory-chart/broker/{code}` — cached (`cache.ttl`).
1378
+ * @see https://invezgo.com/id/analysis/summary/broker/AG?transaction=true&investor=all
1379
+ *
1380
+ * @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`.
1381
+ * @param params Query parameters.
1382
+ * @param options Per-request options (e.g. `signal`).
1383
+ * @returns InventoryBrokerChartResponse
1384
+ */
1385
+ getInventoryBrokerChart(code: string, params: InventoryBrokerChartParams, options?: RequestOptions): Promise<InventoryBrokerChartResponse>;
1386
+ /**
1387
+ * Stock Momentum Chart
1388
+ *
1389
+ * Get momentum chart data for real-time transaction analysis with HAKA HAKI details for a specific period.
1390
+ *
1391
+ * Response:
1392
+ * - time: Interval start time (HH:MM format), rounded down to `range` minutes, in ascending time order
1393
+ * - value: Total transactions in that interval; in shares if `scope=volume`, Rupiah if `scope=value`
1394
+ * - buy: Cumulative HAKA (buy at offer price) transactions from the start of the day up to this interval, same unit as `value`
1395
+ * - sell: Cumulative HAKI (sell at bid price) transactions from the start of the day up to this interval, same unit as `value`
1396
+ *
1397
+ * Update: Real-time
1398
+ *
1399
+ * Limited to data for the last 2 years
1400
+ * Initial Data: 2010-01-01 [ENTERPRISE]
1401
+ *
1402
+ * `GET /analysis/momentum-chart/{code}` — cached (`cache.realtimeTtl`).
1403
+ * @see https://invezgo.com/id/analysis/realtime/BBCA?date=2025-01-02&scope=volume&range=5
1404
+ *
1405
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1406
+ * @param params Query parameters.
1407
+ * @param options Per-request options (e.g. `signal`).
1408
+ * @returns MomentumChartResponse
1409
+ */
1410
+ getMomentumChart(code: string, params: MomentumChartParams, options?: RequestOptions): Promise<MomentumChartResponse>;
1411
+ /**
1412
+ * Stock Intraday Inventory Chart
1413
+ *
1414
+ * Get intraday inventory chart data for transaction analysis with broker activity details for a specific period.
1415
+ *
1416
+ * Response:
1417
+ * - price: Candlestick data per `range`-minute interval (intervals without trades are skipped), each item contains:
1418
+ * - x: Interval start time (HH:MM format), counted from the first trade time
1419
+ * - o: Opening price in the interval (Rupiah)
1420
+ * - h: Highest price in the interval (Rupiah)
1421
+ * - l: Lowest price in the interval (Rupiah)
1422
+ * - c: Closing price in the interval (Rupiah)
1423
+ * - v: Total transactions in the interval; in lots if `type=volume`, Rupiah if `type=value`
1424
+ * - broker: List of up to `total` top net buyers followed by `total` top net sellers (restricted to `filter` if provided), each item contains:
1425
+ * - code: 2-character broker code
1426
+ * - name: Broker name
1427
+ * - data: Broker's cumulative inventory per interval, each item contains:
1428
+ * - x: Interval start time (HH:MM format), same as `price.x`
1429
+ * - y: Cumulative net buy minus sell up to this interval; lots if `type=volume`, Rupiah if `type=value` (negative = distribution)
1430
+ *
1431
+ * Update: End of Day (EOD) every day at 18:00 WIB
1432
+ *
1433
+ * Limited to data for the last 2 years
1434
+ * Initial Data: Past 2 months [ENTERPRISE]
1435
+ *
1436
+ * `GET /analysis/intraday-inventory-chart/{code}` — cached (`cache.ttl`).
1437
+ * @see https://invezgo.com/id/analysis/summary/stock/BBCA?transaction=true&investor=all
1438
+ *
1439
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1440
+ * @param params Query parameters.
1441
+ * @param options Per-request options (e.g. `signal`).
1442
+ * @returns IntradayInventoryChartResponse
1443
+ */
1444
+ getIntradayInventoryChart(code: string, params: IntradayInventoryChartParams, options?: RequestOptions): Promise<IntradayInventoryChartResponse>;
1445
+ /**
1446
+ * Stock Distribution Chart
1447
+ *
1448
+ * Get sankey chart data for crossing transaction visualization with broker flow details for a specific period.
1449
+ *
1450
+ * Response:
1451
+ * - nodes: List of broker nodes in the diagram, each item contains:
1452
+ * - 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
1453
+ * - links: Up to 20 largest buyer-to-seller flows, sorted by value descending, each item contains:
1454
+ * - source: Buyer broker node (matches `nodes.name`)
1455
+ * - target: Seller broker node (matches `nodes.name`)
1456
+ * - value: Total transactions between the two brokers; in shares if `type=volume`, Rupiah if `type=value`
1457
+ *
1458
+ * Update: End of Day (EOD) every day at 18:00 WIB
1459
+ *
1460
+ * Limited to data for the last 2 years
1461
+ * Initial Data: Past 2 months [ENTERPRISE]
1462
+ *
1463
+ * `GET /analysis/sankey-chart/{code}` — cached (`cache.ttl`).
1464
+ * @see https://invezgo.com/id/analysis/summary/stock/BBCA?transaction=true&investor=all
1465
+ *
1466
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1467
+ * @param params Query parameters.
1468
+ * @param options Per-request options (e.g. `signal`).
1469
+ * @returns SankeyChartResponse
1470
+ */
1471
+ getSankeyChart(code: string, params: SankeyChartParams, options?: RequestOptions): Promise<SankeyChartResponse>;
1472
+ /**
1473
+ * Stock Price Table
1474
+ *
1475
+ * Get daily stock trading price transaction table with volume and frequency details for a specific period.
1476
+ *
1477
+ * Response:
1478
+ * - price: Transaction price level (Rupiah), in ascending price order
1479
+ * - buy_volume: Total HAKA (buy at offer price) transaction volume at that price (shares)
1480
+ * - sell_volume: Total HAKI (sell at bid price) transaction volume at that price (shares)
1481
+ * - buy_freq: Number of HAKA trades at that price (times)
1482
+ * - sell_freq: Number of HAKI trades at that price (times)
1483
+ *
1484
+ * Update: Real-time
1485
+ *
1486
+ * Limited to data for the last 2 years
1487
+ * Initial Data: Past 2 months [ENTERPRISE]
1488
+ *
1489
+ * `GET /analysis/price-table/{code}` — cached (`cache.realtimeTtl`).
1490
+ * @see https://invezgo.com/id/analysis/realtime/BBCA?date=2025-01-02&scope=volume&range=5
1491
+ *
1492
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1493
+ * @param params Query parameters.
1494
+ * @param options Per-request options (e.g. `signal`).
1495
+ * @returns PriceTableResponse
1496
+ */
1497
+ getPriceTable(code: string, params: PriceTableParams, options?: RequestOptions): Promise<PriceTableResponse>;
1498
+ /**
1499
+ * Stock Time Table
1500
+ *
1501
+ * Get daily stock trading time transaction table with HAKA/HAKI volume (lots) and percentage details per time interval for a specific period.
1502
+ *
1503
+ * Response:
1504
+ * - time: Interval start time (HH:MM format), rounded down to `range` minutes
1505
+ * - buy_lot: Total HAKA (buy at offer price) transaction volume in the interval (lots)
1506
+ * - sell_lot: Total HAKI (sell at bid price) transaction volume in the interval (lots)
1507
+ * - buy_percentage: `buy_lot` share of total `buy_lot` + `sell_lot` (percent %, 0 if no trades)
1508
+ * - sell_percentage: `sell_lot` share of total `buy_lot` + `sell_lot` (percent %, 0 if no trades)
1509
+ *
1510
+ * Update: Real-time
1511
+ *
1512
+ * Limited to data for the last 2 years
1513
+ * Initial Data: Past 2 months [ENTERPRISE]
1514
+ *
1515
+ * `GET /analysis/time-table/{code}` — cached (`cache.realtimeTtl`).
1516
+ * @see https://invezgo.com/id/analysis/realtime/BBCA?date=2025-01-02&scope=volume&range=5
1517
+ *
1518
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1519
+ * @param params Query parameters.
1520
+ * @param options Per-request options (e.g. `signal`).
1521
+ * @returns TimeTableResponse
1522
+ */
1523
+ getTimeTable(code: string, params: TimeTableParams, options?: RequestOptions): Promise<TimeTableResponse>;
1524
+ /**
1525
+ * Stock Price Diary
1526
+ *
1527
+ * Get daily stock price change table for the last 30 trading days (no period parameter).
1528
+ *
1529
+ * Response:
1530
+ * - 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
1531
+ * - price: Closing price (Rupiah)
1532
+ * - value: Trading value (Rupiah, string)
1533
+ * - volume: Trading volume (shares, string)
1534
+ * - change: Daily price change (percent %)
1535
+ *
1536
+ * Update: End of Day (EOD) every day at 18:00 WIB
1537
+ *
1538
+ * Data: always the last 30 trading days, newest first
1539
+ *
1540
+ * `GET /analysis/price-diary/{code}` — cached (`cache.ttl`).
1541
+ * @see https://invezgo.com/id/analysis/performance/BBCA
1542
+ *
1543
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1544
+ * @param options Per-request options (e.g. `signal`).
1545
+ * @returns PriceDiaryResponse
1546
+ */
1547
+ getPriceDiary(code: string, options?: RequestOptions): Promise<PriceDiaryResponse>;
1548
+ /**
1549
+ * Stock Price Seasonality
1550
+ *
1551
+ * Get monthly stock price change table with seasonality analysis for a specific period.
1552
+ *
1553
+ * Response:
1554
+ * - month: Month (YYYY-MM format), ordered from the latest month
1555
+ * - start_price: Closing price on the first trading day of the month (Rupiah, as a string)
1556
+ * - end_price: Closing price on the last trading day of the month (Rupiah, as a string)
1557
+ * - percentage_change: Price change from `start_price` to `end_price` (percent %, as a decimal string; null if no start price)
1558
+ *
1559
+ * Update: End of Day (EOD) every day at 18:00 WIB
1560
+ *
1561
+ * Limited to data for the last 2 years
1562
+ * Initial Data: 2010-01-01 [ENTERPRISE]
1563
+ *
1564
+ * `GET /analysis/price-seasonality/{code}` — cached (`cache.ttl`).
1565
+ * @see https://invezgo.com/id/analysis/performance/BBCA
1566
+ *
1567
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1568
+ * @param params Query parameters.
1569
+ * @param options Per-request options (e.g. `signal`).
1570
+ * @returns PriceSeasonalityResponse
1571
+ */
1572
+ getPriceSeasonality(code: string, params: PriceSeasonalityParams, options?: RequestOptions): Promise<PriceSeasonalityResponse>;
1573
+ /**
1574
+ * Stock Insider KSEI
1575
+ *
1576
+ * Get a list of ownership changes above 5% based on exchange reports for a specific period.
1577
+ *
1578
+ * Response:
1579
+ * - totalPage: Total number of pages (based on `limit`, default 20, max 50)
1580
+ * - page: Current page number
1581
+ * - nextPage: Next page number, null on the last page
1582
+ * - data: List of ownership changes above 5% (last 2 years of data, newest first), each item contains:
1583
+ * - 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)
1584
+ * - code: Stock code
1585
+ * - name: Shareholder name
1586
+ * - format_securities: 2-letter broker/custodian code where the securities are held (filtered by the `broker` parameter)
1587
+ * - prev_val: Shares held before the change (shares, string)
1588
+ * - prev_pct: Ownership percentage before the change (percent %)
1589
+ * - next_val: Shares held after the change (shares, string)
1590
+ * - next_pct: Ownership percentage after the change (percent %)
1591
+ * - change: Share difference, next_val - prev_val (shares, string; negative = decreased)
1592
+ * - nationality: Investor status: LOCAL or FOREIGN
1593
+ *
1594
+ * Update: Real-time according to each company's report
1595
+ *
1596
+ * Limited to data for the last 2 years
1597
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1598
+ *
1599
+ * `GET /analysis/shareholder-above` — cached (`cache.ttl`).
1600
+ * @see https://invezgo.com/id/analysis/insider
1601
+ *
1602
+ * @param params Query parameters.
1603
+ * @param options Per-request options (e.g. `signal`).
1604
+ * @returns ShareholderAboveResponse
1605
+ */
1606
+ getShareholderAbove(params?: ShareholderAboveParams, options?: RequestOptions): Promise<ShareholderAboveResponse>;
1607
+ /**
1608
+ * Stock Insider KSEI Chart
1609
+ *
1610
+ * Get chart data for ownership visualization above 5% for a specific period.
1611
+ *
1612
+ * Response:
1613
+ * - 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
1614
+ * - share: Shares held by the shareholder (`name`) at the broker (`broker`) after the change (shares, string)
1615
+ *
1616
+ * Update: Real-time according to each company's report
1617
+ *
1618
+ * Limited to data for the last 2 years
1619
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1620
+ *
1621
+ * `GET /analysis/shareholder-above-chart/{code}` — cached (`cache.ttl`).
1622
+ * @see https://invezgo.com/id/analysis/insider
1623
+ *
1624
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1625
+ * @param params Query parameters.
1626
+ * @param options Per-request options (e.g. `signal`).
1627
+ * @returns ShareholderAboveChartResponse
1628
+ */
1629
+ getShareholderAboveChart(code: string, params: ShareholderAboveChartParams, options?: RequestOptions): Promise<ShareholderAboveChartResponse>;
1630
+ /**
1631
+ * Stock Insider 1%
1632
+ *
1633
+ * Get a list of ownership changes above 1% based on exchange reports for a specific period.
1634
+ *
1635
+ * Response:
1636
+ * - totalPage: Total number of pages (based on `limit`, default 20, max 50)
1637
+ * - page: Current page number
1638
+ * - nextPage: Next page number, null on the last page
1639
+ * - data: List of ownership changes above 1% (last 2 years of data, newest first), each item contains:
1640
+ * - 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)
1641
+ * - code: Stock code
1642
+ * - name: Shareholder name
1643
+ * - type: Investor type code, e.g. CP (corporate), ID (individual)
1644
+ * - status: Investor status: LOCAL or FOREIGN
1645
+ * - nationality: Shareholder nationality (empty string for non-individuals)
1646
+ * - domicile: Shareholder domicile
1647
+ * - prev_scripless: Scripless shares before the change (shares, string)
1648
+ * - next_scripless: Scripless shares after the change (shares, string)
1649
+ * - prev_scrip: Scrip (certificated) shares before the change (shares, string)
1650
+ * - next_scrip: Scrip (certificated) shares after the change (shares, string)
1651
+ * - prev_total: Total shares before the change (shares, string)
1652
+ * - next_total: Total shares after the change (shares, string)
1653
+ * - prev_pct: Ownership percentage before the change (percent %)
1654
+ * - next_pct: Ownership percentage after the change (percent %)
1655
+ *
1656
+ * Update: Real-time according to each company's report
1657
+ *
1658
+ * Limited to data for the last 2 years
1659
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1660
+ *
1661
+ * `GET /analysis/shareholder-one` — cached (`cache.ttl`).
1662
+ * @see https://invezgo.com/id/analysis/insider
1663
+ *
1664
+ * @param params Query parameters.
1665
+ * @param options Per-request options (e.g. `signal`).
1666
+ * @returns ShareholderOneResponse
1667
+ */
1668
+ getShareholderOne(params?: ShareholderOneParams, options?: RequestOptions): Promise<ShareholderOneResponse>;
1669
+ /**
1670
+ * Stock Insider 1% Chart
1671
+ *
1672
+ * Get chart data for ownership visualization above 1% for a specific period.
1673
+ *
1674
+ * Response:
1675
+ * - 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
1676
+ * - scrip: Scrip (certificated) shares after the change (shares, string)
1677
+ * - scripless: Scripless shares after the change (shares, string)
1678
+ * - total: Total shares held by the shareholder (`name`) after the change (shares, string)
1679
+ *
1680
+ * Update: Real-time according to each company's report
1681
+ *
1682
+ * Limited to data for the last 2 years
1683
+ * Initial Data: 2026-02-01 [ENTERPRISE]
1684
+ *
1685
+ * `GET /analysis/shareholder-one-chart/{code}` — cached (`cache.ttl`).
1686
+ * @see https://invezgo.com/id/analysis/insider
1687
+ *
1688
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1689
+ * @param params Query parameters.
1690
+ * @param options Per-request options (e.g. `signal`).
1691
+ * @returns ShareholderOneChartResponse
1692
+ */
1693
+ getShareholderOneChart(code: string, params: ShareholderOneChartParams, options?: RequestOptions): Promise<ShareholderOneChartResponse>;
1694
+ /**
1695
+ * Stock Insider IDX
1696
+ *
1697
+ * Get a list of insider ownership changes (directors, commissioners, majority shareholders) for a specific period.
1698
+ *
1699
+ * Response:
1700
+ * - totalPage: Total number of pages (based on `limit`, default 20, max 50)
1701
+ * - page: Current page number
1702
+ * - nextPage: Next page number, null on the last page
1703
+ * - data: List of insider ownership changes (last 2 years of data, newest first), each item contains:
1704
+ * - 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)
1705
+ * - code: Stock code
1706
+ * - name: Insider name (director, commissioner, controlling/majority shareholder)
1707
+ * - prev_percent: Ownership percentage before the transaction (percent %)
1708
+ * - prev_val: Shares held before the transaction (shares, string)
1709
+ * - next_percent: Ownership percentage after the transaction (percent %)
1710
+ * - next_val: Shares held after the transaction (shares, string)
1711
+ * - change: Change in ownership percentage (percentage points)
1712
+ * - badge: Insider roles as curly-brace text, e.g. "{PENGENDALI,DIREKSI}"
1713
+ * - nationality: Insider nationality
1714
+ * - purpose: Transaction purpose, e.g. Investasi (investment)
1715
+ * - child: Number of detailed transactions in `subrow` (string)
1716
+ * - subrow: Related transaction details (empty array if none), each item contains:
1717
+ * - 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)
1718
+ * - price: Transaction price per share (Rupiah)
1719
+ * - status: Transaction type, e.g. Buy or Sell
1720
+ * - value: Number of shares transacted (shares)
1721
+ *
1722
+ * Update: Real-time according to each company's report
1723
+ *
1724
+ * Limited to data for the last 2 years
1725
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1726
+ *
1727
+ * `GET /analysis/shareholder-insider` — cached (`cache.ttl`).
1728
+ * @see https://invezgo.com/id/analysis/insider
1729
+ *
1730
+ * @param params Query parameters.
1731
+ * @param options Per-request options (e.g. `signal`).
1732
+ * @returns InsiderResponse
1733
+ */
1734
+ getInsider(params?: InsiderParams, options?: RequestOptions): Promise<InsiderResponse>;
1735
+ /**
1736
+ * Stock Insider IDX Chart
1737
+ *
1738
+ * Get chart data for insider trading visualization for a specific period.
1739
+ *
1740
+ * Response:
1741
+ * - 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
1742
+ * - share: Cumulative estimated holding of the insider (`name`): initial shares plus the running sum of transaction values up to that date (shares, string)
1743
+ *
1744
+ * Update: Real-time according to each company's report
1745
+ *
1746
+ * Limited to data for the last 2 years
1747
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1748
+ *
1749
+ * `GET /analysis/insider-chart/{code}` — cached (`cache.ttl`).
1750
+ * @see https://invezgo.com/id/analysis/insider
1751
+ *
1752
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1753
+ * @param params Query parameters.
1754
+ * @param options Per-request options (e.g. `signal`).
1755
+ * @returns InsiderChartResponse
1756
+ */
1757
+ getInsiderChart(code: string, params: InsiderChartParams, options?: RequestOptions): Promise<InsiderChartResponse>;
1758
+ /**
1759
+ * Stock Financial Statement
1760
+ *
1761
+ * Get company financial statement data based on report type and specific period.
1762
+ *
1763
+ * Response:
1764
+ * - columns: List of report periods from the latest, up to `limit` periods (default 8); null if there are no reports, each item contains:
1765
+ * - label: Period label, e.g. "Q2 2025" or "FY 2024"
1766
+ * - year: Fiscal year
1767
+ * - period: Period code (FY, Q1, Q2, Q3, Q4)
1768
+ * - 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:
1769
+ * - id: Account ID (32-character string), used as the `account` parameter in financial-statement-chart
1770
+ * - parent_id: Parent account ID; null for top-level accounts
1771
+ * - name: Financial statement account name
1772
+ * - is_abstract: true if the account is a heading/grouping, false if it is a value account
1773
+ * - level: Account depth level in the hierarchy
1774
+ * - display_order: Account display order
1775
+ * - values: Account value per period, same order as `columns`, each item contains:
1776
+ * - col: Period label, e.g. "Q2 2025" or "FY 2024"
1777
+ * - year: Fiscal year
1778
+ * - period: Period code (FY, Q1, Q2, Q3, Q4)
1779
+ * - amount: Account value for that period including rolled-up sub-accounts (Rupiah)
1780
+ *
1781
+ * Update: Real-time according to each company's report
1782
+ *
1783
+ * Limited to data for the last 2 years
1784
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1785
+ *
1786
+ * `GET /analysis/financial-statement/{code}` — cached (`cache.ttl`).
1787
+ * @see https://invezgo.com/id/analysis/finace/BBCA?statement=BS&type=Q&limit=10
1788
+ *
1789
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1790
+ * @param params Query parameters.
1791
+ * @param options Per-request options (e.g. `signal`).
1792
+ * @returns FinancialStatementResponse
1793
+ */
1794
+ getFinancialStatement(code: string, params: FinancialStatementParams, options?: RequestOptions): Promise<FinancialStatementResponse>;
1795
+ /**
1796
+ * Stock Financial Statement Chart
1797
+ *
1798
+ * Get chart data for financial statement visualization for a specific period.
1799
+ *
1800
+ * Response:
1801
+ * - account_id: Charted account ID (matches the `account` parameter); null if the account is not found
1802
+ * - name: Financial statement account name; null if the account is not found
1803
+ * - points: Data points per period from the latest, up to `limit` periods (default 8); null if there are no reports, each item contains:
1804
+ * - date: Report period end date (YYYY-MM-DD format)
1805
+ * - label: Period label, e.g. "Q2 2025" or "FY 2024"
1806
+ * - amount: Account value for that period including rolled-up sub-accounts (Rupiah; 0 if no data)
1807
+ *
1808
+ * Update: Real-time according to each company's report
1809
+ *
1810
+ * Limited to data for the last 2 years
1811
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1812
+ *
1813
+ * `GET /analysis/financial-statement-chart/{code}` — cached (`cache.ttl`).
1814
+ * @see https://invezgo.com/id/analysis/finace/BBCA?statement=BS&type=Q&limit=10
1815
+ *
1816
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1817
+ * @param params Query parameters.
1818
+ * @param options Per-request options (e.g. `signal`).
1819
+ * @returns FinancialStatementChartResponse
1820
+ */
1821
+ getFinancialStatementChart(code: string, params: FinancialStatementChartParams, options?: RequestOptions): Promise<FinancialStatementChartResponse>;
1822
+ /**
1823
+ * Stock Key Statistics
1824
+ *
1825
+ * Get key statistics and important financial metrics of a company for a specific period.
1826
+ *
1827
+ * Response:
1828
+ * - columns: List of report periods from the latest, up to `limit` periods (default 8); null if there are no reports, each item contains:
1829
+ * - label: Period label, e.g. "Q2 2025" or "FY 2024"
1830
+ * - year: Fiscal year
1831
+ * - period: Period code (FY, Q1, Q2, Q3, Q4)
1832
+ * - 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:
1833
+ * - id: Unique statistic ID
1834
+ * - name: Key statistic name, used as the `name` parameter in keystat-chart
1835
+ * - values: Statistic value per period, same order as `columns`, each item contains:
1836
+ * - col: Period label, e.g. "Q2 2025" or "FY 2024"
1837
+ * - year: Fiscal year
1838
+ * - period: Period code (FY, Q1, Q2, Q3, Q4)
1839
+ * - amount: Statistic value for that period (unit depends on the statistic; 0 if no data)
1840
+ *
1841
+ * Update: Real-time according to each company's report
1842
+ *
1843
+ * Limited to data for the last 2 years
1844
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1845
+ *
1846
+ * `GET /analysis/keystat/{code}` — cached (`cache.ttl`).
1847
+ * @see https://invezgo.com/id/analysis/finace/BBCA?statement=BS&type=Q&limit=10
1848
+ *
1849
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1850
+ * @param params Query parameters.
1851
+ * @param options Per-request options (e.g. `signal`).
1852
+ * @returns KeystatResponse
1853
+ */
1854
+ getKeystat(code: string, params: KeystatParams, options?: RequestOptions): Promise<KeystatResponse>;
1855
+ /**
1856
+ * Stock Key Statistics Chart
1857
+ *
1858
+ * Get chart data for key statistics visualization for a specific period.
1859
+ *
1860
+ * Response:
1861
+ * - name: Key statistic name (matches the `name` parameter); null if there are no periods
1862
+ * - 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:
1863
+ * - date: Report period end date (YYYY-MM-DD format)
1864
+ * - label: Period label, e.g. "Q2 2025" or "FY 2024"
1865
+ * - amount: Statistic value for that period (unit depends on the statistic; 0 if no data)
1866
+ *
1867
+ * Update: Real-time according to each company's report
1868
+ *
1869
+ * Limited to data for the last 2 years
1870
+ * Initial Data: 2020-01-01 [ENTERPRISE]
1871
+ *
1872
+ * `GET /analysis/keystat-chart/{code}` — cached (`cache.ttl`).
1873
+ * @see https://invezgo.com/id/analysis/finace/BBCA?statement=BS&type=Q&limit=10
1874
+ *
1875
+ * @param code Kode saham emiten yang tercatat di BEI, mis. `BBCA`. Tidak case-sensitive. Daftar kode tersedia di `/analysis/list/stock`. Example: `BBCA`.
1876
+ * @param params Query parameters.
1877
+ * @param options Per-request options (e.g. `signal`).
1878
+ * @returns KeystatChartResponse
1879
+ */
1880
+ getKeystatChart(code: string, params: KeystatChartParams, options?: RequestOptions): Promise<KeystatChartResponse>;
1881
+ /**
1882
+ * Stock Corporate Action Calendar
1883
+ *
1884
+ * Get the corporate action schedule of IDX issuers, newest first, with optional filters.
1885
+ *
1886
+ * Response:
1887
+ * - totalPage: Total pages for the current filter (0 when there is no data)
1888
+ * - page: Current page
1889
+ * - nextPage: Next page number, null on the last page
1890
+ * - data: Corporate actions, each item contains:
1891
+ * - code: Stock or instrument code (e.g. BBCA, INET-W)
1892
+ * - type: Corporate action type (IPO, PUBLIC_EXPOSE, RUPS_SCHEDULE, RUPS_RESULT, DIVIDEND, RIGHT, WARRANT, BONUS, SPLIT, REVERSE, CONVERTION)
1893
+ * - payload: Type-specific details as published by the exchange (keys vary per type, e.g. ExDate, DistDate, TradingPeriodStart; values are strings)
1894
+ *
1895
+ * `GET /analysis/calendar` — cached (`cache.ttl`).
1896
+ *
1897
+ * @param params Query parameters.
1898
+ * @param options Per-request options (e.g. `signal`).
1899
+ * @returns CalendarResponse
1900
+ */
1901
+ getCalendar(params?: CalendarParams, options?: RequestOptions): Promise<CalendarResponse>;
1902
+ /**
1903
+ * Stock News
1904
+ *
1905
+ * Get the stock news listing (NEWS-category posts).
1906
+ *
1907
+ * Response:
1908
+ * - totalPage: Total pages based on limit
1909
+ * - page: Current page
1910
+ * - nextPage: Next page number, null on the last page
1911
+ * - data: News list (newest first), each item contains:
1912
+ * - title: News title (from the "h4" tag)
1913
+ * - date: Publication time in WIB, format YYYY-MM-DDTHH:MM:SS
1914
+ * - content: News body as plain text (HTML-converted, paragraphs separated by a blank line)
1915
+ *
1916
+ * Update: Follows the latest news posts
1917
+ *
1918
+ * `GET /analysis/news` — cached (`cache.ttl`).
1919
+ *
1920
+ * @param params Query parameters.
1921
+ * @param options Per-request options (e.g. `signal`).
1922
+ * @returns NewsResponse
1923
+ */
1924
+ getNews(params?: NewsParams, options?: RequestOptions): Promise<NewsResponse>;
1925
+ /**
1926
+ * Stock Disclosure Information
1927
+ *
1928
+ * Get the IDX disclosure listing (REPORT-category posts).
1929
+ *
1930
+ * Response:
1931
+ * - totalPage: Total pages based on limit
1932
+ * - page: Current page
1933
+ * - nextPage: Next page number, null on the last page
1934
+ * - data: IDX disclosure list (newest first), each item contains:
1935
+ * - title: Report title
1936
+ * - code: Issuer stock code
1937
+ * - date: Publication time in WIB, format YYYY-MM-DDTHH:MM:SS
1938
+ * - type: Report type (e.g. public_expose)
1939
+ * - list: Attachment file list, each item contains:
1940
+ * - url: Attachment file URL on IDX
1941
+ * - name: Attachment file name
1942
+ *
1943
+ * Update: Follows the latest report posts
1944
+ *
1945
+ * `GET /analysis/disclosure` — cached (`cache.ttl`).
1946
+ *
1947
+ * @param params Query parameters.
1948
+ * @param options Per-request options (e.g. `signal`).
1949
+ * @returns DisclosureResponse
1950
+ */
1951
+ getDisclosure(params?: DisclosureParams, options?: RequestOptions): Promise<DisclosureResponse>;
1952
+ }
1953
+ /** Batch endpoints: fetch many stocks in one request (counted as 1 request). */
1954
+ export declare class BatchResource {
1955
+ private readonly transport;
1956
+ constructor(transport: Transport);
1957
+ /**
1958
+ * Batch Stock Order Book
1959
+ *
1960
+ * 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).
1961
+ *
1962
+ * Data Retrieval Modes:
1963
+ * - Realtime: Without date/time parameters - uses realtime data; falls back to the latest data when it is not available yet
1964
+ * - Historical: With date and time parameters - retrieves order book data at that exact minute (WIB); bid and offer are empty when there is none
1965
+ *
1966
+ * Response (array, one item per code):
1967
+ * - code: Stock code (with the market suffix when market is not RG, e.g. BBCANG)
1968
+ * - bid: List of buy queue levels, ordered from level 1 (best price); each item's keys use the level number n:
1969
+ * - bid<n>price: Bid price at level n (Rupiah)
1970
+ * - bid<n>lot: Number of lots at level n
1971
+ * - bid<n>freq: Number of orders at level n
1972
+ * - offer: List of sell queue levels, ordered from level 1 (best price); each item's keys use the level number n:
1973
+ * - offer<n>price: Offer price at level n (Rupiah)
1974
+ * - offer<n>lot: Number of lots at level n
1975
+ * - offer<n>freq: Number of orders at level n
1976
+ *
1977
+ * Historical Parameters:
1978
+ * - date: Date in YYYY-MM-DD format (optional, data available from 2026-03-25)
1979
+ * - time: WIB time in HH:MM format with minute precision (optional)
1980
+ * - Note: fill date and time together for historical data; when only one is filled, the latest data is used
1981
+ *
1982
+ * Access & Limits:
1983
+ * - API Key only, on the MAX or ELITE plans
1984
+ * - Codes per request: up to 10 on the MAX plan, 25 on the ELITE plan
1985
+ *
1986
+ * Update: Real-time (without date/time) or Historical (with date/time)
1987
+ *
1988
+ * `GET /batch/order-book/{code}` — cached (`cache.realtimeTtl`).
1989
+ *
1990
+ * @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`.
1991
+ * @param params Query parameters.
1992
+ * @param options Per-request options (e.g. `signal`).
1993
+ * @returns BatchOrderBookResponse
1994
+ */
1995
+ getOrderBook(code: string, params?: BatchOrderBookParams, options?: RequestOptions): Promise<BatchOrderBookResponse>;
1996
+ /**
1997
+ * Batch Stock Intraday Data
1998
+ *
1999
+ * 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).
2000
+ *
2001
+ * Data Retrieval Modes:
2002
+ * - 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
2003
+ * - Historical: With the date parameter - retrieves daily data on that date
2004
+ * - Note: in daily data, avg, prev, bid_*, offer_*, iep and iev are null
2005
+ *
2006
+ * Response (array, one item per code):
2007
+ * - code: Stock code (with the market suffix when market is not RG)
2008
+ * - open: Opening price (Rupiah)
2009
+ * - high: Highest price (Rupiah)
2010
+ * - low: Lowest price (Rupiah)
2011
+ * - close: Last/closing price (Rupiah)
2012
+ * - avg: Average price (Rupiah)
2013
+ * - volume: Trading volume (shares)
2014
+ * - freq: Trade frequency (count)
2015
+ * - value: Trading value (Rupiah)
2016
+ * - prev: Previous trading day's closing price (Rupiah)
2017
+ * - bid_price: Best bid price (Rupiah)
2018
+ * - bid_lot: Queued volume at the best bid
2019
+ * - bid_freq: Number of orders at the best bid
2020
+ * - offer_price: Best offer price (Rupiah)
2021
+ * - offer_lot: Queued volume at the best offer
2022
+ * - offer_freq: Number of orders at the best offer
2023
+ * - iep: Indicative Equilibrium Price during pre-opening/pre-closing (Rupiah)
2024
+ * - iev: Indicative Equilibrium Volume during pre-opening/pre-closing
2025
+ *
2026
+ * Access & Limits:
2027
+ * - API Key only, on the MAX or ELITE plans
2028
+ * - Codes per request: up to 10 on the MAX plan, 25 on the ELITE plan
2029
+ *
2030
+ * Notes:
2031
+ * - A code without data contains only code and close (null)
2032
+ *
2033
+ * Update: Real-time (without date) or Historical (with date)
2034
+ *
2035
+ * `GET /batch/intraday-data/{code}` — cached (`cache.realtimeTtl`).
2036
+ *
2037
+ * @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`.
2038
+ * @param params Query parameters.
2039
+ * @param options Per-request options (e.g. `signal`).
2040
+ * @returns BatchIntradayDataResponse
2041
+ */
2042
+ getIntradayData(code: string, params?: BatchIntradayDataParams, options?: RequestOptions): Promise<BatchIntradayDataResponse>;
2043
+ /**
2044
+ * Batch Index Intraday Data
2045
+ *
2046
+ * 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).
2047
+ *
2048
+ * Data Retrieval Modes:
2049
+ * - Realtime: When realtime data is available - uses realtime data (fields that are not available are omitted)
2050
+ * - 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
2051
+ *
2052
+ * Response (array, one item per code):
2053
+ * - code: Index code
2054
+ * - open: Index opening value
2055
+ * - high: Index highest value
2056
+ * - low: Index lowest value
2057
+ * - close: Index last/closing value
2058
+ * - volume: Trading volume (shares)
2059
+ * - freq: Trade frequency (count)
2060
+ * - value: Trading value (Rupiah)
2061
+ * - prev: Index closing value on the previous trading day
2062
+ * - positive: Number of advancing stocks
2063
+ * - negative: Number of declining stocks
2064
+ * - neutral: Number of unchanged stocks
2065
+ * - suspend: Number of untraded/suspended stocks
2066
+ * - market_cap: Market capitalization (Rupiah)
2067
+ * - market_value: Market value (Rupiah)
2068
+ *
2069
+ * Access & Limits:
2070
+ * - API Key only, on the MAX or ELITE plans
2071
+ * - Codes per request: up to 10 on the MAX plan, 25 on the ELITE plan
2072
+ *
2073
+ * Notes:
2074
+ * - A code without data contains only code and close (null)
2075
+ *
2076
+ * Update: Real-time
2077
+ *
2078
+ * `GET /batch/intraday-index/{code}` — cached (`cache.realtimeTtl`).
2079
+ *
2080
+ * @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`.
2081
+ * @param options Per-request options (e.g. `signal`).
2082
+ * @returns BatchIntradayIndexResponse
2083
+ */
2084
+ getIntradayIndex(code: string, options?: RequestOptions): Promise<BatchIntradayIndexResponse>;
2085
+ }
2086
+ /** Search stocks and users. */
2087
+ export declare class SearchResource {
2088
+ private readonly transport;
2089
+ constructor(transport: Transport);
2090
+ /**
2091
+ * Search Stock or User
2092
+ *
2093
+ * Search for stocks or users simultaneously based on query keywords.
2094
+ *
2095
+ * Response:
2096
+ * - results: Search results per index (order: user_lists then stock_lists), each item contains:
2097
+ * - indexUid: Search index name: user_lists or stock_lists
2098
+ * - hits: Matches (max 5 for user_lists, max 10 for stock_lists), each item contains:
2099
+ * - username / name / image: For user_lists: username, display name and profile picture URL (null if none)
2100
+ * - code / name / logo: For stock_lists: stock code, company name and company icon URL
2101
+ * - query: Searched keyword
2102
+ * - processingTimeMs: Search processing time (milliseconds)
2103
+ * - limit: Result limit for this index
2104
+ * - offset: Result offset (always 0)
2105
+ * - estimatedTotalHits: Estimated total number of matches
2106
+ * - requestUid: Unique search request ID
2107
+ *
2108
+ * Update: Real-time
2109
+ *
2110
+ * `GET /search` — cached (`cache.ttl`).
2111
+ *
2112
+ * @param params Query parameters.
2113
+ * @param options Per-request options (e.g. `signal`).
2114
+ * @returns SearchResponse
2115
+ */
2116
+ search(params: SearchParams, options?: RequestOptions): Promise<SearchResponse>;
2117
+ /**
2118
+ * Search Stock only
2119
+ *
2120
+ * Search for stock data listed on the Indonesia Stock Exchange (IDX) based on query keywords with pagination support.
2121
+ *
2122
+ * Response:
2123
+ * - hits: Matching stocks (max 20 per page), each item contains:
2124
+ * - code: Stock code
2125
+ * - name: Company name
2126
+ * - logo: Company icon image URL
2127
+ * - query: Searched keyword
2128
+ * - processingTimeMs: Search processing time (milliseconds)
2129
+ * - hitsPerPage: Results per page (always 20)
2130
+ * - page: Current page number (from the cursor parameter, default 1)
2131
+ * - totalPages: Total number of pages
2132
+ * - totalHits: Total number of matches
2133
+ *
2134
+ * Update: Real-time (synced with IDX stock list)
2135
+ *
2136
+ * `GET /search/stock` — cached (`cache.ttl`).
2137
+ *
2138
+ * @param params Query parameters.
2139
+ * @param options Per-request options (e.g. `signal`).
2140
+ * @returns SearchStockResponse
2141
+ */
2142
+ searchStock(params: SearchStockParams, options?: RequestOptions): Promise<SearchStockResponse>;
2143
+ /**
2144
+ * Search User only
2145
+ *
2146
+ * Search for Invezgo app users based on query keywords with pagination support.
2147
+ *
2148
+ * Response:
2149
+ * - hits: Matching users (max 20 per page), each item contains:
2150
+ * - username: User's username
2151
+ * - name: User's display name
2152
+ * - image: User's profile picture URL (null if none)
2153
+ * - query: Searched keyword
2154
+ * - processingTimeMs: Search processing time (milliseconds)
2155
+ * - hitsPerPage: Results per page (always 20)
2156
+ * - page: Current page number (from the cursor parameter, default 1)
2157
+ * - totalPages: Total number of pages
2158
+ * - totalHits: Total number of matches
2159
+ *
2160
+ * Update: Real-time
2161
+ *
2162
+ * `GET /search/user` — cached (`cache.ttl`).
2163
+ *
2164
+ * @param params Query parameters.
2165
+ * @param options Per-request options (e.g. `signal`).
2166
+ * @returns SearchUserResponse
2167
+ */
2168
+ searchUser(params: SearchUserParams, options?: RequestOptions): Promise<SearchUserResponse>;
2169
+ }
2170
+ /** Run stock screeners and manage saved screener presets. */
2171
+ export declare class ScreenerResource {
2172
+ private readonly transport;
2173
+ constructor(transport: Transport);
2174
+ /**
2175
+ * Screener
2176
+ *
2177
+ * Get a list of stock data matching the specified formula.
2178
+ *
2179
+ * Update: Real-time (for real-time variables) and EOD (for non-real-time variables)
2180
+ *
2181
+ * Rate Limit: This endpoint has a special rate limit of 1 request per minute.
2182
+ *
2183
+ * Response:
2184
+ * - code: Stock code matching the formula (max 1200 stocks)
2185
+ * - matched: Formula match status, always true (only matching stocks are returned)
2186
+ * - <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
2187
+ *
2188
+ * `POST /screener/screen` — not cached.
2189
+ * @see https://invezgo.com/screener
2190
+ *
2191
+ * @param body Request body: Payload untuk menjalankan screener
2192
+ * @param options Per-request options (e.g. `signal`).
2193
+ * @returns ScreenerScreenResponse
2194
+ */
2195
+ screen(body: ScreenRequest, options?: RequestOptions): Promise<ScreenerScreenResponse>;
2196
+ /**
2197
+ * Screener Preset List
2198
+ *
2199
+ * Get the list of screener presets, grouped into your own presets, public presets, and presets shared with your plan.
2200
+ *
2201
+ * Response:
2202
+ * - name: Group name: Private (your own presets), Public (presets with public scope), Membership (presets shared with your plan)
2203
+ * - groups: Presets in the group, each item contains:
2204
+ * - id: Preset ID (only in the Private group), used for PUT/DELETE /screener/{id}
2205
+ * - name: Preset name
2206
+ * - description: Preset description (null if empty)
2207
+ * - scope: Preset visibility list (e.g. ["public"] or plan names)
2208
+ * - formula: Screener formula, can be run with POST /screener/screen
2209
+ * - category: Index categories the stocks are filtered to (e.g. ["SYARIAH"]); empty or null means all stocks
2210
+ * - profile_name: Name of the preset creator
2211
+ * - profile_image: Profile picture URL of the preset creator (null if none)
2212
+ *
2213
+ * Notes:
2214
+ * - The response always contains three groups in the order Private, Public, Membership
2215
+ * - Changes to other users' presets may appear up to 2 hours late; changes to your own presets are visible immediately
2216
+ *
2217
+ * `GET /screener` — cached (`cache.ttl`).
2218
+ *
2219
+ * @param options Per-request options (e.g. `signal`).
2220
+ * @returns ScreenerListResponse
2221
+ */
2222
+ list(options?: RequestOptions): Promise<ScreenerListResponse>;
2223
+ /**
2224
+ * Save Screener Preset
2225
+ *
2226
+ * 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.
2227
+ *
2228
+ * Response:
2229
+ * - message: Success message in the requested language (Accept-Language), e.g. "New preset {name} added successfully"
2230
+ *
2231
+ * Notes:
2232
+ * - scope defaults to ["public"] when omitted
2233
+ * - an omitted category means all stocks
2234
+ * - the new preset ID is listed in the Private group of GET /screener
2235
+ *
2236
+ * `POST /screener` — not cached.
2237
+ *
2238
+ * @param body Request body.
2239
+ * @param options Per-request options (e.g. `signal`).
2240
+ * @returns ScreenerSaveResponse
2241
+ */
2242
+ save(body: SaveScreenerRequest, options?: RequestOptions): Promise<ScreenerSaveResponse>;
2243
+ /**
2244
+ * Update Screener Preset
2245
+ *
2246
+ * 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.
2247
+ *
2248
+ * Response:
2249
+ * - message: Success message in the requested language (Accept-Language), e.g. "Preset {name} updated successfully"
2250
+ *
2251
+ * Notes:
2252
+ * - scope defaults to ["public"] when omitted; an omitted description or category is cleared
2253
+ * - an ID that does not exist or is not yours changes nothing but still returns the success message
2254
+ *
2255
+ * `PUT /screener/{id}` — not cached.
2256
+ *
2257
+ * @param id ID preset screener, diambil dari field `id` pada response `GET /screener`. Example: `1`.
2258
+ * @param body Request body.
2259
+ * @param options Per-request options (e.g. `signal`).
2260
+ * @returns ScreenerUpdateResponse
2261
+ */
2262
+ update(id: string, body: UpdateScreenerRequest, options?: RequestOptions): Promise<ScreenerUpdateResponse>;
2263
+ /**
2264
+ * Delete Screener Preset
2265
+ *
2266
+ * Delete one of your screener presets by ID.
2267
+ *
2268
+ * Response:
2269
+ * - message: Success message in the requested language (Accept-Language), e.g. "Preset {name} deleted successfully"
2270
+ *
2271
+ * `DELETE /screener/{id}` — not cached.
2272
+ *
2273
+ * @param id ID preset screener, diambil dari field `id` pada response `GET /screener`. Example: `1`.
2274
+ * @param options Per-request options (e.g. `signal`).
2275
+ * @returns ScreenerDeleteResponse
2276
+ */
2277
+ delete(id: string, options?: RequestOptions): Promise<ScreenerDeleteResponse>;
2278
+ }
2279
+ /** API usage and quota monitoring (does not consume quota). */
2280
+ export declare class UsageResource {
2281
+ private readonly transport;
2282
+ constructor(transport: Transport);
2283
+ /**
2284
+ * API Usage
2285
+ *
2286
+ * Information on API usage.
2287
+ *
2288
+ * Response:
2289
+ * - usage: Number of requests counted in the current quota period
2290
+ * - remaining: Requests left in the quota period (minimum 0; in-flight requests are also deducted)
2291
+ * - limit: Monthly request quota of the plan
2292
+ * - isBlocked: true when the quota is used up
2293
+ * - 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)
2294
+ * - role: Active plan name in upper case, e.g. ADVANCE
2295
+ *
2296
+ * Notes:
2297
+ * - The quota period is 30 days, or until the subscription ends if that is sooner
2298
+ * - Calling this endpoint does not consume quota
2299
+ *
2300
+ * `GET /usage/api` — not cached.
2301
+ *
2302
+ * @param options Per-request options (e.g. `signal`).
2303
+ * @returns ApiUsageResponse
2304
+ */
2305
+ getApiUsage(options?: RequestOptions): Promise<ApiUsageResponse>;
2306
+ /**
2307
+ * API Usage Logs
2308
+ *
2309
+ * Get the API usage log history (requests made with an API key) of the authenticated user, newest first.
2310
+ *
2311
+ * Response:
2312
+ * - id: Log ID
2313
+ * - date: Request time (ISO 8601 with a time-zone offset, e.g. 2026-07-30T22:57:26.606+07:00)
2314
+ * - method: HTTP method
2315
+ * - url: Called endpoint URL
2316
+ * - access: Client User-Agent
2317
+ * - status: HTTP status code of the response
2318
+ * - response_time: Response time in milliseconds
2319
+ *
2320
+ * Notes:
2321
+ * - from cannot be more than 30 days ago (counted from the start of that day, WIB); defaults to the last 24 hours
2322
+ * - to defaults to the current time and cannot be earlier than from
2323
+ * - Without limit, all logs in the time range are returned
2324
+ * - Calling this endpoint does not consume quota
2325
+ *
2326
+ * `GET /usage/logs` — not cached.
2327
+ *
2328
+ * @param params Query parameters.
2329
+ * @param options Per-request options (e.g. `signal`).
2330
+ * @returns UsageLogsResponse
2331
+ */
2332
+ getLogs(params?: UsageLogsParams, options?: RequestOptions): Promise<UsageLogsResponse>;
2333
+ }
2334
+ /** Personal watchlists and watchlist groups. */
2335
+ export declare class WatchlistsResource {
2336
+ private readonly transport;
2337
+ constructor(transport: Transport);
2338
+ /**
2339
+ * Watchlist
2340
+ *
2341
+ * Get the stocks in the user's watchlist with their last price and percentage change against the saved reference price.
2342
+ *
2343
+ * Response:
2344
+ * - id: Watchlist item ID (used by `PUT /watchlists/{id}`, `PATCH /watchlists/{id}` and `DELETE /watchlists`)
2345
+ * - code: Stock code
2346
+ * - note: User note (null if none)
2347
+ * - price: Reference price saved by the user (Rupiah)
2348
+ * - name: Company name (null if the code is not in the stock list)
2349
+ * - last: Last price (Rupiah), null if no price data yet
2350
+ * - change: Percentage change of `last` against `price` (%), null if no price data yet
2351
+ * - group_id: Watchlist group ID (null if the item has no group)
2352
+ *
2353
+ * 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.
2354
+ *
2355
+ * Notes:
2356
+ * - 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.
2357
+ * - Order: most recently updated items first.
2358
+ * - `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.
2359
+ *
2360
+ * `GET /watchlists` — cached (`cache.ttl`).
2361
+ *
2362
+ * @param params Query parameters.
2363
+ * @param options Per-request options (e.g. `signal`).
2364
+ * @returns WatchlistsListResponse
2365
+ */
2366
+ list(params?: WatchlistsListParams, options?: RequestOptions): Promise<WatchlistsListResponse>;
2367
+ /**
2368
+ * Add Stock to Watchlist
2369
+ *
2370
+ * Add a new stock to the user's watchlist.
2371
+ *
2372
+ * Response:
2373
+ * - message: Confirmation message, e.g. "BBCA added to watchlist"
2374
+ *
2375
+ * Notes:
2376
+ * - group: Group ID from the `value` field of `GET /watchlists/group` (exactly 25 characters).
2377
+ * - code: Stock code (max 6 characters).
2378
+ * - price: Reference price in Rupiah (at least 1), used to compute `change` in `GET /watchlists`.
2379
+ * - note: Optional note (max 150 characters); do not send null, omit the field instead.
2380
+ * - scope: Array of visibility strings for the watchlist item.
2381
+ * - A stock code can appear only once across the user's whole watchlist; adding an existing code returns `409`.
2382
+ * - `group` must be an existing group ID and `code` a listed stock code; otherwise the request fails.
2383
+ *
2384
+ * `POST /watchlists` — not cached.
2385
+ *
2386
+ * @param body Request body.
2387
+ * @param options Per-request options (e.g. `signal`).
2388
+ * @returns WatchlistsAddResponse
2389
+ */
2390
+ add(body: AddWatchlistRequest, options?: RequestOptions): Promise<WatchlistsAddResponse>;
2391
+ /**
2392
+ * Delete Watchlist Items
2393
+ *
2394
+ * Delete one or more stocks from the user's watchlist by item ID.
2395
+ *
2396
+ * Response:
2397
+ * - message: Confirmation message with the number of IDs sent, e.g. "2 watchlist deleted"
2398
+ *
2399
+ * Notes:
2400
+ * - Send a JSON body `{"id": ["<id>", ...]}` with IDs from the `id` field of `GET /watchlists`.
2401
+ * - 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.
2402
+ * - `id` must be an array.
2403
+ *
2404
+ * `DELETE /watchlists` — not cached.
2405
+ *
2406
+ * @param body Request body: Daftar ID item watchlist yang akan dihapus.
2407
+ * @param options Per-request options (e.g. `signal`).
2408
+ * @returns WatchlistsDeleteResponse
2409
+ */
2410
+ delete(body: DeleteIdsRequest, options?: RequestOptions): Promise<WatchlistsDeleteResponse>;
2411
+ /**
2412
+ * Watchlist Group List
2413
+ *
2414
+ * Get the user's watchlist groups.
2415
+ *
2416
+ * Response:
2417
+ * - value: Watchlist group ID (used as `group` in `GET /watchlists`, `POST /watchlists`, `PUT /watchlists/{id}`, and as `{id}` in `PUT`/`DELETE /watchlists/group/{id}`)
2418
+ * - label: Group name
2419
+ *
2420
+ * Notes:
2421
+ * - Returns an empty array if the user has no groups.
2422
+ * - Group order is not guaranteed.
2423
+ *
2424
+ * `GET /watchlists/group` — cached (`cache.ttl`).
2425
+ *
2426
+ * @param options Per-request options (e.g. `signal`).
2427
+ * @returns WatchlistsListGroupsResponse
2428
+ */
2429
+ listGroups(options?: RequestOptions): Promise<WatchlistsListGroupsResponse>;
2430
+ /**
2431
+ * Create Watchlist Group
2432
+ *
2433
+ * Create a new watchlist group for the user.
2434
+ *
2435
+ * Response:
2436
+ * - message: Confirmation message, "Group added"
2437
+ *
2438
+ * Notes:
2439
+ * - name: Group name (1-100 characters).
2440
+ * - The new group's ID is available in the `value` field of `GET /watchlists/group`.
2441
+ *
2442
+ * `POST /watchlists/group` — not cached.
2443
+ *
2444
+ * @param body Request body.
2445
+ * @param options Per-request options (e.g. `signal`).
2446
+ * @returns WatchlistsAddGroupResponse
2447
+ */
2448
+ addGroup(body: WatchlistGroupRequest, options?: RequestOptions): Promise<WatchlistsAddGroupResponse>;
2449
+ /**
2450
+ * Update Watchlist Group
2451
+ *
2452
+ * Rename one of the user's watchlist groups.
2453
+ *
2454
+ * Response:
2455
+ * - message: Confirmation message
2456
+ *
2457
+ * Notes:
2458
+ * - id: Group ID from the `value` field of `GET /watchlists/group`.
2459
+ * - name: New group name (1-100 characters).
2460
+ * - Returns `404` if the group is not found or does not belong to the user.
2461
+ *
2462
+ * `PUT /watchlists/group/{id}` — not cached.
2463
+ *
2464
+ * @param id ID grup watchlist, diambil dari field `id` pada response `GET /watchlists/group`. Example: `1`.
2465
+ * @param body Request body.
2466
+ * @param options Per-request options (e.g. `signal`).
2467
+ * @returns WatchlistsUpdateGroupResponse
2468
+ */
2469
+ updateGroup(id: string, body: WatchlistGroupRequest, options?: RequestOptions): Promise<WatchlistsUpdateGroupResponse>;
2470
+ /**
2471
+ * Delete Watchlist Group
2472
+ *
2473
+ * Delete one of the user's watchlist groups.
2474
+ *
2475
+ * Response:
2476
+ * - message: Confirmation message
2477
+ *
2478
+ * Notes:
2479
+ * - id: Group ID from the `value` field of `GET /watchlists/group`.
2480
+ * - All watchlist items in the group are deleted with it.
2481
+ * - Returns `404` if the group is not found or does not belong to the user.
2482
+ *
2483
+ * `DELETE /watchlists/group/{id}` — not cached.
2484
+ *
2485
+ * @param id ID grup watchlist, diambil dari field `id` pada response `GET /watchlists/group`. Example: `1`.
2486
+ * @param options Per-request options (e.g. `signal`).
2487
+ * @returns WatchlistsDeleteGroupResponse
2488
+ */
2489
+ deleteGroup(id: string, options?: RequestOptions): Promise<WatchlistsDeleteGroupResponse>;
2490
+ /**
2491
+ * Update Watchlist Item
2492
+ *
2493
+ * Move a watchlist item to another group and/or change its reference price.
2494
+ *
2495
+ * Response:
2496
+ * - message: Confirmation message, "Note watchlist updated"
2497
+ *
2498
+ * Notes:
2499
+ * - id: Item ID from the `id` field of `GET /watchlists`.
2500
+ * - group: Target group ID from the `value` field of `GET /watchlists/group` (exactly 25 characters, must be an existing group).
2501
+ * - price: New reference price in Rupiah (at least 1).
2502
+ * - Both fields are required. An ID that is not found or belongs to another user still returns `200` without changing anything.
2503
+ *
2504
+ * `PUT /watchlists/{id}` — not cached.
2505
+ *
2506
+ * @param id ID item watchlist, diambil dari field `id` pada response `GET /watchlists`. Example: `1`.
2507
+ * @param body Request body.
2508
+ * @param options Per-request options (e.g. `signal`).
2509
+ * @returns WatchlistsUpdateResponse
2510
+ */
2511
+ update(id: string, body: UpdateWatchlistRequest, options?: RequestOptions): Promise<WatchlistsUpdateResponse>;
2512
+ /**
2513
+ * Update Watchlist Note
2514
+ *
2515
+ * Update the note on a watchlist item.
2516
+ *
2517
+ * Response:
2518
+ * - message: Confirmation message, "Note watchlist updated"
2519
+ *
2520
+ * Notes:
2521
+ * - id: Item ID from the `id` field of `GET /watchlists`.
2522
+ * - note: New note (max 150 characters). Omit `note` (body `{}`) to clear the note; null is rejected with `422`.
2523
+ * - An ID that is not found or belongs to another user still returns `200` without changing anything.
2524
+ *
2525
+ * `PATCH /watchlists/{id}` — not cached.
2526
+ *
2527
+ * @param id ID item watchlist, diambil dari field `id` pada response `GET /watchlists`. Example: `1`.
2528
+ * @param body Request body.
2529
+ * @param options Per-request options (e.g. `signal`).
2530
+ * @returns WatchlistsUpdateNoteResponse
2531
+ */
2532
+ updateNote(id: string, body: NoteRequest, options?: RequestOptions): Promise<WatchlistsUpdateNoteResponse>;
2533
+ }
2534
+ /** Personal trading journal transactions. */
2535
+ export declare class JournalsResource {
2536
+ private readonly transport;
2537
+ constructor(transport: Transport);
2538
+ /**
2539
+ * Add Journal Transaction
2540
+ *
2541
+ * 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`.
2542
+ *
2543
+ * Response:
2544
+ * - message: Confirmation message, e.g. "Journal BBCA added successfully." (language follows the Accept-Language header)
2545
+ *
2546
+ * Notes:
2547
+ * - status defaults to BUY when omitted; anything other than BUY/SELL is rejected (422)
2548
+ * - fee is a percentage of the transaction value (e.g. 0.15 = 0.15%)
2549
+ * - Journal value = lot x 100 x price, plus fee for BUY or minus fee for SELL, rounded to Rupiah
2550
+ * - A SELL requires an existing portfolio position for the same stock code and broker; the position is removed automatically when its lots reach zero
2551
+ * - note must be sent (may be null), max 150 characters
2552
+ *
2553
+ * `POST /journals` — not cached.
2554
+ *
2555
+ * @param body Request body.
2556
+ * @param options Per-request options (e.g. `signal`).
2557
+ * @returns JournalsAddResponse
2558
+ */
2559
+ add(body: AddJournalRequest, options?: RequestOptions): Promise<JournalsAddResponse>;
2560
+ /**
2561
+ * Journal Transaction List
2562
+ *
2563
+ * Get the user's journal transactions (BUY/SELL) dated between `from` and `to` (inclusive), newest first.
2564
+ *
2565
+ * Response:
2566
+ * - id: Journal transaction ID (used by `DELETE /journals`)
2567
+ * - code: Stock code
2568
+ * - broker: Broker code (2 letters)
2569
+ * - 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)
2570
+ * - lot: Quantity in lots (1 lot = 100 shares)
2571
+ * - price: Transaction price per share (Rupiah)
2572
+ * - value: Transaction value in Rupiah as a numeric string, incl. fee (BUY = lot x 100 x price + fee; SELL = minus fee), rounded
2573
+ * - status: Transaction type (BUY or SELL)
2574
+ * - note: User note, null if empty
2575
+ *
2576
+ * `GET /journals` — cached (`cache.ttl`).
2577
+ *
2578
+ * @param params Query parameters.
2579
+ * @param options Per-request options (e.g. `signal`).
2580
+ * @returns JournalsListResponse
2581
+ */
2582
+ list(params: JournalsListParams, options?: RequestOptions): Promise<JournalsListResponse>;
2583
+ /**
2584
+ * Delete Journal Transactions
2585
+ *
2586
+ * 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.
2587
+ *
2588
+ * Response:
2589
+ * - message: Confirmation message, e.g. "Journal deleted successfully." (language follows the Accept-Language header)
2590
+ *
2591
+ * Notes:
2592
+ * - IDs come from the `id` field of `GET /journals`; unknown IDs are ignored
2593
+ * - The `id` field is required in the body
2594
+ *
2595
+ * `DELETE /journals` — not cached.
2596
+ *
2597
+ * @param body Request body: Daftar ID transaksi jurnal yang akan dihapus.
2598
+ * @param options Per-request options (e.g. `signal`).
2599
+ * @returns JournalsDeleteResponse
2600
+ */
2601
+ delete(body: DeleteIdsRequest, options?: RequestOptions): Promise<JournalsDeleteResponse>;
2602
+ /**
2603
+ * Journal Summary
2604
+ *
2605
+ * 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.
2606
+ *
2607
+ * Response:
2608
+ * - top_code: Stock codes, most transactions first
2609
+ * - total_transaction: Number of transactions in the period
2610
+ * - total_buy: Number of BUY transactions
2611
+ * - total_sell: Number of SELL transactions
2612
+ * - total_dividend: Number of DIVIDEND transactions
2613
+ * - total_value: Sum of the value of all transactions (Rupiah; BUY and SELL added together)
2614
+ * - percentage_buy: Share of BUY transactions (%)
2615
+ * - percentage_sell: Share of SELL transactions (%)
2616
+ * - percentage_dividend: Share of DIVIDEND transactions (%)
2617
+ * - average_value: Average value per transaction (Rupiah)
2618
+ * - transactions: Per-stock recap, highest total first, each item contains:
2619
+ * - code: Stock code
2620
+ * - buy: Number of BUY transactions
2621
+ * - sell: Number of SELL transactions
2622
+ * - dividend: Number of DIVIDEND transactions
2623
+ * - total: Total transactions for that stock
2624
+ *
2625
+ * Note: When there are no transactions in the period, every number is 0 and the lists are empty.
2626
+ *
2627
+ * `GET /journals/summary` — cached (`cache.ttl`).
2628
+ *
2629
+ * @param params Query parameters.
2630
+ * @param options Per-request options (e.g. `signal`).
2631
+ * @returns JournalsSummaryResponse
2632
+ */
2633
+ getSummary(params: JournalsSummaryParams, options?: RequestOptions): Promise<JournalsSummaryResponse>;
2634
+ }
2635
+ /** Personal portfolio built from journal transactions. */
2636
+ export declare class PortfoliosResource {
2637
+ private readonly transport;
2638
+ constructor(transport: Transport);
2639
+ /**
2640
+ * Portfolio
2641
+ *
2642
+ * Get the stock positions the user currently holds (built from journal entries), combined per stock code across all brokers, most recently updated first.
2643
+ *
2644
+ * Response:
2645
+ * - code: Stock code
2646
+ * - name: Company name, null if not available
2647
+ * - sector: Stock sector, null if not available
2648
+ * - subsector: Stock subsector, null if not available
2649
+ * - lot: Total held lots (1 lot = 100 shares)
2650
+ * - price: Average buy price per share, incl. buy fee (Rupiah)
2651
+ * - last: Latest closing price (Rupiah), null if not available yet
2652
+ * - value: Cost basis = lot x 100 x price (Rupiah)
2653
+ * - change: Change of the latest price vs the average price (%), null when last is null
2654
+ * - net: Unrealized profit/loss = lot x 100 x (last - price) (Rupiah), null when last is null
2655
+ * - subrow: Per-broker breakdown, each item contains:
2656
+ * - broker: Broker code (2 letters)
2657
+ * - lot: Lots held at that broker
2658
+ * - price: Average buy price per share at that broker, incl. buy fee (Rupiah)
2659
+ * - child: Number of brokers in subrow
2660
+ *
2661
+ * `GET /portfolios` — cached (`cache.ttl`).
2662
+ *
2663
+ * @param options Per-request options (e.g. `signal`).
2664
+ * @returns PortfoliosListResponse
2665
+ */
2666
+ list(options?: RequestOptions): Promise<PortfoliosListResponse>;
2667
+ /**
2668
+ * Portfolio Summary
2669
+ *
2670
+ * Get the user's portfolio summary: total cost basis, market value, unrealized profit/loss, and allocation per stock, sector and subsector.
2671
+ *
2672
+ * Response:
2673
+ * - total_value: Total cost basis (Rupiah)
2674
+ * - market_value: Total market value = cost basis + unrealized (Rupiah)
2675
+ * - unrealized: Total unrealized profit/loss (Rupiah)
2676
+ * - shares: Allocation per stock, each item contains:
2677
+ * - name: Stock code
2678
+ * - total_value: Cost basis of that stock (Rupiah)
2679
+ * - share: Share of the total cost basis (%)
2680
+ * - sector: Allocation per sector (stocks without a sector are left out), each item contains:
2681
+ * - name: Sector name
2682
+ * - total_value: Cost basis of that sector (Rupiah)
2683
+ * - share: Share of the total cost basis (%)
2684
+ * - subsector: Allocation per subsector (stocks without a subsector are left out), same fields as sector
2685
+ *
2686
+ * Note: Stocks without a latest price count with 0 unrealized. For an empty portfolio every number is 0 and the lists are empty.
2687
+ *
2688
+ * `GET /portfolios/summary` — cached (`cache.ttl`).
2689
+ *
2690
+ * @param options Per-request options (e.g. `signal`).
2691
+ * @returns PortfoliosSummaryResponse
2692
+ */
2693
+ getSummary(options?: RequestOptions): Promise<PortfoliosSummaryResponse>;
2694
+ }
2695
+ /** Live formula alerts. */
2696
+ export declare class AlertsResource {
2697
+ private readonly transport;
2698
+ constructor(transport: Transport);
2699
+ /**
2700
+ * Create Alert
2701
+ *
2702
+ * Create an alert to get notified when stocks meet a given formula.
2703
+ *
2704
+ * Response:
2705
+ * - message: Success message in the requested language (Accept-Language), e.g. "New Live Alert {name} added successfully"
2706
+ *
2707
+ * Notes:
2708
+ * - A Telegram account must be connected
2709
+ * - Active alert limit per plan: TRIAL 2, BASIC 7, PRO 15, ULTRA 30; ADVANCE and higher plans are unlimited
2710
+ * - The formula is tested first; if it is invalid, the alert is not created and the 400 response contains the formula error details
2711
+ * - The alert stays active until your subscription expires
2712
+ * - scope defaults to ["public"] when omitted; an omitted category means all stocks
2713
+ *
2714
+ * `POST /alerts` — not cached.
2715
+ * @see https://invezgo.com/id/live-alert
2716
+ *
2717
+ * @param body Request body.
2718
+ * @param options Per-request options (e.g. `signal`).
2719
+ * @returns AlertsCreateResponse
2720
+ */
2721
+ create(body: AlertRequest, options?: RequestOptions): Promise<AlertsCreateResponse>;
2722
+ /**
2723
+ * Alert List
2724
+ *
2725
+ * List of created alerts.
2726
+ *
2727
+ * Response:
2728
+ * - name: Alert group name: Private (your own alerts), Public (other users' alerts with public scope), Membership (other users' alerts shared with your plan)
2729
+ * - groups: Active alerts in the group, each item contains:
2730
+ * - id: Alert ID (only in the Private group)
2731
+ * - name: Alert name
2732
+ * - description: Alert description (null if empty)
2733
+ * - every: Check interval: FOURTY_FIVE_SECONDS, ONE_MINUTE, FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR, END_SESSION, END_OF_DAY
2734
+ * - send_on: When the notification is sent: IN (stock enters the condition), OUT (stock leaves the condition), IN_OUT (both)
2735
+ * - scope: Alert visibility list (e.g. ["public"] or plan names)
2736
+ * - formula: Alert formula
2737
+ * - category: Index categories the stocks are filtered to (e.g. ["SYARIAH"]), null for all stocks
2738
+ * - profile_name: Name of the alert creator
2739
+ * - profile_image: Profile picture URL of the alert creator (null if none)
2740
+ *
2741
+ * Notes:
2742
+ * - The response always contains three groups in the order Private, Public, Membership
2743
+ * - Only alerts that are not disabled and not expired are shown
2744
+ *
2745
+ * `GET /alerts` — cached (`cache.ttl`).
2746
+ * @see https://invezgo.com/id/live-alert
2747
+ *
2748
+ * @param options Per-request options (e.g. `signal`).
2749
+ * @returns AlertsListResponse
2750
+ */
2751
+ list(options?: RequestOptions): Promise<AlertsListResponse>;
2752
+ /**
2753
+ * Test Alert Formula
2754
+ *
2755
+ * Test an alert formula before creating the alert.
2756
+ *
2757
+ * Response:
2758
+ * - success: true if the formula is valid and evaluated successfully; false on error or a high-risk pattern
2759
+ * - formula: Tested formula (after automatic normalization, e.g. division guards)
2760
+ * - total_stocks: Number of active stocks evaluated (after the category filter)
2761
+ * - matched_count: Number of stocks matching the formula
2762
+ * - matched_stocks: Codes of stocks matching the formula (max 100)
2763
+ * - sample_results: Evaluation results of the first 5 stocks (absent if the formula fails validation), each item contains:
2764
+ * - code: Stock code
2765
+ * - matched: Whether the stock matches the formula
2766
+ * - error: Evaluation error message (present only on failure)
2767
+ * - processed_formula: Formula after functions were resolved for this stock
2768
+ * - warnings: Formula warnings (absent when empty), each item contains:
2769
+ * - level: Warning level: info, warning, error
2770
+ * - message: Warning message
2771
+ * - pattern: Formula fragment that triggered the warning
2772
+ * - suggestion: Suggested fix (optional)
2773
+ * - error: Error message (present only on failure); when success is false it holds the joined warnings or the error message
2774
+ * - message: Same as error, present only when success is false
2775
+ * - category_filter: Applied index categories (present only when sent)
2776
+ * - category_filtered_count: Number of stocks passing the category filter
2777
+ *
2778
+ * Notes:
2779
+ * - An invalid formula is still returned with HTTP 200 and success false; always check the success field
2780
+ *
2781
+ * `POST /alerts/test` — not cached.
2782
+ * @see https://invezgo.com/id/live-alert
2783
+ *
2784
+ * @param body Request body.
2785
+ * @param options Per-request options (e.g. `signal`).
2786
+ * @returns AlertsTestResponse
2787
+ */
2788
+ test(body: TestAlertRequest, options?: RequestOptions): Promise<AlertsTestResponse>;
2789
+ /**
2790
+ * Update Alert
2791
+ *
2792
+ * Update a created alert.
2793
+ *
2794
+ * Response:
2795
+ * - message: Success message in the requested language (Accept-Language), e.g. "Live Alert {name} updated successfully"
2796
+ *
2797
+ * Notes:
2798
+ * - The formula is tested first; if it is invalid, the alert is not changed and the 400 response contains the formula error details
2799
+ * - Requires an active subscription and a connected Telegram account; the alert's active period is extended to the subscription expiry
2800
+ * - An alert that does not exist, is not yours, or is disabled returns 404
2801
+ * - scope defaults to ["public"] when omitted; an omitted description or category is cleared
2802
+ *
2803
+ * `PUT /alerts/{id}` — not cached.
2804
+ * @see https://invezgo.com/id/live-alert
2805
+ *
2806
+ * @param id ID alert, diambil dari field `id` pada response `GET /alerts`. Example: `1`.
2807
+ * @param body Request body.
2808
+ * @param options Per-request options (e.g. `signal`).
2809
+ * @returns AlertsUpdateResponse
2810
+ */
2811
+ update(id: string, body: UpdateAlertRequest, options?: RequestOptions): Promise<AlertsUpdateResponse>;
2812
+ /**
2813
+ * Delete Alert
2814
+ *
2815
+ * Delete a created alert.
2816
+ *
2817
+ * Response:
2818
+ * - message: Success message in the requested language (Accept-Language), e.g. "Live Alert {name} deleted successfully"
2819
+ *
2820
+ * Notes:
2821
+ * - An alert that does not exist or is not yours returns 404
2822
+ *
2823
+ * `DELETE /alerts/{id}` — not cached.
2824
+ * @see https://invezgo.com/id/live-alert
2825
+ *
2826
+ * @param id ID alert, diambil dari field `id` pada response `GET /alerts`. Example: `1`.
2827
+ * @param options Per-request options (e.g. `signal`).
2828
+ * @returns AlertsDeleteResponse
2829
+ */
2830
+ delete(id: string, options?: RequestOptions): Promise<AlertsDeleteResponse>;
2831
+ }
2832
+ /** Community posts, comments, likes and votes. */
2833
+ export declare class PostsResource {
2834
+ private readonly transport;
2835
+ constructor(transport: Transport);
2836
+ /**
2837
+ * Post List
2838
+ *
2839
+ * Get the list of all Invezgo community posts with pagination, sorted newest first.
2840
+ *
2841
+ * Response:
2842
+ * - totalPage: Total pages based on limit
2843
+ * - page: Current page
2844
+ * - nextPage: Next page number, null on the last page
2845
+ * - data: Post list (newest first), each item contains:
2846
+ * - id: Post ID
2847
+ * - username: Author username
2848
+ * - content: Post content (HTML)
2849
+ * - 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)
2850
+ * - 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)
2851
+ * - visibility: Post visibility setting
2852
+ * - image: Author profile image URL (null if not set)
2853
+ * - name: Author display name (null if not set)
2854
+ * - verified: Whether the author is a verified account
2855
+ * - like: Number of likes
2856
+ * - favorite: Number of favorites
2857
+ * - comment: Number of comments
2858
+ * - is_like: true if you have liked the post
2859
+ * - is_favorite: true if you have favorited the post
2860
+ *
2861
+ * Notes:
2862
+ * - Only posts within your account's access scope are returned
2863
+ *
2864
+ * `GET /posts` — cached (`cache.ttl`).
2865
+ *
2866
+ * @param params Query parameters.
2867
+ * @param options Per-request options (e.g. `signal`).
2868
+ * @returns PostsListResponse
2869
+ */
2870
+ list(params: PostsListParams, options?: RequestOptions): Promise<PostsListResponse>;
2871
+ /**
2872
+ * Posts by Category
2873
+ *
2874
+ * Get the community posts of one category with pagination, sorted newest first.
2875
+ *
2876
+ * Response:
2877
+ * - totalPage: Total pages based on limit
2878
+ * - page: Current page
2879
+ * - nextPage: Next page number, null on the last page
2880
+ * - data: Post list (newest first), each item contains:
2881
+ * - id: Post ID
2882
+ * - username: Author username
2883
+ * - content: Post content (HTML)
2884
+ * - 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)
2885
+ * - 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)
2886
+ * - visibility: Post visibility setting
2887
+ * - image: Author profile image URL (null if not set)
2888
+ * - name: Author display name (null if not set)
2889
+ * - verified: Whether the author is a verified account
2890
+ * - like: Number of likes
2891
+ * - favorite: Number of favorites
2892
+ * - comment: Number of comments
2893
+ * - is_like: true if you have liked the post
2894
+ * - is_favorite: true if you have favorited the post
2895
+ *
2896
+ * Categories: POST (general post), ARTICLE (article), VIDEO (video), STOCKPICK (stock pick), POLLING (poll)
2897
+ * - The category value is case-insensitive; an unknown category returns empty data
2898
+ *
2899
+ * Notes:
2900
+ * - Only posts within your account's access scope are returned
2901
+ *
2902
+ * `GET /posts/category/{category}` — cached (`cache.ttl`).
2903
+ *
2904
+ * @param category Kategori postingan: `POST` = postingan umum, `ARTICLE` = artikel, `VIDEO` = video, `STOCKPICK` = rekomendasi saham, `POLLING` = polling. Example: `POST`.
2905
+ * @param params Query parameters.
2906
+ * @param options Per-request options (e.g. `signal`).
2907
+ * @returns PostsListByCategoryResponse
2908
+ */
2909
+ listByCategory(category: "POST" | "ARTICLE" | "VIDEO" | "STOCKPICK" | "POLLING", params: PostsListByCategoryParams, options?: RequestOptions): Promise<PostsListByCategoryResponse>;
2910
+ /**
2911
+ * Stock Posts
2912
+ *
2913
+ * Get the posts in a stock's discussion space (posts that mention the stock code) with pagination, sorted newest first.
2914
+ *
2915
+ * Response:
2916
+ * - totalPage: Total pages based on limit
2917
+ * - page: Current page
2918
+ * - nextPage: Next page number, null on the last page
2919
+ * - data: Post list (newest first), each item contains:
2920
+ * - id: Post ID
2921
+ * - username: Author username
2922
+ * - content: Post content (HTML)
2923
+ * - 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)
2924
+ * - 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)
2925
+ * - visibility: Post visibility setting
2926
+ * - image: Author profile image URL (null if not set)
2927
+ * - name: Author display name (null if not set)
2928
+ * - verified: Whether the author is a verified account
2929
+ * - like: Number of likes
2930
+ * - favorite: Number of favorites
2931
+ * - comment: Number of comments
2932
+ * - is_like: true if you have liked the post
2933
+ * - is_favorite: true if you have favorited the post
2934
+ *
2935
+ * Notes:
2936
+ * - The stock code must be uppercase (e.g. BBCA); an unknown code returns empty data
2937
+ * - Only posts within your account's access scope are returned
2938
+ *
2939
+ * `GET /posts/space/{code}` — cached (`cache.ttl`).
2940
+ *
2941
+ * @param code Kode saham untuk menampilkan postingan pada ruang diskusi saham tersebut. Example: `BBCA`.
2942
+ * @param params Query parameters.
2943
+ * @param options Per-request options (e.g. `signal`).
2944
+ * @returns PostsListByStockResponse
2945
+ */
2946
+ listByStock(code: string, params: PostsListByStockParams, options?: RequestOptions): Promise<PostsListByStockResponse>;
2947
+ /**
2948
+ * Stock Posts by Category
2949
+ *
2950
+ * Get the posts in a stock's discussion space for one category with pagination, sorted newest first.
2951
+ *
2952
+ * Response:
2953
+ * - totalPage: Total pages based on limit
2954
+ * - page: Current page
2955
+ * - nextPage: Next page number, null on the last page
2956
+ * - data: Post list (newest first), each item contains:
2957
+ * - id: Post ID
2958
+ * - username: Author username
2959
+ * - content: Post content (HTML)
2960
+ * - 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)
2961
+ * - 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)
2962
+ * - visibility: Post visibility setting
2963
+ * - image: Author profile image URL (null if not set)
2964
+ * - name: Author display name (null if not set)
2965
+ * - verified: Whether the author is a verified account
2966
+ * - like: Number of likes
2967
+ * - favorite: Number of favorites
2968
+ * - comment: Number of comments
2969
+ * - is_like: true if you have liked the post
2970
+ * - is_favorite: true if you have favorited the post
2971
+ *
2972
+ * Categories: POST (general post), ARTICLE (article), VIDEO (video), STOCKPICK (stock pick), POLLING (poll)
2973
+ *
2974
+ * Notes:
2975
+ * - The stock code and category must be uppercase (e.g. BBCA, STOCKPICK); unknown values return empty data
2976
+ * - Only posts within your account's access scope are returned
2977
+ *
2978
+ * `GET /posts/space/category/{code}/{category}` — cached (`cache.ttl`).
2979
+ *
2980
+ * @param code Kode saham untuk menampilkan postingan pada ruang diskusi saham tersebut. Example: `BBCA`.
2981
+ * @param category Kategori postingan: `POST` = postingan umum, `ARTICLE` = artikel, `VIDEO` = video, `STOCKPICK` = rekomendasi saham, `POLLING` = polling. Example: `POST`.
2982
+ * @param params Query parameters.
2983
+ * @param options Per-request options (e.g. `signal`).
2984
+ * @returns PostsListByStockCategoryResponse
2985
+ */
2986
+ listByStockCategory(code: string, category: "POST" | "ARTICLE" | "VIDEO" | "STOCKPICK" | "POLLING", params: PostsListByStockCategoryParams, options?: RequestOptions): Promise<PostsListByStockCategoryResponse>;
2987
+ /**
2988
+ * Post Detail
2989
+ *
2990
+ * Get the full content of one post by ID.
2991
+ *
2992
+ * Response:
2993
+ * - id: Post ID
2994
+ * - username: Author username
2995
+ * - content: Post content (HTML)
2996
+ * - 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)
2997
+ * - 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)
2998
+ * - visibility: Post visibility setting
2999
+ * - image: Author profile image URL (null if not set)
3000
+ * - name: Author display name (null if not set)
3001
+ * - verified: Whether the author is a verified account
3002
+ * - like: Number of likes
3003
+ * - favorite: Number of favorites
3004
+ * - comment: Number of comments
3005
+ * - is_like: true if you have liked the post
3006
+ * - is_favorite: true if you have favorited the post
3007
+ *
3008
+ * Notes:
3009
+ * - Take the ID from the id field of a post list (e.g. GET /posts)
3010
+ * - A post outside your account's access scope returns 404
3011
+ *
3012
+ * `GET /posts/detail/{id}` — cached (`cache.ttl`).
3013
+ *
3014
+ * @param id ID postingan, diambil dari field `id` pada response daftar postingan (mis. `GET /posts`). Example: `1`.
3015
+ * @param options Per-request options (e.g. `signal`).
3016
+ * @returns PostDetailResponse
3017
+ */
3018
+ get(id: string, options?: RequestOptions): Promise<PostDetailResponse>;
3019
+ /**
3020
+ * Post Comments
3021
+ *
3022
+ * Get the comments on a post with pagination, sorted by oldest update first.
3023
+ *
3024
+ * Response:
3025
+ * - totalPage: Total pages based on limit
3026
+ * - page: Current page
3027
+ * - nextPage: Next page number, null on the last page
3028
+ * - data: Comment list, each item contains:
3029
+ * - id: Comment ID
3030
+ * - username: Commenter username
3031
+ * - post_id: ID of the commented post
3032
+ * - content: Comment content (HTML)
3033
+ * - 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)
3034
+ * - 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)
3035
+ * - image: Commenter profile image URL (null if not set)
3036
+ * - name: Commenter display name (null if not set)
3037
+ * - verified: Whether the commenter is a verified account
3038
+ * - like: Number of likes on the comment (numeric string)
3039
+ * - favorite: Number of favorites on the comment (numeric string)
3040
+ * - is_like: true if you have liked the comment
3041
+ * - is_favorite: true if you have favorited the comment
3042
+ *
3043
+ * Notes:
3044
+ * - Take the post ID from the id field of a post list (e.g. GET /posts)
3045
+ * - An unknown ID returns empty data
3046
+ *
3047
+ * `GET /posts/comment/{id}` — cached (`cache.ttl`).
3048
+ *
3049
+ * @param id ID postingan, diambil dari field `id` pada response daftar postingan (mis. `GET /posts`). Example: `1`.
3050
+ * @param params Query parameters.
3051
+ * @param options Per-request options (e.g. `signal`).
3052
+ * @returns PostsCommentsResponse
3053
+ */
3054
+ getComments(id: string, params: PostsCommentsParams, options?: RequestOptions): Promise<PostsCommentsResponse>;
3055
+ /**
3056
+ * Liked Posts
3057
+ *
3058
+ * Get the posts and comments you have liked with pagination, sorted by most recently liked.
3059
+ *
3060
+ * Response:
3061
+ * - totalPage: Total pages based on limit
3062
+ * - page: Current page
3063
+ * - nextPage: Next page number, null on the last page
3064
+ * - data: Post/comment list, each item contains:
3065
+ * - id: Post or comment ID
3066
+ * - content: Post/comment content (HTML)
3067
+ * - 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)
3068
+ * - 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)
3069
+ * - image: Author profile image URL (null if not set)
3070
+ * - name: Author display name (null if not set)
3071
+ * - username: Author username
3072
+ * - verified: Whether the author is a verified account
3073
+ * - like: Number of likes (numeric string, always "1")
3074
+ * - favorite: Number of favorites (numeric string)
3075
+ * - comment: Number of comments on a post, or replies for a comment (numeric string)
3076
+ * - is_like: true if you have liked the item
3077
+ * - is_favorite: true if you have favorited the item
3078
+ * - parent_id: For a comment, the ID of its parent post; null for a post
3079
+ * - 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)
3080
+ *
3081
+ * `GET /posts/like` — cached (`cache.ttl`).
3082
+ *
3083
+ * @param params Query parameters.
3084
+ * @param options Per-request options (e.g. `signal`).
3085
+ * @returns PostsLikesResponse
3086
+ */
3087
+ getLikes(params: PostsLikesParams, options?: RequestOptions): Promise<PostsLikesResponse>;
3088
+ /**
3089
+ * Favorite Posts
3090
+ *
3091
+ * Get the posts and comments you have favorited with pagination, sorted by most recently favorited.
3092
+ *
3093
+ * Response:
3094
+ * - totalPage: Total pages based on limit
3095
+ * - page: Current page
3096
+ * - nextPage: Next page number, null on the last page
3097
+ * - data: Post/comment list, each item contains:
3098
+ * - id: Post or comment ID
3099
+ * - content: Post/comment content (HTML)
3100
+ * - 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)
3101
+ * - 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)
3102
+ * - image: Author profile image URL (null if not set)
3103
+ * - name: Author display name (null if not set)
3104
+ * - username: Author username
3105
+ * - verified: Whether the author is a verified account
3106
+ * - like: Number of likes (numeric string)
3107
+ * - favorite: Number of favorites (numeric string, always "1")
3108
+ * - comment: Number of comments on a post, or replies for a comment (numeric string)
3109
+ * - is_like: true if you have liked the item
3110
+ * - is_favorite: true if you have favorited the item
3111
+ * - parent_id: For a comment, the ID of its parent post; null for a post
3112
+ * - 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)
3113
+ *
3114
+ * `GET /posts/favorite` — cached (`cache.ttl`).
3115
+ *
3116
+ * @param params Query parameters.
3117
+ * @param options Per-request options (e.g. `signal`).
3118
+ * @returns PostsFavoritesResponse
3119
+ */
3120
+ getFavorites(params: PostsFavoritesParams, options?: RequestOptions): Promise<PostsFavoritesResponse>;
3121
+ /**
3122
+ * Post Votes
3123
+ *
3124
+ * Get the vote summary (agree/disagree) of a stock pick (stockpick) post.
3125
+ *
3126
+ * Response:
3127
+ * - liked: true if you have already voted
3128
+ * - agree: Number of agree votes (null if no vote has been counted yet)
3129
+ * - disagree: Number of disagree votes (null if no vote has been counted yet)
3130
+ *
3131
+ * Notes:
3132
+ * - Take the ID from the id field of a post list (e.g. GET /posts)
3133
+ * - If the post has no stock pick, the response is 200 with an empty body
3134
+ *
3135
+ * `GET /posts/vote/{id}` — cached (`cache.ttl`).
3136
+ *
3137
+ * @param id ID postingan, diambil dari field `id` pada response daftar postingan (mis. `GET /posts`). Example: `1`.
3138
+ * @param options Per-request options (e.g. `signal`).
3139
+ * @returns PostsVotersResponse
3140
+ */
3141
+ getVoters(id: string, options?: RequestOptions): Promise<PostsVotersResponse>;
3142
+ }
3143
+ /** Personal realized trades. */
3144
+ export declare class TradesResource {
3145
+ private readonly transport;
3146
+ constructor(transport: Transport);
3147
+ /**
3148
+ * Realized Trade List
3149
+ *
3150
+ * Get the user's realized trades (from SELL journal entries) with a sell date between `from` and `to` (inclusive), newest first.
3151
+ *
3152
+ * Response:
3153
+ * - id: Realized trade ID (used by `PATCH /trades/{id}` and `DELETE /trades`)
3154
+ * - code: Stock code
3155
+ * - broker: Broker code (2 letters)
3156
+ * - 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)
3157
+ * - lot: Sold lots (1 lot = 100 shares)
3158
+ * - buy_price: Average buy price per share at the time of the sale, incl. buy fee (Rupiah)
3159
+ * - sell_price: Sell price per share (Rupiah)
3160
+ * - buy_value: Buy value = lot x 100 x buy_price, rounded (Rupiah)
3161
+ * - sell_value: Sell value = lot x 100 x sell_price, before sell fee (Rupiah)
3162
+ * - net: Net profit/loss = sell_value - sell fee - buy_value, rounded (Rupiah)
3163
+ * - percent: Price gain/loss = (sell_price - buy_price) / buy_price x 100, 4 decimals (%)
3164
+ * - status: PROFIT, LOSS or BEP based on net
3165
+ * - note: User note, null if empty
3166
+ *
3167
+ * `GET /trades` — cached (`cache.ttl`).
3168
+ *
3169
+ * @param params Query parameters.
3170
+ * @param options Per-request options (e.g. `signal`).
3171
+ * @returns TradesListResponse
3172
+ */
3173
+ list(params: TradesListParams, options?: RequestOptions): Promise<TradesListResponse>;
3174
+ /**
3175
+ * Delete Realized Trades
3176
+ *
3177
+ * 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.
3178
+ *
3179
+ * Response:
3180
+ * - message: Confirmation message
3181
+ *
3182
+ * Note: IDs come from the `id` field of `GET /trades`; unknown IDs are ignored.
3183
+ *
3184
+ * `DELETE /trades` — not cached.
3185
+ *
3186
+ * @param body Request body: Daftar ID transaksi terealisasi yang akan dihapus.
3187
+ * @param options Per-request options (e.g. `signal`).
3188
+ * @returns TradesDeleteResponse
3189
+ */
3190
+ delete(body: DeleteIdsRequest, options?: RequestOptions): Promise<TradesDeleteResponse>;
3191
+ /**
3192
+ * Realized Trade Summary
3193
+ *
3194
+ * 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.
3195
+ *
3196
+ * Response:
3197
+ * - top_code: Stock codes, most trades first
3198
+ * - total_transaction: Number of realized trades in the period
3199
+ * - total_profit: Number of PROFIT trades
3200
+ * - total_loss: Number of LOSS trades
3201
+ * - total_bep: Number of BEP (break-even) trades
3202
+ * - total_buy_value: Total buy value (Rupiah)
3203
+ * - total_sell_value: Total sell value (Rupiah)
3204
+ * - total_net: Total net profit/loss (Rupiah)
3205
+ * - win_rate: Share of PROFIT trades (%)
3206
+ * - loss_rate: Share of LOSS trades (%)
3207
+ * - bep_rate: Share of BEP trades (%)
3208
+ * - top_win_value: PROFIT trade with the largest net, contains:
3209
+ * - code: Stock code (empty string if none)
3210
+ * - value: Net value (Rupiah), 0 if none
3211
+ * - top_loss_value: LOSS trade with the largest net loss, contains code and value (Rupiah)
3212
+ * - top_win_percent: PROFIT trade with the highest percent, contains code and value (%)
3213
+ * - top_loss_percent: LOSS trade with the lowest percent, contains code and value (%)
3214
+ *
3215
+ * Note: When there are no trades in the period, every number is 0, top_code is empty and each top_* is {"code": "", "value": 0}.
3216
+ *
3217
+ * `GET /trades/summary` — cached (`cache.ttl`).
3218
+ *
3219
+ * @param params Query parameters.
3220
+ * @param options Per-request options (e.g. `signal`).
3221
+ * @returns TradesSummaryResponse
3222
+ */
3223
+ getSummary(params: TradesSummaryParams, options?: RequestOptions): Promise<TradesSummaryResponse>;
3224
+ /**
3225
+ * Realized Trade Summary Chart
3226
+ *
3227
+ * 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.
3228
+ *
3229
+ * Response:
3230
+ * - date: Trade day (YYYY-MM-DD, WIB)
3231
+ * - net: Net profit/loss on that day, 2 decimals (Rupiah)
3232
+ * - cumulative_net: Running total of net since the start of the period, 2 decimals (Rupiah)
3233
+ * - close: Comparison index close on that day, 2 decimals; null if no index data
3234
+ *
3235
+ * Notes:
3236
+ * - The `code` parameter is the comparison index code (e.g. COMPOSITE)
3237
+ * - When `code` is sent empty (`code=`), a day can appear more than once, one row per index that has data on that day
3238
+ *
3239
+ * `GET /trades/summary-chart` — cached (`cache.ttl`).
3240
+ *
3241
+ * @param params Query parameters.
3242
+ * @param options Per-request options (e.g. `signal`).
3243
+ * @returns TradesSummaryChartResponse
3244
+ */
3245
+ getSummaryChart(params: TradesSummaryChartParams, options?: RequestOptions): Promise<TradesSummaryChartResponse>;
3246
+ /**
3247
+ * Update Realized Trade Note
3248
+ *
3249
+ * 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.
3250
+ *
3251
+ * Response:
3252
+ * - message: Confirmation message
3253
+ *
3254
+ * Note: The ID comes from the `id` field of `GET /trades`. An unknown ID does not produce an error.
3255
+ *
3256
+ * `PATCH /trades/{id}` — not cached.
3257
+ *
3258
+ * @param id ID transaksi terealisasi, diambil dari field `id` pada response `GET /trades`. Example: `1`.
3259
+ * @param body Request body.
3260
+ * @param options Per-request options (e.g. `signal`).
3261
+ * @returns TradesUpdateNoteResponse
3262
+ */
3263
+ updateNote(id: string, body: NoteTradeRequest, options?: RequestOptions): Promise<TradesUpdateNoteResponse>;
3264
+ }
3265
+ /** All API resources. Extended by {@link Invezgo}. */
3266
+ export declare class InvezgoResources {
3267
+ /** Indonesia stock market data: lists, prices, charts, broker flow, shareholders, fundamentals. */
3268
+ readonly analysis: AnalysisResource;
3269
+ /** Batch endpoints: fetch many stocks in one request (counted as 1 request). */
3270
+ readonly batch: BatchResource;
3271
+ /** Search stocks and users. */
3272
+ readonly search: SearchResource;
3273
+ /** Run stock screeners and manage saved screener presets. */
3274
+ readonly screener: ScreenerResource;
3275
+ /** API usage and quota monitoring (does not consume quota). */
3276
+ readonly usage: UsageResource;
3277
+ /** Personal watchlists and watchlist groups. */
3278
+ readonly watchlists: WatchlistsResource;
3279
+ /** Personal trading journal transactions. */
3280
+ readonly journals: JournalsResource;
3281
+ /** Personal portfolio built from journal transactions. */
3282
+ readonly portfolios: PortfoliosResource;
3283
+ /** Live formula alerts. */
3284
+ readonly alerts: AlertsResource;
3285
+ /** Community posts, comments, likes and votes. */
3286
+ readonly posts: PostsResource;
3287
+ /** Personal realized trades. */
3288
+ readonly trades: TradesResource;
3289
+ constructor(transport: Transport);
3290
+ }
3291
+ //# sourceMappingURL=resources.d.ts.map