Tags: longbridge/openapi
Tags
feat(fundamental): add macroeconomic_indicators_v2 and macroeconomic_… …v2 methods (v2 endpoints) (#543) ## Summary Switches the macroeconomic indicator APIs to v2 endpoints while keeping existing method signatures and output types unchanged. All language SDKs updated. ## Changes ### Existing methods (unchanged signatures, route to v2 internally) - `macroeconomic_indicators(country, offset, limit)` → delegates to `macroeconomic_indicators_v2` - `macroeconomic(indicator_code, start_date, end_date, offset, limit)` → delegates to `macroeconomic_v2` ### New v2 methods - `macroeconomic_indicators_v2(country, keyword, offset, limit)` → `GET /v2/quote/macrodata` - `keyword`: optional fuzzy filter on indicator name - `country` None defaults to market=`ALL` - `offset`/`limit` passed through for pagination; response `count` uses API `total` - `macroeconomic_v2(indicator_code, start_date, end_date, offset, limit, sort)` → `GET /v2/quote/macrodata/{indicator_id}` - `sort`: `"asc"` or `"desc"` - Response maps single `indicator` object to existing `MacroeconomicResponse` ### v2 response → existing type mapping | v2 field | SDK field | |----------|-----------| | `indicator_id` (int32) | `indicator_code` (string) | | `indicator_name` | `name.english` | | `observation_date` | `Macroeconomic.period` | | `published_time` | `Macroeconomic.release_at` | | `actual_data` | `Macroeconomic.actual_value` | | `total` | `count` (for pagination) | ## Languages updated Rust, Python, Node.js, Java (all bindings add `_v2` variants with extra params) ## Related - Go SDK: longbridge/openapi-go#feat/macroeconomic-v2 --------- Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
feat(fundamental): add macroeconomic_indicators_v2 and macroeconomic_… …v2 methods (v2 endpoints) (#543) ## Summary Switches the macroeconomic indicator APIs to v2 endpoints while keeping existing method signatures and output types unchanged. All language SDKs updated. ## Changes ### Existing methods (unchanged signatures, route to v2 internally) - `macroeconomic_indicators(country, offset, limit)` → delegates to `macroeconomic_indicators_v2` - `macroeconomic(indicator_code, start_date, end_date, offset, limit)` → delegates to `macroeconomic_v2` ### New v2 methods - `macroeconomic_indicators_v2(country, keyword, offset, limit)` → `GET /v2/quote/macrodata` - `keyword`: optional fuzzy filter on indicator name - `country` None defaults to market=`ALL` - `offset`/`limit` passed through for pagination; response `count` uses API `total` - `macroeconomic_v2(indicator_code, start_date, end_date, offset, limit, sort)` → `GET /v2/quote/macrodata/{indicator_id}` - `sort`: `"asc"` or `"desc"` - Response maps single `indicator` object to existing `MacroeconomicResponse` ### v2 response → existing type mapping | v2 field | SDK field | |----------|-----------| | `indicator_id` (int32) | `indicator_code` (string) | | `indicator_name` | `name.english` | | `observation_date` | `Macroeconomic.period` | | `published_time` | `Macroeconomic.release_at` | | `actual_data` | `Macroeconomic.actual_value` | | `total` | `count` (for pagination) | ## Languages updated Rust, Python, Node.js, Java (all bindings add `_v2` variants with extra params) ## Related - Go SDK: longbridge/openapi-go#feat/macroeconomic-v2 --------- Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
feat(fundamental): add macroeconomic_indicators and macroeconomic met… …hods (#540) ## Summary Two new methods on `FundamentalContext` across all language SDKs (Rust, Python, Node.js, Java): - `macroeconomic_indicators(country, offset, limit)` — `GET /v1/quote/macrodata` — list macroeconomic indicators; filter by country; response includes `count` (total matching) - `macroeconomic(indicator_code, start_date, end_date, offset, limit)` — `GET /v1/quote/macrodata/{indicator_code}` — historical data for a specific indicator; `start_date` / `end_date` accept `"YYYY-MM-DD"` strings; response includes `count` (total data points) ## New Types | Type | Description | |------|-------------| | `MultiLanguageText` | Localized text (English / Simplified Chinese / Traditional Chinese) | | `MacroeconomicCountry` | Country filter enum: `HongKong` / `China` / `UnitedStates` / `EuroZone` / `Japan` / `Singapore` (SDK accepts short codes, converts to full names for API) | | `MacroeconomicImportance` | Importance level: `Low=1` / `Medium=2` / `High=3` | | `MacroeconomicIndicator` | Indicator metadata (code, country, category, periodicity, importance, etc.) | | `MacroeconomicIndicatorListResponse` | `data: Vec<MacroeconomicIndicator>` + `count: i32` | | `Macroeconomic` | One historical data point (period, actual/previous/forecast/revised values, release timestamps, unit) | | `MacroeconomicResponse` | `info: MacroeconomicIndicator` + `data: Vec<Macroeconomic>` + `count: i32` | ## Fixes - `MacroeconomicIndicator.describe` / `name` / `MacroeconomicResponse.info`: handle `null` API responses without deserializing error ## Related - Go SDK: longbridge/openapi-go#99 --------- Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
chore: release 4.3.0 (#539) ## Summary Bump version to `4.3.0` and promote `[Unreleased]` CHANGELOG to `[4.3.0]`. ## Changes in 4.3.0 ### Added - **All languages:** `FundamentalContext` gains `etf_asset_allocation(symbol)` — queries `GET /v1/quote/etf-asset-allocation` for ETF asset allocation grouped by element type (`Holdings` / `Regional` / `AssetClass` / `Industry`) - **Rust:** new public `longbridge::counter` module — `symbol_to_counter_id`, `index_symbol_to_counter_id`, `counter_id_to_symbol`, and `is_etf` - **Rust:** `QuoteContext` gains `symbol_to_counter_ids(symbols)` and `resolve_counter_ids(symbols)` ### Changed - `symbol_to_counter_id` now also consults the embedded index and warrant directories ### Fixed - Refreshed the embedded US ETF list (4574 → 7250 entries) and added index (648) + warrant (17693) directories
chore: release 4.3.0 (#539) ## Summary Bump version to `4.3.0` and promote `[Unreleased]` CHANGELOG to `[4.3.0]`. ## Changes in 4.3.0 ### Added - **All languages:** `FundamentalContext` gains `etf_asset_allocation(symbol)` — queries `GET /v1/quote/etf-asset-allocation` for ETF asset allocation grouped by element type (`Holdings` / `Regional` / `AssetClass` / `Industry`) - **Rust:** new public `longbridge::counter` module — `symbol_to_counter_id`, `index_symbol_to_counter_id`, `counter_id_to_symbol`, and `is_etf` - **Rust:** `QuoteContext` gains `symbol_to_counter_ids(symbols)` and `resolve_counter_ids(symbols)` ### Changed - `symbol_to_counter_id` now also consults the embedded index and warrant directories ### Fixed - Refreshed the embedded US ETF list (4574 → 7250 entries) and added index (648) + warrant (17693) directories
chore: release 4.2.2 (#533) ## Summary Bump version to `4.2.2` and add CHANGELOG entry. ## Changes in 4.2.2 ### Fixed - **All languages:** `CalendarEventsResponse` now exposes `next_date` cursor — callers can pass it as `start` (with the same `end`) to fetch the next page of `/v1/quote/finance_calendar` results - **All languages:** `CalendarEventInfo.symbol` now returns standard symbol format (e.g. `CRM.US`) instead of raw `counter_id` format (e.g. `ST/US/CRM`) ## Related - PR #532
openapi v4.2.1 Changed - ScreenerContext: screener endpoints migrated to /v1/quote/ai/screener/*; screener_recommend_strategies / screener_user_strategies now accept a market parameter; screener_search accepts typed ScreenerCondition objects (Mode B) instead of raw strings Fixed - OperatingFinancial: renamed counter_id → symbol (converts ST/US/AAPL → AAPL.US)
PreviousNext