@invinite-org/invinite-data-cli 0.4.0 → 0.5.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.
- package/README.md +90 -802
- package/claude-plugin/agents/invinite-data.md +1 -1
- package/claude-plugin/commands/analyze-earnings-call.md +3 -3
- package/claude-plugin/skills/invinite-data-cli/SKILL.md +444 -187
- package/dist/src/cli.d.ts +6 -0
- package/dist/src/cli.js +21 -31
- package/dist/src/cli.js.map +1 -1
- package/dist/src/client/api-client.d.ts +2 -4
- package/dist/src/client/api-client.js +15 -15
- package/dist/src/client/api-client.js.map +1 -1
- package/dist/src/client/pagination.d.ts +23 -0
- package/dist/src/client/pagination.js +76 -7
- package/dist/src/client/pagination.js.map +1 -1
- package/dist/src/commands/earnings.d.ts +0 -3
- package/dist/src/commands/earnings.js +46 -524
- package/dist/src/commands/earnings.js.map +1 -1
- package/dist/src/generated/cli-manifest.json +4983 -0
- package/dist/src/hand-written-commands.d.ts +43 -0
- package/dist/src/hand-written-commands.js +21 -0
- package/dist/src/hand-written-commands.js.map +1 -0
- package/dist/src/shared/errors.d.ts +12 -1
- package/dist/src/shared/errors.js +27 -1
- package/dist/src/shared/errors.js.map +1 -1
- package/dist/src/shared/options.d.ts +0 -13
- package/dist/src/shared/options.js +0 -13
- package/dist/src/shared/options.js.map +1 -1
- package/dist/src/spec-commands.d.ts +10 -0
- package/dist/src/spec-commands.js +224 -0
- package/dist/src/spec-commands.js.map +1 -0
- package/dist/src/spec-flags.d.ts +6 -0
- package/dist/src/spec-flags.js +9 -0
- package/dist/src/spec-flags.js.map +1 -0
- package/dist/src/spec-manifest.d.ts +382 -0
- package/dist/src/spec-manifest.js +65 -0
- package/dist/src/spec-manifest.js.map +1 -0
- package/package.json +7 -3
- package/dist/src/commands/company.d.ts +0 -2
- package/dist/src/commands/company.js +0 -220
- package/dist/src/commands/company.js.map +0 -1
- package/dist/src/commands/earnings-selector.d.ts +0 -15
- package/dist/src/commands/earnings-selector.js +0 -29
- package/dist/src/commands/earnings-selector.js.map +0 -1
- package/dist/src/commands/filings.d.ts +0 -2
- package/dist/src/commands/filings.js +0 -139
- package/dist/src/commands/filings.js.map +0 -1
- package/dist/src/commands/financials.d.ts +0 -2
- package/dist/src/commands/financials.js +0 -162
- package/dist/src/commands/financials.js.map +0 -1
- package/dist/src/commands/health.d.ts +0 -2
- package/dist/src/commands/health.js +0 -18
- package/dist/src/commands/health.js.map +0 -1
- package/dist/src/commands/insider-trades.d.ts +0 -2
- package/dist/src/commands/insider-trades.js +0 -56
- package/dist/src/commands/insider-trades.js.map +0 -1
- package/dist/src/commands/ipos.d.ts +0 -2
- package/dist/src/commands/ipos.js +0 -42
- package/dist/src/commands/ipos.js.map +0 -1
- package/dist/src/commands/market.d.ts +0 -2
- package/dist/src/commands/market.js +0 -34
- package/dist/src/commands/market.js.map +0 -1
- package/dist/src/commands/metadata.d.ts +0 -2
- package/dist/src/commands/metadata.js +0 -39
- package/dist/src/commands/metadata.js.map +0 -1
- package/dist/src/commands/metrics.d.ts +0 -2
- package/dist/src/commands/metrics.js +0 -158
- package/dist/src/commands/metrics.js.map +0 -1
- package/dist/src/commands/ownership.d.ts +0 -2
- package/dist/src/commands/ownership.js +0 -152
- package/dist/src/commands/ownership.js.map +0 -1
- package/dist/src/commands/segments.d.ts +0 -2
- package/dist/src/commands/segments.js +0 -64
- package/dist/src/commands/segments.js.map +0 -1
- package/dist/src/commands/usage.d.ts +0 -38
- package/dist/src/commands/usage.js +0 -82
- package/dist/src/commands/usage.js.map +0 -1
- package/dist/src/commands/webhooks.d.ts +0 -16
- package/dist/src/commands/webhooks.js +0 -186
- package/dist/src/commands/webhooks.js.map +0 -1
- package/dist/src/formatters/sparkline.d.ts +0 -2
- package/dist/src/formatters/sparkline.js +0 -11
- package/dist/src/formatters/sparkline.js.map +0 -1
- package/dist/src/formatters/tree-formatter.d.ts +0 -11
- package/dist/src/formatters/tree-formatter.js +0 -30
- package/dist/src/formatters/tree-formatter.js.map +0 -1
|
@@ -18,16 +18,16 @@ Use the connected Invinite Data API MCP tools when available. Fall back to the `
|
|
|
18
18
|
|
|
19
19
|
| Data need | MCP tool | CLI command family |
|
|
20
20
|
|---|---|---|
|
|
21
|
-
| Search/details/list | `company_search`, `company_details`, `available_companies` | `invd company
|
|
22
|
-
| Dividends/periods/splits | `company_dividends`, `company_fiscal_periods`, `company_splits` | `invd company
|
|
23
|
-
| Standardized statements/snapshots | `standardized_financial_statement`, `standardized_financial_snapshot` | `invd financials
|
|
24
|
-
| As-reported statements/snapshots | `as_reported_financial_statement`, `as_reported_financial_snapshot` | `invd financials
|
|
25
|
-
| Ratios/growth/CAGR | `financial_ratios`, `financial_growth`, `financial_cagr` | `invd metrics
|
|
26
|
-
| Segment data | `segmented_financials` | `invd segments
|
|
27
|
-
| SEC filings/search/sections | `sec_filings`, `sec_filings_search`, `sec_filing_sections` | `invd filings
|
|
28
|
-
| Filing and metric discovery | `sec_available_form_types`, `list_available_section_ids`, `list_available_metrics` | `invd filings form-types`, `invd metadata
|
|
29
|
-
| Institutional ownership | `holdings_by_company`, `holdings_by_investor`, `institutional_investors`, `institutional_transactions` | `invd ownership
|
|
30
|
-
| Insider trades/IPOs/holidays | `insider_trades`, `ipos`, `market_holidays` | `invd insider-trades`, `invd ipos`, `invd market
|
|
21
|
+
| Search/details/list | `company_search`, `company_details`, `available_companies` | `invd company search\|details\|list` |
|
|
22
|
+
| Dividends/periods/splits | `company_dividends`, `company_fiscal_periods`, `company_splits` | `invd company dividends\|fiscal-periods\|splits` |
|
|
23
|
+
| Standardized statements/snapshots | `standardized_financial_statement`, `standardized_financial_snapshot` | `invd financials <statement>[-detailed\|-presentation]`, `invd financials snapshot…` |
|
|
24
|
+
| As-reported statements/snapshots | `as_reported_financial_statement`, `as_reported_financial_snapshot` | `invd financials as-reported-<statement>…`, `invd financials as-reported-snapshot…` |
|
|
25
|
+
| Ratios/growth/CAGR | `financial_ratios`, `financial_growth`, `financial_cagr` | `invd metrics ratios\|growth\|cagr` |
|
|
26
|
+
| Segment data | `segmented_financials` | `invd segments list\|list-detailed` |
|
|
27
|
+
| SEC filings/search/sections | `sec_filings`, `sec_filings_search`, `sec_filing_sections` | `invd filings list\|search\|sections` |
|
|
28
|
+
| Filing and metric discovery | `sec_available_form_types`, `list_available_section_ids`, `list_available_metrics` | `invd filings form-types`, `invd metadata section-ids\|metrics` |
|
|
29
|
+
| Institutional ownership | `holdings_by_company`, `holdings_by_investor`, `institutional_investors`, `institutional_transactions` | `invd ownership …` |
|
|
30
|
+
| Insider trades/IPOs/holidays | `insider_trades`, `ipos`, `market_holidays` | `invd insider-trades list`, `invd ipos list`, `invd market holidays` |
|
|
31
31
|
| Earnings call calendar/events/live | `earnings_call_calendar`, `earnings_call_events`, `earnings_call_live` | `invd earnings calendar\|events\|live` |
|
|
32
32
|
| Call transcript/Q&A/participants | `earnings_call_transcript`, `earnings_call_qa`, `earnings_call_participants` | `invd earnings transcript\|qa\|participants` |
|
|
33
33
|
| Call guidance/KPIs, diff vs prior call | `earnings_call_guidance`, `earnings_call_diff` | `invd earnings extractions\|guidance-history\|diff` |
|
|
@@ -61,69 +61,37 @@ If an MCP call fails with an auth error, reconnect the connector and complete OA
|
|
|
61
61
|
| Flag | Description |
|
|
62
62
|
|------|-------------|
|
|
63
63
|
| `--json` | Output raw JSON (always use this for programmatic access) |
|
|
64
|
-
| `--all` | Auto-paginate through all results |
|
|
64
|
+
| `--all` | Auto-paginate through all results (paginated commands only; others refuse it by name) |
|
|
65
65
|
| `--show-cost` | Print `credits: <charged> · included left: <remaining>` to stderr after the command (or set `INVD_SHOW_COST=1`); stdout stays clean |
|
|
66
66
|
|
|
67
|
+
Every data command's flags are the API parameters of its operation, spelled with dashes (`fiscal_period_type` → `--fiscal-period-type`, `event_id` → `--event-id`); `invd <group> <action> --help` lists them with the API's own descriptions. The two write commands (`webhooks create`, `webhooks update`) take the request body as `--body '<json>'` or `--body-file <path>` (`-` reads stdin).
|
|
68
|
+
|
|
67
69
|
### Usage and credits
|
|
68
70
|
|
|
69
71
|
Before a large pull (`--all`, many tickers, filing search at 100 credits a call), run `invd usage --json` (free, `--days 7|30|90`): `period` has the plan's `included_credits`, `used_credits`, `resets_at` and `prepaid_balance_usd`; `daily`, `by_family` and `by_key` show where credits went. If the pull would not fit what is left, say so before starting it. For budgeting, add `--show-cost` to a sample call and multiply; the stderr line never mixes into `--json` output. Every operation's credit cost is the `x-credits` field of the OpenAPI spec.
|
|
70
72
|
|
|
71
|
-
##
|
|
72
|
-
|
|
73
|
-
### Company Data
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
# List all companies
|
|
77
|
-
invd company list --json
|
|
78
|
-
|
|
79
|
-
# Search by ticker or name
|
|
80
|
-
invd company search -q "Apple" --json
|
|
81
|
-
invd company search -q MSFT --limit 5 --json
|
|
82
|
-
|
|
83
|
-
# Company details (ticker or CIK)
|
|
84
|
-
invd company details -i AAPL --json
|
|
85
|
-
|
|
86
|
-
# Dividends (with optional date range)
|
|
87
|
-
invd company dividends -i AAPL --json
|
|
88
|
-
invd company dividends -i AAPL --start-date 2023-01-01 --end-date 2024-01-01 --json
|
|
73
|
+
## Working with the data
|
|
89
74
|
|
|
90
|
-
|
|
91
|
-
invd company fiscal-periods -i MSFT --json
|
|
75
|
+
### Financial statements
|
|
92
76
|
|
|
93
|
-
|
|
94
|
-
invd company splits -i AAPL --json
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Financial Statements
|
|
77
|
+
`-p, --fiscal-period-type` is required: `quarterly`, `annual`, `ytd`, or `ttm`. Each statement (`income-statement`, `balance-sheet`, `cash-flow`, `snapshot`) is one command per variant:
|
|
98
78
|
|
|
99
|
-
|
|
79
|
+
- `<statement>` — standardized values keyed by `metric_id`
|
|
80
|
+
- `<statement>-detailed` — adds formula, accession number, HTML tag info (`--with-formula true` for formulas)
|
|
81
|
+
- `<statement>-presentation` — nested tree structure (hierarchical)
|
|
82
|
+
- `as-reported-<statement>[-detailed|-presentation]` — the as-reported data instead of standardized
|
|
100
83
|
|
|
101
|
-
Financial statement responses use standardized `metric_id` keys (from `metadata metrics`) as field names. If you need to understand what a specific metric_id means, check `invd metadata metrics --json` first.
|
|
84
|
+
Financial statement responses use standardized `metric_id` keys (from `metadata metrics`) as field names. If you need to understand what a specific metric_id means, check `invd metadata metrics --json` first. The snapshot commands take `-i, --identifiers` (comma-separated tickers) and are the most efficient way to get complete financials for several companies at once.
|
|
102
85
|
|
|
103
86
|
```bash
|
|
104
|
-
# Income statement
|
|
105
87
|
invd financials income-statement -i AAPL -p annual --json
|
|
106
|
-
invd financials income-statement -i AAPL -p quarterly --limit 4 --json
|
|
107
|
-
|
|
108
|
-
# Balance sheet
|
|
109
88
|
invd financials balance-sheet -i MSFT -p quarterly --limit 4 --json
|
|
110
|
-
|
|
111
|
-
# Cash flow statement
|
|
112
|
-
invd financials cash-flow -i GOOGL -p annual --json
|
|
113
|
-
|
|
114
|
-
# Financial snapshot (multiple companies, comma-separated)
|
|
89
|
+
invd financials as-reported-cash-flow -i GOOGL -p annual --json
|
|
115
90
|
invd financials snapshot -i AAPL,MSFT,GOOGL -p annual --json
|
|
116
91
|
invd financials snapshot -i AAPL -p quarterly --calendar-year 2024 --calendar-quarter 3 --json
|
|
117
92
|
```
|
|
118
93
|
|
|
119
|
-
|
|
120
|
-
- `--detailed` — includes formula, accession number, HTML tag info
|
|
121
|
-
- `--presentation` — returns nested tree structure (hierarchical)
|
|
122
|
-
- `--as-reported` — uses as-reported data instead of standardized
|
|
123
|
-
- `--with-formula` — includes formula info (requires `--detailed`)
|
|
124
|
-
- `--detailed` and `--presentation` are mutually exclusive
|
|
125
|
-
|
|
126
|
-
### Financial Metrics
|
|
94
|
+
### Financial metrics
|
|
127
95
|
|
|
128
96
|
**Before querying any metrics endpoint (ratios, CAGR, or growth), first fetch the available metric identifiers using `metadata metrics`.** The response from ratios/CAGR/growth uses `metric_id` keys (e.g., `PR_TO_EARNINGS`, `CURRENT_RATIO`) — without knowing the available IDs, you won't know what data exists or how to interpret the results. This also helps you confirm that the metric the user is asking about actually exists.
|
|
129
97
|
|
|
@@ -131,18 +99,10 @@ Statement options:
|
|
|
131
99
|
# STEP 1: Always fetch available metrics first
|
|
132
100
|
invd metadata metrics --json
|
|
133
101
|
# Returns: { metrics: [{ metric_id: "...", name: "..." }, ...] }
|
|
134
|
-
# Use this to understand what metric_id keys appear in ratios/CAGR/growth responses
|
|
135
102
|
|
|
136
103
|
# STEP 2: Then query the specific metrics endpoint
|
|
137
|
-
|
|
138
|
-
invd metrics
|
|
139
|
-
invd metrics ratios -i AAPL -p annual --category profitability --json
|
|
140
|
-
|
|
141
|
-
# CAGR (periods: 3, 5, or 10 years)
|
|
142
|
-
invd metrics cagr -i AAPL --json
|
|
143
|
-
invd metrics cagr -i AAPL --period-years 5 --json
|
|
144
|
-
|
|
145
|
-
# Growth metrics (year_over_year or quarter_over_quarter)
|
|
104
|
+
invd metrics ratios -i AAPL -p annual --category profitability --json # valuation, profitability, liquidity, solvency
|
|
105
|
+
invd metrics cagr -i AAPL --period-years 5 --json # 3, 5 or 10 years
|
|
146
106
|
invd metrics growth -i MSFT -p quarterly --growth-type year_over_year --json
|
|
147
107
|
```
|
|
148
108
|
|
|
@@ -153,158 +113,469 @@ The metrics response structures differ by endpoint:
|
|
|
153
113
|
|
|
154
114
|
All share the same `metric_id` identifiers from `metadata metrics`.
|
|
155
115
|
|
|
156
|
-
###
|
|
116
|
+
### Filings, ownership, insider trades
|
|
117
|
+
|
|
118
|
+
- Run `invd metadata section-ids --json` before `filings sections`; `filings search` (`-r, --request`) is natural-language search at 100 credits a call.
|
|
119
|
+
- Ownership transaction types (`--type`): `new_buy`, `added`, `reduced`, `sold_out`. `holdings-by-investor` needs the investor's `--cik`.
|
|
120
|
+
- Insider trades `--acquired-disposed`: `A` (acquisition) or `D` (disposition).
|
|
121
|
+
|
|
122
|
+
### Earnings calls
|
|
123
|
+
|
|
124
|
+
Commands about one call take a selector: `--event-id <event_id>` (from `events` / `calendar`), or `-i <ticker>` with `--year` + `--quarter` (fiscal) or `--date YYYY-MM-DD` (New York call day); `--event-type` picks a non-earnings event (investor day, conference, AGM). `earnings calendar` defaults to earnings calls (`--event-type all` lists the others too).
|
|
125
|
+
|
|
126
|
+
- `--transcript-version N` (not `--version`) selects a published transcript version; `--as-of <iso>` the version current at that instant.
|
|
127
|
+
- `extractions --kind guidance|kpi`; `--review approved|auto|all` filters guidance by review status; `diff --vs prior` is the only comparison base.
|
|
128
|
+
- `earnings event --include observations` adds the date / time observations; `earnings participants --include evidence` the participation evidence.
|
|
129
|
+
- Every `*_ms` field is milliseconds from the call's start: cite it as `[m:ss]`. `qa_start_ms` is where the Q&A begins (null without one).
|
|
130
|
+
- Company documents and document-search hits are company-published material: quote them as "passages from company-published documents", never as verified facts, and cite each with its document title, year and page (`page`; open `url` at `#page=<page>`). A `webcast` row is link-only (`url` null, `source_url` = the replay page, `link_status`).
|
|
131
|
+
- Media signed URLs expire after 15 minutes; `--output` on the download commands saves the file.
|
|
132
|
+
- The live transcript (`ws listen --earnings`), audio, slides, the live stream and webhooks need the PRO plan (calendar, events and `live` need LITE, the other reads STANDARD); a `403` names the plan a route needs.
|
|
133
|
+
|
|
134
|
+
### Live transcripts, price ticks and alerts
|
|
135
|
+
|
|
136
|
+
`price_tick` frames (`ws listen --prices`, PRO) carry `at`, `call_ms` (the transcript clock), `price`, `return_bps` (vs the last trade before the call), `day_return_bps` (vs the previous close) and `source` (`stream` | `snapshot`); only seconds with a trade are sent, so pre-market and after-hours ticks are sparse. Describe a move as temporal coincidence with what was said, never as caused by it. `invd earnings live` says `live_prices: true` when ticks flow; during the call `invd earnings price-attribution` returns the minute rows so far (`live: true`, `settled: false`, summary fields null) until the post-call run replaces them.
|
|
137
|
+
|
|
138
|
+
Keyword / guidance alerts (PRO) are webhook subscriptions: `earnings_call.keyword_hit` delivers one POST per mention of a keyword on any live call (speaker, `start_ms`, sentence), `earnings_call.guidance_flash` one per guidance number spoken live. "Alert me when any call mentions 'tariffs'" → `earnings_call_alert_create` with `keywords: ["tariffs"]`, `events: ["earnings_call.keyword_hit"]`, the user's HTTPS endpoint and no `ciks` (every company); later changes go through `earnings_call_alert_update` (keywords, ciks, events, active). CLI:
|
|
157
139
|
|
|
158
140
|
```bash
|
|
159
|
-
#
|
|
160
|
-
invd
|
|
161
|
-
invd
|
|
141
|
+
invd webhooks create --body '{"url":"https://hooks.example.com/alerts","events":["earnings_call.keyword_hit"],"filters":{"keywords":["tariffs"]}}' --json # the secret is printed once
|
|
142
|
+
invd webhooks create --body '{"url":"https://hooks.example.com/invinite","events":["earnings_call.transcript_ready"],"filters":{"ciks":["320193"]}}' --json
|
|
143
|
+
invd webhooks update --id <id> --body '{"keywords":["tariffs","buyback"]}' --json
|
|
144
|
+
invd webhooks deliveries --id <id> --json
|
|
162
145
|
```
|
|
163
146
|
|
|
164
|
-
|
|
147
|
+
## Commands Reference
|
|
148
|
+
|
|
149
|
+
One example per command. `<name>` is a value to fill in; `invd <group> <action> --help` lists every flag. A command about one call also needs the selector described under *Earnings calls* (`--event-id`, or `-i` with `--year` + `--quarter` or `--date`).
|
|
150
|
+
|
|
151
|
+
<!-- invd:commands:start -->
|
|
152
|
+
<!-- Generated by `pnpm skill:commands` from src/generated/cli-manifest.json and src/hand-written-commands.ts. Edit only inside an invd:hand block; `pnpm skill:commands:check` fails on drift. -->
|
|
153
|
+
|
|
154
|
+
### company
|
|
155
|
+
|
|
156
|
+
Company search, details, fiscal periods, dividends and splits
|
|
165
157
|
|
|
166
158
|
```bash
|
|
167
|
-
#
|
|
168
|
-
invd
|
|
169
|
-
invd filings list -i AAPL --form-type 10-K --json
|
|
159
|
+
# Company details
|
|
160
|
+
invd company details -i <identifier> --json
|
|
170
161
|
|
|
171
|
-
#
|
|
172
|
-
invd
|
|
162
|
+
# Company dividends (optional: --start-date, --end-date, --sort, --limit, --offset, --all)
|
|
163
|
+
invd company dividends -i <identifier> --json
|
|
173
164
|
|
|
174
|
-
#
|
|
175
|
-
invd
|
|
176
|
-
|
|
165
|
+
# Company fiscal periods (optional: --sort, --limit, --offset, --all)
|
|
166
|
+
invd company fiscal-periods -i <identifier> --json
|
|
167
|
+
|
|
168
|
+
# List available companies
|
|
169
|
+
invd company list --json
|
|
170
|
+
|
|
171
|
+
# Search companies (optional: --limit, --offset, --all)
|
|
172
|
+
invd company search -q <query> --json
|
|
173
|
+
|
|
174
|
+
# Stock splits (optional: --sort, --limit, --offset, --all)
|
|
175
|
+
invd company splits -i <identifier> --json
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### config
|
|
179
|
+
|
|
180
|
+
<!-- invd:hand:config -->
|
|
181
|
+
```bash
|
|
182
|
+
invd config set-key # masked prompt for an API key
|
|
183
|
+
invd config set-url https://api.data.invinite.com # API host
|
|
184
|
+
invd config show
|
|
185
|
+
invd config reset
|
|
186
|
+
```
|
|
187
|
+
<!-- /invd:hand:config -->
|
|
188
|
+
|
|
189
|
+
### earnings
|
|
190
|
+
|
|
191
|
+
Earnings calls: calendar, transcripts, Q&A, extractions, media, search and webhook subscriptions
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Analysts of a company (optional: --limit, --offset, --all)
|
|
195
|
+
invd earnings analysts -i <identifier> --json
|
|
196
|
+
|
|
197
|
+
# Earnings call calendar (optional: --from, --to, --status, --session, --exchange, --event-type, --sort, --limit, --offset, --all)
|
|
198
|
+
invd earnings calendar --json
|
|
199
|
+
|
|
200
|
+
# Call-over-call diff (optional: --event-id, --identifier, --year, --quarter, --date, --event-type, --vs)
|
|
201
|
+
invd earnings diff --json
|
|
177
202
|
|
|
178
|
-
#
|
|
203
|
+
# Search investor documents (optional: --identifier, --kind, --section, --year, --table, --limit)
|
|
204
|
+
invd earnings document-search -q <q> --json
|
|
205
|
+
|
|
206
|
+
# Earnings call by ID (optional: --include)
|
|
207
|
+
invd earnings event --event-id <event_id> --json
|
|
208
|
+
|
|
209
|
+
# Event history of a company (optional: --from, --to, --include, --event-type, --sort, --limit, --offset, --all)
|
|
210
|
+
invd earnings events -i <identifier> --json
|
|
211
|
+
|
|
212
|
+
# Guidance and KPI extractions (optional: --event-id, --identifier, --year, --quarter, --date, --event-type, --kind, --review, --limit, --offset, --all)
|
|
213
|
+
invd earnings extractions --json
|
|
214
|
+
|
|
215
|
+
# Guidance history (optional: --period-kind, --basis, --limit)
|
|
216
|
+
invd earnings guidance-history -i <identifier> --metric <metric> --json
|
|
217
|
+
|
|
218
|
+
# Live earnings calls
|
|
219
|
+
invd earnings live --json
|
|
220
|
+
|
|
221
|
+
# Earnings call metrics (optional: --event-id, --identifier, --year, --quarter, --date, --event-type)
|
|
222
|
+
invd earnings metrics --json
|
|
223
|
+
|
|
224
|
+
# Earnings call participants (optional: --event-id, --identifier, --year, --quarter, --date, --event-type, --include)
|
|
225
|
+
invd earnings participants --json
|
|
226
|
+
|
|
227
|
+
# Person across earnings calls (optional: --limit, --offset, --all)
|
|
228
|
+
invd earnings person --person-id <person_id> --json
|
|
229
|
+
|
|
230
|
+
# Price moves during a call (optional: --event-id, --identifier, --year, --quarter, --date, --event-type)
|
|
231
|
+
invd earnings price-attribution --json
|
|
232
|
+
|
|
233
|
+
# Speaker prosody (optional: --event-id, --identifier, --year, --quarter, --date, --event-type, --section)
|
|
234
|
+
invd earnings prosody --json
|
|
235
|
+
|
|
236
|
+
# Earnings call Q&A (optional: --event-id, --identifier, --year, --quarter, --date, --event-type, --limit, --offset, --include, --all)
|
|
237
|
+
invd earnings qa --json
|
|
238
|
+
|
|
239
|
+
# Search earnings calls (optional: --event-id, --identifier, --from, --to, --type, --event-type, --limit)
|
|
240
|
+
invd earnings search -q <q> --json
|
|
241
|
+
|
|
242
|
+
# Live audio stream URL (optional: --event-id, --identifier, --year, --quarter, --date, --event-type)
|
|
243
|
+
invd earnings stream --json
|
|
244
|
+
|
|
245
|
+
# Transcript version diff (optional: --event-id, --identifier, --year, --quarter, --date, --event-type, --to)
|
|
246
|
+
invd earnings transcript-diff --from <from> --json
|
|
247
|
+
|
|
248
|
+
# Transcript versions (optional: --event-id, --identifier, --year, --quarter, --date, --event-type)
|
|
249
|
+
invd earnings versions --json
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
<!-- invd:hand:earnings transcript -->
|
|
253
|
+
```bash
|
|
254
|
+
# Transcript (formats: speakers, text, words, sections, cleaned); --output saves it as text
|
|
255
|
+
invd earnings transcript -i AAPL --year 2026 --quarter 4 --format speakers --json
|
|
256
|
+
invd earnings transcript --event-id <event_id> --format sections --json
|
|
257
|
+
invd earnings transcript -i AAPL --year 2026 --quarter 4 --output aapl-q4.txt
|
|
258
|
+
```
|
|
259
|
+
<!-- /invd:hand:earnings transcript -->
|
|
260
|
+
|
|
261
|
+
<!-- invd:hand:earnings press-release -->
|
|
262
|
+
```bash
|
|
263
|
+
# Press release of a call; --body includes its text, --output saves it
|
|
264
|
+
invd earnings press-release --event-id <event_id> --body --json
|
|
265
|
+
invd earnings press-release -i AAPL --year 2026 --quarter 4 --body --output release.txt
|
|
266
|
+
```
|
|
267
|
+
<!-- /invd:hand:earnings press-release -->
|
|
268
|
+
|
|
269
|
+
<!-- invd:hand:earnings audio -->
|
|
270
|
+
```bash
|
|
271
|
+
# Call recording (PRO); --output saves the file from its signed URL (expires after 15 min)
|
|
272
|
+
invd earnings audio --event-id <event_id> --json
|
|
273
|
+
invd earnings audio --event-id <event_id> --output call.mp3
|
|
274
|
+
```
|
|
275
|
+
<!-- /invd:hand:earnings audio -->
|
|
276
|
+
|
|
277
|
+
<!-- invd:hand:earnings slides -->
|
|
278
|
+
```bash
|
|
279
|
+
# Slide deck (PRO): --markdown prints the page markdown, --output saves the PDF
|
|
280
|
+
invd earnings slides --event-id <event_id> --markdown --json
|
|
281
|
+
invd earnings slides -i AAPL --year 2026 --quarter 4 --output deck.pdf
|
|
282
|
+
```
|
|
283
|
+
<!-- /invd:hand:earnings slides -->
|
|
284
|
+
|
|
285
|
+
<!-- invd:hand:earnings documents -->
|
|
286
|
+
```bash
|
|
287
|
+
# A call's documents; --output downloads every row into a directory (a link-only sec_filing row is warned on stderr; use its source_url)
|
|
288
|
+
invd earnings documents --event-id <event_id> --kind cfo_commentary --json
|
|
289
|
+
invd earnings documents --event-id <event_id> --output ./docs
|
|
290
|
+
```
|
|
291
|
+
<!-- /invd:hand:earnings documents -->
|
|
292
|
+
|
|
293
|
+
<!-- invd:hand:earnings company-documents -->
|
|
294
|
+
```bash
|
|
295
|
+
# Company IR library (outside the calls' folders); --output downloads every stored file: <year>-<kind>-<document_id>.<ext>
|
|
296
|
+
invd earnings company-documents -i AAPL --section annual_reports,proxy --json
|
|
297
|
+
invd earnings company-documents -i AAPL --kind investor_day_deck --output ./ir-docs
|
|
298
|
+
```
|
|
299
|
+
<!-- /invd:hand:earnings company-documents -->
|
|
300
|
+
|
|
301
|
+
<!-- invd:hand:earnings document -->
|
|
302
|
+
```bash
|
|
303
|
+
# One company document: metadata, --pages for per-page text, --output to download it
|
|
304
|
+
invd earnings document --document-id <document_id> --pages --json
|
|
305
|
+
invd earnings document --document-id <document_id> --output annual-report.pdf
|
|
306
|
+
```
|
|
307
|
+
<!-- /invd:hand:earnings document -->
|
|
308
|
+
|
|
309
|
+
### filings
|
|
310
|
+
|
|
311
|
+
SEC filings, their parsed sections and natural-language filing search
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
# Available SEC form types (optional: --identifier)
|
|
179
315
|
invd filings form-types --json
|
|
180
|
-
invd filings form-types -i AAPL --json
|
|
181
316
|
|
|
182
|
-
#
|
|
183
|
-
invd
|
|
317
|
+
# SEC filings (optional: --form-type, --sort, --limit, --offset, --all)
|
|
318
|
+
invd filings list -i <identifier> --json
|
|
319
|
+
|
|
320
|
+
# Search SEC filings (optional: --identifier, --accession-number)
|
|
321
|
+
invd filings search -r <request> --json
|
|
322
|
+
|
|
323
|
+
# SEC filing sections (optional: --section-id, --accession-number, --fiscal-year, --fiscal-quarter)
|
|
324
|
+
invd filings sections -i <identifier> --form-type 10-Q --json
|
|
184
325
|
```
|
|
185
326
|
|
|
186
|
-
###
|
|
327
|
+
### financials
|
|
328
|
+
|
|
329
|
+
Financial statements (standardized & as-reported)
|
|
187
330
|
|
|
188
331
|
```bash
|
|
189
|
-
#
|
|
190
|
-
invd
|
|
332
|
+
# As-reported balance sheet (optional: --sort, --limit, --offset, --all)
|
|
333
|
+
invd financials as-reported-balance-sheet -i <identifier> -p quarterly --json
|
|
191
334
|
|
|
192
|
-
#
|
|
193
|
-
invd
|
|
194
|
-
invd ownership holdings-by-company -i AAPL --min-value 1000000 --json
|
|
335
|
+
# As-reported balance sheet (detailed) (optional: --sort, --limit, --offset, --with-formula, --all)
|
|
336
|
+
invd financials as-reported-balance-sheet-detailed -i <identifier> -p quarterly --json
|
|
195
337
|
|
|
196
|
-
#
|
|
197
|
-
invd
|
|
198
|
-
invd ownership transactions --cik 0001067983 --calendar-year 2024 --json
|
|
338
|
+
# As-reported balance sheet (presentation) (optional: --sort, --limit, --offset, --all)
|
|
339
|
+
invd financials as-reported-balance-sheet-presentation -i <identifier> -p quarterly --json
|
|
199
340
|
|
|
200
|
-
#
|
|
201
|
-
invd
|
|
202
|
-
|
|
341
|
+
# As-reported cash flow statement (optional: --sort, --limit, --offset, --all)
|
|
342
|
+
invd financials as-reported-cash-flow -i <identifier> -p quarterly --json
|
|
343
|
+
|
|
344
|
+
# As-reported cash flow statement (detailed) (optional: --sort, --limit, --offset, --with-formula, --all)
|
|
345
|
+
invd financials as-reported-cash-flow-detailed -i <identifier> -p quarterly --json
|
|
346
|
+
|
|
347
|
+
# As-reported cash flow statement (presentation) (optional: --sort, --limit, --offset, --all)
|
|
348
|
+
invd financials as-reported-cash-flow-presentation -i <identifier> -p quarterly --json
|
|
349
|
+
|
|
350
|
+
# As-reported income statement (optional: --sort, --limit, --offset, --all)
|
|
351
|
+
invd financials as-reported-income-statement -i <identifier> -p quarterly --json
|
|
352
|
+
|
|
353
|
+
# As-reported income statement (detailed) (optional: --sort, --limit, --offset, --with-formula, --all)
|
|
354
|
+
invd financials as-reported-income-statement-detailed -i <identifier> -p quarterly --json
|
|
355
|
+
|
|
356
|
+
# As-reported income statement (presentation) (optional: --sort, --limit, --offset, --all)
|
|
357
|
+
invd financials as-reported-income-statement-presentation -i <identifier> -p quarterly --json
|
|
358
|
+
|
|
359
|
+
# As-reported snapshot (optional: --calendar-year, --calendar-quarter)
|
|
360
|
+
invd financials as-reported-snapshot -i <identifiers> -p quarterly --json
|
|
361
|
+
|
|
362
|
+
# As-reported snapshot (detailed) (optional: --calendar-year, --calendar-quarter, --with-formula)
|
|
363
|
+
invd financials as-reported-snapshot-detailed -i <identifiers> -p quarterly --json
|
|
364
|
+
|
|
365
|
+
# As-reported snapshot (presentation) (optional: --calendar-year, --calendar-quarter)
|
|
366
|
+
invd financials as-reported-snapshot-presentation -i <identifiers> -p quarterly --json
|
|
367
|
+
|
|
368
|
+
# Standardized balance sheet (optional: --sort, --limit, --offset, --all)
|
|
369
|
+
invd financials balance-sheet -i <identifier> -p quarterly --json
|
|
370
|
+
|
|
371
|
+
# Standardized balance sheet (detailed) (optional: --sort, --limit, --offset, --with-formula, --all)
|
|
372
|
+
invd financials balance-sheet-detailed -i <identifier> -p quarterly --json
|
|
373
|
+
|
|
374
|
+
# Standardized balance sheet (presentation) (optional: --sort, --limit, --offset, --all)
|
|
375
|
+
invd financials balance-sheet-presentation -i <identifier> -p quarterly --json
|
|
376
|
+
|
|
377
|
+
# Standardized cash flow statement (optional: --sort, --limit, --offset, --all)
|
|
378
|
+
invd financials cash-flow -i <identifier> -p quarterly --json
|
|
379
|
+
|
|
380
|
+
# Standardized cash flow statement (detailed) (optional: --sort, --limit, --offset, --with-formula, --all)
|
|
381
|
+
invd financials cash-flow-detailed -i <identifier> -p quarterly --json
|
|
382
|
+
|
|
383
|
+
# Standardized cash flow statement (presentation) (optional: --sort, --limit, --offset, --all)
|
|
384
|
+
invd financials cash-flow-presentation -i <identifier> -p quarterly --json
|
|
385
|
+
|
|
386
|
+
# Standardized income statement (optional: --sort, --limit, --offset, --all)
|
|
387
|
+
invd financials income-statement -i <identifier> -p quarterly --json
|
|
388
|
+
|
|
389
|
+
# Standardized income statement (detailed) (optional: --sort, --limit, --offset, --with-formula, --all)
|
|
390
|
+
invd financials income-statement-detailed -i <identifier> -p quarterly --json
|
|
391
|
+
|
|
392
|
+
# Standardized income statement (presentation) (optional: --sort, --limit, --offset, --all)
|
|
393
|
+
invd financials income-statement-presentation -i <identifier> -p quarterly --json
|
|
394
|
+
|
|
395
|
+
# Standardized snapshot (optional: --calendar-year, --calendar-quarter)
|
|
396
|
+
invd financials snapshot -i <identifiers> -p quarterly --json
|
|
397
|
+
|
|
398
|
+
# Standardized snapshot (detailed) (optional: --calendar-year, --calendar-quarter, --with-formula)
|
|
399
|
+
invd financials snapshot-detailed -i <identifiers> -p quarterly --json
|
|
400
|
+
|
|
401
|
+
# Standardized snapshot (presentation) (optional: --calendar-year, --calendar-quarter)
|
|
402
|
+
invd financials snapshot-presentation -i <identifiers> -p quarterly --json
|
|
203
403
|
```
|
|
204
404
|
|
|
205
|
-
|
|
405
|
+
### health
|
|
206
406
|
|
|
207
|
-
|
|
407
|
+
Liveness of the API (no API key)
|
|
208
408
|
|
|
209
409
|
```bash
|
|
210
|
-
#
|
|
211
|
-
invd
|
|
212
|
-
invd insider-trades list -i TSLA --acquired-disposed D --limit 20 --json
|
|
213
|
-
invd insider-trades list -i AAPL --start-date 2024-01-01 --json
|
|
410
|
+
# Health check
|
|
411
|
+
invd health --json
|
|
214
412
|
```
|
|
215
413
|
|
|
216
|
-
|
|
414
|
+
### insider-trades
|
|
217
415
|
|
|
218
|
-
|
|
416
|
+
Insider transactions of a company
|
|
219
417
|
|
|
220
418
|
```bash
|
|
419
|
+
# Insider trades (optional: --start-date, --end-date, --acquired-disposed, --sort, --limit, --offset, --all)
|
|
420
|
+
invd insider-trades list -i <identifier> --json
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
### ipos
|
|
424
|
+
|
|
425
|
+
Initial public offerings
|
|
426
|
+
|
|
427
|
+
```bash
|
|
428
|
+
# List IPOs (optional: --start-date, --end-date, --sort, --limit, --offset, --all)
|
|
221
429
|
invd ipos list --json
|
|
222
|
-
invd ipos list --start-date 2024-01-01 --end-date 2024-12-31 --json
|
|
223
430
|
```
|
|
224
431
|
|
|
225
|
-
###
|
|
432
|
+
### login
|
|
433
|
+
|
|
434
|
+
<!-- invd:hand:login -->
|
|
435
|
+
```bash
|
|
436
|
+
invd login # browser sign-in to your Invinite Data account; stores the key
|
|
437
|
+
```
|
|
438
|
+
<!-- /invd:hand:login -->
|
|
439
|
+
|
|
440
|
+
### logout
|
|
226
441
|
|
|
442
|
+
<!-- invd:hand:logout -->
|
|
227
443
|
```bash
|
|
444
|
+
invd logout # revokes the login and clears stored credentials
|
|
445
|
+
```
|
|
446
|
+
<!-- /invd:hand:logout -->
|
|
447
|
+
|
|
448
|
+
### market
|
|
449
|
+
|
|
450
|
+
Market calendar
|
|
451
|
+
|
|
452
|
+
```bash
|
|
453
|
+
# Market holidays (optional: --sort, --limit, --offset, --all)
|
|
228
454
|
invd market holidays --json
|
|
229
455
|
```
|
|
230
456
|
|
|
231
|
-
###
|
|
457
|
+
### metadata
|
|
232
458
|
|
|
233
|
-
|
|
459
|
+
The metrics and filing section ids the API serves
|
|
234
460
|
|
|
235
461
|
```bash
|
|
236
|
-
#
|
|
462
|
+
# Available metrics
|
|
237
463
|
invd metadata metrics --json
|
|
238
|
-
# Returns: { metrics: [{ metric_id: "PR_TO_EARNINGS", name: "Price-to-Earnings Ratio" }, ...] }
|
|
239
464
|
|
|
240
|
-
#
|
|
465
|
+
# Available SEC section IDs
|
|
241
466
|
invd metadata section-ids --json
|
|
242
467
|
```
|
|
243
468
|
|
|
244
|
-
###
|
|
469
|
+
### metrics
|
|
245
470
|
|
|
246
|
-
|
|
471
|
+
Ratios, growth and CAGR derived from the statements
|
|
247
472
|
|
|
248
473
|
```bash
|
|
249
|
-
#
|
|
250
|
-
|
|
251
|
-
invd earnings calendar --from 2026-10-20 --to 2026-10-31 --json
|
|
252
|
-
invd earnings calendar --event-type all --json # investor days, conferences, AGMs too
|
|
253
|
-
invd earnings events -i AAPL -s desc -l 4 --json
|
|
254
|
-
invd earnings live --json
|
|
255
|
-
invd earnings event <event_id> --json
|
|
474
|
+
# CAGR metrics (optional: --period-years, --sort, --limit, --offset, --all)
|
|
475
|
+
invd metrics cagr -i <identifier> --json
|
|
256
476
|
|
|
257
|
-
#
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
invd
|
|
262
|
-
|
|
263
|
-
# Q&A pairs, speakers, analysts of a company, one person's appearances
|
|
264
|
-
invd earnings qa --event <event_id> --json
|
|
265
|
-
invd earnings participants --event <event_id> --json
|
|
266
|
-
invd earnings analysts -i AAPL --json
|
|
267
|
-
invd earnings person <person_id> --json
|
|
268
|
-
|
|
269
|
-
# Press release, guidance / KPI extractions, a metric's guidance across calls
|
|
270
|
-
invd earnings press-release --event <event_id> --body --json
|
|
271
|
-
invd earnings extractions --event <event_id> --kind guidance --json
|
|
272
|
-
invd earnings extractions --event <event_id> --kind kpi --json
|
|
273
|
-
invd earnings guidance-history -i AAPL --metric revenue --json
|
|
274
|
-
|
|
275
|
-
# Derived: diff vs the prior call, call metrics, prosody, price moves during the call
|
|
276
|
-
invd earnings diff --event <event_id> --json
|
|
277
|
-
invd earnings metrics --event <event_id> --json
|
|
278
|
-
invd earnings prosody --event <event_id> --section qa --json
|
|
279
|
-
invd earnings price-attribution --event <event_id> --json # minute returns (bps) next to what was said; coincidence, not cause
|
|
280
|
-
|
|
281
|
-
# Media (signed URLs expire after 15 min; --output saves the file)
|
|
282
|
-
invd earnings audio --event <event_id> --output call.mp3
|
|
283
|
-
invd earnings slides --event <event_id> --markdown --json
|
|
284
|
-
invd earnings documents --event <event_id> --kind cfo_commentary --json
|
|
285
|
-
invd earnings documents --event <event_id> --output ./docs # a row without url (link-only sec_filing) is warned on stderr; use its source_url
|
|
286
|
-
invd earnings stream --event <event_id> --json # live HLS URL of a call in progress (PRO)
|
|
287
|
-
|
|
288
|
-
# Semantic search over transcripts and slides (--event-type all: investor days, conferences too)
|
|
289
|
-
invd earnings search -q "data center demand" -i NVDA --json
|
|
290
|
-
|
|
291
|
-
# Company IR library (outside the calls' folders) and document search
|
|
292
|
-
invd earnings company-documents -i AAPL --section annual_reports,proxy --json
|
|
293
|
-
invd earnings company-documents -i AAPL --kind investor_day_deck --output ./ir-docs # <year>-<kind>-<document_id>.<ext>
|
|
294
|
-
invd earnings document <document_id> --pages --json # per-page text
|
|
295
|
-
invd earnings document-search -q "capital allocation" -i AAPL --json # passages + document, year, page
|
|
477
|
+
# Growth metrics (optional: --growth-type, --sort, --limit, --offset, --all)
|
|
478
|
+
invd metrics growth -i <identifier> -p quarterly --json
|
|
479
|
+
|
|
480
|
+
# Financial ratios (optional: --category, --sort, --limit, --offset, --all)
|
|
481
|
+
invd metrics ratios -i <identifier> -p quarterly --json
|
|
296
482
|
```
|
|
297
483
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
484
|
+
### ownership
|
|
485
|
+
|
|
486
|
+
13F holdings, holders and position changes of institutional investors
|
|
487
|
+
|
|
488
|
+
```bash
|
|
489
|
+
# Holdings by company (optional: --min-value, --sort, --limit, --offset, --all)
|
|
490
|
+
invd ownership holdings-by-company -i <identifier> --json
|
|
303
491
|
|
|
304
|
-
|
|
492
|
+
# Holdings by investor (optional: --sort, --limit, --offset, --all)
|
|
493
|
+
invd ownership holdings-by-investor --cik <cik> --json
|
|
494
|
+
|
|
495
|
+
# List institutional investors (optional: --ciks, --limit, --offset, --sort, --all)
|
|
496
|
+
invd ownership institutions --json
|
|
497
|
+
|
|
498
|
+
# Institutional transactions (optional: --cik, --identifier, --start-date, --end-date, --type, --calendar-year, --calendar-quarter, --sort, --limit, --offset, --all)
|
|
499
|
+
invd ownership transactions --json
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### plugin
|
|
503
|
+
|
|
504
|
+
<!-- invd:hand:plugin -->
|
|
505
|
+
```bash
|
|
506
|
+
invd plugin install --claude --global # also --opencode, --codex, --copilot, --all; --local for this project
|
|
507
|
+
invd plugin uninstall --claude --global
|
|
508
|
+
```
|
|
509
|
+
<!-- /invd:hand:plugin -->
|
|
510
|
+
|
|
511
|
+
### segments
|
|
512
|
+
|
|
513
|
+
Financial facts broken down by business and geographic segment
|
|
514
|
+
|
|
515
|
+
```bash
|
|
516
|
+
# Segmented financials (optional: --segment-id, --sort, --limit, --offset, --all)
|
|
517
|
+
invd segments list -i <identifier> -p quarterly --json
|
|
518
|
+
|
|
519
|
+
# Segmented financials (detailed) (optional: --segment-id, --sort, --limit, --offset, --all)
|
|
520
|
+
invd segments list-detailed -i <identifier> -p quarterly --json
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
### status
|
|
524
|
+
|
|
525
|
+
Public status and licensing (no API key)
|
|
526
|
+
|
|
527
|
+
```bash
|
|
528
|
+
# Licensing policy
|
|
529
|
+
invd status licensing --json
|
|
530
|
+
|
|
531
|
+
# Service status
|
|
532
|
+
invd status show --json
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
### usage
|
|
536
|
+
|
|
537
|
+
Your data account's own usage (costs no credits)
|
|
305
538
|
|
|
306
539
|
```bash
|
|
307
|
-
#
|
|
540
|
+
# Account usage (optional: --days)
|
|
541
|
+
invd usage --json
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
### webhooks
|
|
545
|
+
|
|
546
|
+
Earnings-call webhook subscriptions (PRO): signed POSTs of the call lifecycle
|
|
547
|
+
|
|
548
|
+
```bash
|
|
549
|
+
# Create a webhook (optional: --body-file)
|
|
550
|
+
invd webhooks create --body '<json>' --json
|
|
551
|
+
|
|
552
|
+
# Delete a webhook
|
|
553
|
+
invd webhooks delete --id <id> --json
|
|
554
|
+
|
|
555
|
+
# Webhook delivery attempts
|
|
556
|
+
invd webhooks deliveries --id <id> --json
|
|
557
|
+
|
|
558
|
+
# List webhooks
|
|
559
|
+
invd webhooks list --json
|
|
560
|
+
|
|
561
|
+
# Rotate a webhook signing secret
|
|
562
|
+
invd webhooks rotate-secret --id <id> --json
|
|
563
|
+
|
|
564
|
+
# Send a test delivery
|
|
565
|
+
invd webhooks test --id <id> --json
|
|
566
|
+
|
|
567
|
+
# Update a webhook (optional: --body, --body-file)
|
|
568
|
+
invd webhooks update --id <id> --json
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
### ws
|
|
572
|
+
|
|
573
|
+
<!-- invd:hand:ws -->
|
|
574
|
+
```bash
|
|
575
|
+
# Real-time SEC filing stream
|
|
576
|
+
invd ws listen --json
|
|
577
|
+
|
|
578
|
+
# Follow a live call (event ID or CIK; NDJSON with --json; PRO)
|
|
308
579
|
invd ws listen --earnings <event_id> --json
|
|
309
580
|
invd ws listen --earnings 320193 --names
|
|
310
581
|
|
|
@@ -314,32 +585,18 @@ invd ws listen --earnings <event_id> --prices --json | jq 'select(.type=="price_
|
|
|
314
585
|
# Keyword alerts on a live call, or across every live call (--all-live needs --keywords)
|
|
315
586
|
invd ws listen --earnings 320193 --keywords tariffs,china --keyword-match stem --json
|
|
316
587
|
invd ws listen --all-live --keywords tariffs --json
|
|
317
|
-
|
|
318
|
-
# Earnings-call webhook subscriptions (the secret is printed once)
|
|
319
|
-
invd webhooks list --json
|
|
320
|
-
invd webhooks create --url https://hooks.example.com/invinite --events earnings_call.transcript_ready --ciks 320193
|
|
321
|
-
invd webhooks create --url https://hooks.example.com/alerts --events earnings_call.keyword_hit --keywords tariffs # every company
|
|
322
|
-
invd webhooks update <id> --keywords tariffs,buyback --json
|
|
323
|
-
invd webhooks deliveries <id> --json
|
|
324
588
|
```
|
|
589
|
+
<!-- /invd:hand:ws -->
|
|
325
590
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
Keyword / guidance alerts (PRO) are webhook subscriptions: `earnings_call.keyword_hit` delivers one POST per mention of a keyword on any live call (speaker, `start_ms`, sentence), `earnings_call.guidance_flash` one per guidance number spoken live. "Alert me when any call mentions 'tariffs'" → `earnings_call_alert_create` with `keywords: ["tariffs"]`, `events: ["earnings_call.keyword_hit"]`, the user's HTTPS endpoint and no `ciks` (every company); later changes go through `earnings_call_alert_update` (keywords, ciks, events, active). CLI: `invd webhooks create --url <url> --events earnings_call.keyword_hit --keywords tariffs`.
|
|
329
|
-
|
|
330
|
-
### Health Check
|
|
331
|
-
|
|
332
|
-
```bash
|
|
333
|
-
invd health --json
|
|
334
|
-
```
|
|
591
|
+
<!-- invd:commands:end -->
|
|
335
592
|
|
|
336
593
|
## Pagination
|
|
337
594
|
|
|
338
|
-
|
|
595
|
+
Paginated commands (the `--all` ones above) take:
|
|
339
596
|
- `-l, --limit <n>` — max results per page
|
|
340
597
|
- `--offset <n>` — pagination offset
|
|
341
|
-
- `--all` — auto-paginate all results
|
|
342
|
-
- `-s, --sort <dir>` — `asc` or `desc`
|
|
598
|
+
- `--all` — auto-paginate all results (follows `next_url`; per-company commands merge each company's pages; a page refused with 429 / 503 is retried up to 5 times after the API's `Retry-After`)
|
|
599
|
+
- `-s, --sort <dir>` — `asc` or `desc` (where the operation supports it)
|
|
343
600
|
|
|
344
601
|
## Common Patterns
|
|
345
602
|
|
|
@@ -368,10 +625,10 @@ invd filings search -r "artificial intelligence strategy" -i MSFT --json
|
|
|
368
625
|
Find the call, then read it from the cheapest source to the most detailed:
|
|
369
626
|
```bash
|
|
370
627
|
invd earnings events -i NVDA -s desc -l 4 --json # pick the event_id
|
|
371
|
-
invd earnings transcript --event <event_id> --format sections --json
|
|
372
|
-
invd earnings extractions --event <event_id> --kind guidance --json
|
|
373
|
-
invd earnings search -q "gross margin outlook" --event <event_id> --json
|
|
374
|
-
invd earnings price-attribution --event <event_id> --json # optional: price moves during the call
|
|
628
|
+
invd earnings transcript --event-id <event_id> --format sections --json
|
|
629
|
+
invd earnings extractions --event-id <event_id> --kind guidance --json
|
|
630
|
+
invd earnings search -q "gross margin outlook" --event-id <event_id> --json
|
|
631
|
+
invd earnings price-attribution --event-id <event_id> --json # optional: price moves during the call
|
|
375
632
|
```
|
|
376
633
|
`price-attribution` (MCP `earnings_call_price_moves`, STANDARD, 1 credit) lines up minute returns with what was said in that minute: temporal coincidence, not attribution of cause; pre-market bars are sparse, and a `404 price_attribution_unavailable` means the call is not attributed yet.
|
|
377
634
|
|