{"openapi":"3.1.0","info":{"title":"Manado Research — IDX market data","version":"1.0.0","description":"End-of-day Indonesia Stock Exchange data collected from IDX's public website (unofficial). Prices and rupiah values are whole IDR unless noted; dates are Asia/Jakarta days (YYYY-MM-DD), instants ISO 8601 with +07:00. Lists are paged: pass meta.next as cursor."},"servers":[{"url":"https://api.manadoresearch.com/idx"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Your API key (mr_…)"}}},"paths":{"/v1/companies":{"get":{"summary":"Search listed companies","description":"Every security IDX lists (also delisted and suspended ones), with sector classification and latest listed shares.","operationId":"companies","parameters":[{"name":"q","in":"query","required":false,"schema":{"description":"Part of the code or name, e.g. \"bank\"","type":"string","minLength":1,"maxLength":100},"description":"Part of the code or name, e.g. \"bank\""},{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"status","in":"query","required":false,"schema":{"description":"Listing status","type":"string","enum":["listed","delisted","suspended"]},"description":"Listing status"},{"name":"sector","in":"query","required":false,"schema":{"description":"IDX-IC sector name, exactly as returned","type":"string","minLength":1,"maxLength":100},"description":"IDX-IC sector name, exactly as returned"},{"name":"board","in":"query","required":false,"schema":{"description":"Listing board, e.g. Utama, Pengembangan","type":"string","minLength":1,"maxLength":100},"description":"Listing board, e.g. Utama, Pengembangan"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"description":"Direction of code"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"name":{},"listingDate":{},"board":{},"sector":{},"subSector":{},"industry":{},"subIndustry":{},"shares":{},"status":{},"delistingDate":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/companies/{code}":{"get":{"summary":"One company: listing data, profile and special notation","operationId":"company","parameters":[{"name":"code","in":"path","required":true,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Code, e.g. BBCA"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/companies/{code}/history":{"get":{"summary":"Changes to a company (name, board, sector, status)","description":"Company history: one row per stretch of time the content stayed the same (observedFrom = first seen by us, observedTo = last day before it changed; null = current).","operationId":"company_history","parameters":[{"name":"code","in":"path","required":true,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Code, e.g. BBCA"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Rows per page (at most 500)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of observedFrom"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"observedFrom":{},"observedTo":{},"name":{},"listingDate":{},"board":{},"sector":{},"subSector":{},"industry":{},"subIndustry":{},"status":{},"delistingDate":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/companies/{code}/history/profile":{"get":{"summary":"Changes to a company profile (directors, shareholders, …)","description":"Company profile history: one row per stretch of time the content stayed the same (observedFrom = first seen by us, observedTo = last day before it changed; null = current).","operationId":"company_profile_history","parameters":[{"name":"code","in":"path","required":true,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Code, e.g. BBCA"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Rows per page (at most 500)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of observedFrom"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"observedFrom":{},"observedTo":{},"name":{},"address":{},"bae":{},"sector":{},"subSector":{},"industry":{},"subIndustry":{},"email":{},"fax":{},"phone":{},"website":{},"npwp":{},"businessActivity":{},"listingDate":{},"board":{},"secretary":{},"directors":{},"commissioners":{},"auditCommittee":{},"shareholders":{},"subsidiaries":{},"auditors":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/companies/{code}/history/notation":{"get":{"summary":"Changes to special notations","description":"Special notation history: one row per stretch of time the content stayed the same (observedFrom = first seen by us, observedTo = last day before it changed; null = current).","operationId":"notation_history","parameters":[{"name":"code","in":"path","required":true,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Code, e.g. BBCA"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":100},"description":"Rows per page (at most 500)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of observedFrom"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"observedFrom":{},"observedTo":{},"notation":{},"umaDate":{},"corpAction":{},"corpActionDate":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/notations":{"get":{"summary":"Special notations of every stock","description":"IDX special notation codes, last unusual-market-activity (UMA) date and pending corporate action, per stock (latest).","operationId":"stock_notation","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"description":"Direction of code"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"notation":{},"umaDate":{},"corpAction":{},"corpActionDate":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/stocks/{code}/daily":{"get":{"summary":"Daily prices of one stock","description":"End-of-day OHLC, volume, value, frequency, best bid/offer, foreign buy/sell and shares per stock and trading day. Prices and values in whole IDR.","operationId":"stock_daily","parameters":[{"name":"code","in":"path","required":true,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Code, e.g. BBCA"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of date"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{},"code":{},"name":{},"remarks":{},"previous":{},"open":{},"high":{},"low":{},"close":{},"change":{},"firstTrade":{},"volume":{},"value":{},"frequency":{},"bid":{},"bidVolume":{},"offer":{},"offerVolume":{},"foreignBuy":{},"foreignSell":{},"listedShares":{},"tradableShares":{},"weightForIndex":{},"individualIndex":{},"nonRegularVolume":{},"nonRegularValue":{},"nonRegularFrequency":{},"delistingDate":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/market/{date}":{"get":{"summary":"Every stock on one trading day","description":"End-of-day OHLC, volume, value, frequency, best bid/offer, foreign buy/sell and shares per stock and trading day. Prices and values in whole IDR.","operationId":"stock_daily_by_day","parameters":[{"name":"date","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"},"description":"Trading day, YYYY-MM-DD (Asia/Jakarta)"},{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of date"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{},"code":{},"name":{},"remarks":{},"previous":{},"open":{},"high":{},"low":{},"close":{},"change":{},"firstTrade":{},"volume":{},"value":{},"frequency":{},"bid":{},"bidVolume":{},"offer":{},"offerVolume":{},"foreignBuy":{},"foreignSell":{},"listedShares":{},"tradableShares":{},"weightForIndex":{},"individualIndex":{},"nonRegularVolume":{},"nonRegularValue":{},"nonRegularFrequency":{},"delistingDate":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/indices":{"get":{"summary":"Every index with its latest value","description":"Every IDX index with its latest value (current = the close once the market has closed).","operationId":"indices","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"description":"Direction of code"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"previous":{},"current":{},"change":{},"percent":{},"time":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/indices/{code}/daily":{"get":{"summary":"Daily values of one index","description":"End-of-day open/high/low/close, volume, value, frequency and market cap per index.","operationId":"index_daily","parameters":[{"name":"code","in":"path","required":true,"schema":{"description":"Index code, e.g. COMPOSITE, LQ45","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Code, e.g. BBCA"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of date"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{},"code":{},"previous":{},"open":{},"high":{},"low":{},"close":{},"change":{},"volume":{},"value":{},"frequency":{},"marketCap":{},"numberOfStocks":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/brokers":{"get":{"summary":"Exchange members","description":"Brokers, participants and primary dealers.","operationId":"brokers","parameters":[{"name":"q","in":"query","required":false,"schema":{"description":"Part of the code or name","type":"string","minLength":1,"maxLength":100},"description":"Part of the code or name"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":200},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"description":"Direction of code"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"name":{},"license":{},"isBroker":{},"isParticipant":{},"isPrimaryDealer":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/brokers/daily":{"get":{"summary":"Daily activity per broker","description":"Total value, volume and frequency traded per broker and trading day (whole market, not per stock).","operationId":"broker_daily","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Broker code, e.g. YP","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Broker code, e.g. YP"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of date"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{},"brokerCode":{},"brokerName":{},"value":{},"volume":{},"frequency":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/investor-flow":{"get":{"summary":"Daily trading by domestic and foreign investors","description":"Daily trading by investor type: for investor = domestic, with* = domestic trading with domestic / with foreign; for foreign, the same from the foreign side.","operationId":"investor_flow","parameters":[{"name":"investor","in":"query","required":false,"schema":{"description":"Investor type","type":"string","enum":["domestic","foreign"]},"description":"Investor type"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of date"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{},"investor":{},"withDomesticVolume":{},"withDomesticValue":{},"withDomesticFrequency":{},"withForeignVolume":{},"withForeignValue":{},"withForeignFrequency":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/market-summary":{"get":{"summary":"Daily totals per market segment","description":"Daily totals per market segment (volume, value, frequency).","operationId":"market_summary","parameters":[{"name":"segment","in":"query","required":false,"schema":{"description":"Market segment, exactly as returned","type":"string","minLength":1,"maxLength":100},"description":"Market segment, exactly as returned"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of date"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{},"segment":{},"volume":{},"value":{},"frequency":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/rankings":{"get":{"summary":"Monthly top gainers, losers and most active","description":"IDX's monthly top gainers, top losers and most active stocks by volume, value and frequency.","operationId":"rankings","parameters":[{"name":"list","in":"query","required":false,"schema":{"description":"Which list","type":"string","enum":["gainer","loser","active_volume","active_value","active_freq"]},"description":"Which list"},{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","description":"First month, inclusive: YYYY-MM"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","description":"Last month, inclusive: YYYY-MM"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of month"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"month":{},"list":{},"rank":{},"code":{},"name":{},"previous":{},"previousCa":{},"close":{},"dilution":{},"change":{},"changePercent":{},"volume":{},"value":{},"frequency":{},"volumePercent":{},"valuePercent":{},"frequencyPercent":{},"tradingDays":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/industries":{"get":{"summary":"Monthly sector and sub-sector statistics","description":"Month-end snapshot per IDX-IC sector and sub-sector: members, shares, market cap, trading, PER and PBV (amounts in IDX units for this table).","operationId":"industries","parameters":[{"name":"level","in":"query","required":false,"schema":{"description":"Sector or sub-sector rows","type":"string","enum":["sector","sub_sector"]},"description":"Sector or sub-sector rows"},{"name":"code","in":"query","required":false,"schema":{"description":"Sector or sub-sector code, e.g. A, A1","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Sector or sub-sector code, e.g. A, A1"},{"name":"sector","in":"query","required":false,"schema":{"description":"Sector code of a sub-sector, e.g. A","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Sector code of a sub-sector, e.g. A"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","description":"First month, inclusive: YYYY-MM"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","description":"Last month, inclusive: YYYY-MM"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of month"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"month":{},"code":{},"level":{},"date":{},"name":{},"sectorCode":{},"members":{},"delisted":{},"shares":{},"marketCap":{},"volume":{},"value":{},"frequency":{},"per":{},"pbv":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/corporate-actions/dividends":{"get":{"summary":"Dividends","description":"Dividends (IDX statistics, by exDate).","operationId":"dividends","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of exDate"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"exDate":{},"name":{},"cashDividend":{},"currency":{},"cumDate":{},"recordDate":{},"paymentDate":{},"note":{},"stockDividend":{},"stockDividendRatio":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/corporate-actions/stock-splits":{"get":{"summary":"Stock splits and reverse splits","description":"Stock splits and reverse splits (IDX statistics, by listingDate).","operationId":"stock_splits","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of listingDate"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"listingDate":{},"name":{},"type":{},"ratio":{},"oldNominal":{},"newNominal":{},"additionalShares":{},"listedShares":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/corporate-actions/rights-issues":{"get":{"summary":"Rights issues","description":"Rights issues (IDX statistics, by exDate).","operationId":"rights_issues","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of exDate"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"exDate":{},"name":{},"ratio":{},"sharesIssued":{},"exercisePrice":{},"fundRaised":{},"recordDate":{},"tradingPeriod":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/corporate-actions/additional-listings":{"get":{"summary":"Additional listings","description":"Additional listings (IDX statistics, by startDate).","operationId":"additional_listings","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of startDate"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"startDate":{},"type":{},"name":{},"shares":{},"lastDate":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/corporate-actions/ipos":{"get":{"summary":"IPOs","description":"IPOs (new listings) (IDX statistics, by listingDate).","operationId":"ipos","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of listingDate"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"listingDate":{},"name":{},"listedShares":{},"offeringShares":{},"offeringPrice":{},"nominal":{},"fundRaised":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/listing-events":{"get":{"summary":"Delistings, listings, suspensions","description":"Delistings, new listings, relistings, suspensions and their lifting, as IDX announces them.","operationId":"listing_events","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"type","in":"query","required":false,"schema":{"description":"Event type, e.g. delist, listing, relist, suspend, unsuspend, upt","type":"string","minLength":1,"maxLength":100},"description":"Event type, e.g. delist, listing, relist, suspend, unsuspend, upt"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of date"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"type":{},"eventAt":{},"date":{},"name":{},"title":{},"sourceUrl":{},"board":{},"listedShares":{},"marketCap":{},"regularPrice":{},"lastTradingDate":{},"listingDate":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/share-issuance":{"get":{"summary":"Share issuance history","description":"Changes in listed shares per stock (type of issuance, shares added, total after).","operationId":"share_issuance","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"type","in":"query","required":false,"schema":{"description":"Issuance type, exactly as returned","type":"string","minLength":1,"maxLength":100},"description":"Issuance type, exactly as returned"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of date"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"date":{},"type":{},"shares":{},"totalShares":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/financials/ratios":{"get":{"summary":"Financial ratios per statement date","description":"Per company and statement date (period): assets, liabilities, equity, sales, profit, EPS, book value, PER, PBV, DER, ROA, ROE, NPM (amounts in IDX units for this table).","operationId":"financial_ratios","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"sector","in":"query","required":false,"schema":{"description":"Sector name, exactly as returned","type":"string","minLength":1,"maxLength":100},"description":"Sector name, exactly as returned"},{"name":"sharia","in":"query","required":false,"schema":{"description":"'S' = sharia-compliant only","type":"string","enum":["S"]},"description":"'S' = sharia-compliant only"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of period"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"period":{},"name":{},"sector":{},"subSector":{},"industry":{},"subIndustry":{},"subIndustryCode":{},"sharia":{},"fiscalYearEnd":{},"audit":{},"opinion":{},"assets":{},"liabilities":{},"equity":{},"sales":{},"ebt":{},"profit":{},"profitAttrOwner":{},"eps":{},"bookValue":{},"per":{},"pbv":{},"der":{},"roa":{},"roe":{},"npm":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/financials/reports":{"get":{"summary":"Filed financial reports with file links","description":"Filed financial statements per company, year and period (Audit = annual, TW1–TW3 = quarters), with links to the files on IDX.","operationId":"financial_reports","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"year","in":"query","required":false,"schema":{"description":"Report year","type":"integer","minimum":1990,"maximum":2100},"description":"Report year"},{"name":"period","in":"query","required":false,"schema":{"description":"Audit (annual) or TW1–TW3","type":"string","enum":["Audit","TW1","TW2","TW3"]},"description":"Audit (annual) or TW1–TW3"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":50},"description":"Rows per page (at most 500)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of year"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{},"year":{},"period":{},"name":{},"idxModifiedAt":{},"attachments":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/announcements":{"get":{"summary":"Announcements with file links","description":"Company and exchange announcements (disclosures) with links to their files on IDX, newest first. publishedAt is when the company filed it (the filing time); firstSeenAt is when this service first stored it (null for rows stored before 2026-10-15). Withdrawn ones are hidden unless status=withdrawn or all; replacedBy is the id of the announcement that superseded a withdrawn one.","operationId":"announcements","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"status","in":"query","required":false,"schema":{"description":"live (default), withdrawn or all","type":"string","enum":["live","withdrawn","all"],"default":"live"},"description":"live (default), withdrawn or all"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":50},"description":"Rows per page (at most 500)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of date"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{},"date":{},"code":{},"number":{},"title":{},"type":{},"subject":{},"formId":{},"isStock":{},"isBond":{},"publishedAt":{},"firstSeenAt":{},"withdrawnAt":{},"replacedBy":{},"attachments":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/calendar":{"get":{"summary":"Corporate calendar","description":"IDX corporate calendar: shareholder meetings (RUPS, bondholder RUPO), dividend dates, public expose, rights issues (HMETD), buyback reports, bond maturities and listings. date is the day the entry sits on in IDX's calendar; what that day is depends on the entry and is only stated in description (Indonesian): \"tanggal cum/ex/DPS/Pembayaran Dividen …\" → that dividend date (cum, ex, recording, payment); \"Pemberitahuan/PANGGILAN RUPS …\", \"RENCANA/PANGGILAN Rupo …\" → the meeting day; \"Rencana public expose …\" → the day the plan was filed (publicExposeAt is when the public expose takes place); \"Laporan Pembelian Kembali Saham (Buyback)\", \"Materi public expose …\", \"Hasil …\" → the day of the report or result; \"Jatuh Tempo …\" → the maturity day. meetingAt is the meeting's date and time when given. Entries carry no amounts: for dividend amounts use get_corporate_actions or get_announcements. firstSeenAt is when this service first saw the entry, not when it was filed (null for entries stored when their month was first collected). Entries IDX removed (e.g. replaced after a correction) are hidden unless status=withdrawn or all.","operationId":"calendar","parameters":[{"name":"code","in":"query","required":false,"schema":{"description":"Stock code, e.g. BBCA","type":"string","pattern":"^[A-Z0-9][A-Z0-9.-]{0,23}$"},"description":"Stock code, e.g. BBCA"},{"name":"type","in":"query","required":false,"schema":{"description":"Event type, exactly as returned","type":"string","minLength":1,"maxLength":100},"description":"Event type, exactly as returned"},{"name":"status","in":"query","required":false,"schema":{"description":"live (default), withdrawn or all","type":"string","enum":["live","withdrawn","all"],"default":"live"},"description":"live (default), withdrawn or all"},{"name":"from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"First date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Last date, inclusive: YYYY-MM-DD (Asia/Jakarta)"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"description":"Rows per page (at most 1000)"},{"name":"order","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Direction of date"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"meta.next of the previous page"}],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{},"code":{},"type":{},"description":{},"location":{},"step":{},"year":{},"meetingAt":{},"publicExposeAt":{},"firstSeenAt":{},"withdrawnAt":{}}}},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/v1/coverage":{"get":{"summary":"How fresh each dataset is","operationId":"coverage","parameters":[],"responses":{"200":{"description":"One page","content":{"application/json":{"schema":{"type":"object","properties":{"data":{},"meta":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":["string","null"]}}}},"required":["data","meta"]}}}},"400":{"description":"Invalid parameters","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Missing or unknown API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"403":{"description":"The account is blocked","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit or daily quota reached","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}}}}