{"openapi":"3.1.0","info":{"title":"Fiscal.ai (BYOK) API","version":"0.1.0","description":"Fiscal.ai (BYOK) lets an AI assistant read your own Fiscal.ai data through the Fiscal.ai API with a key you supply (Fiscal.ai API key). Read-only: 10 tools (list_companies, get_company_profile, get_events_calendar, list_filings, get_dividends, list_insider_transactions, list_institutional_holders, get_analyst_price_target, get_stock_prices, list_company_news). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-fiscalai.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-fiscalai/docs"},"termsOfService":"https://connectorbay.com/byok-fiscalai/terms"},"servers":[{"url":"https://byok-fiscalai.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-fiscalai/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_companies":{"post":{"operationId":"list_companies","summary":"List companies covered by the key with name, sector, industry, headquarters country, market cap and primary listing. Com","description":"List companies covered by the key with name, sector, industry, headquarters country, market cap and primary listing. Compact mode returns slimmer rows. Free-plan keys cover 100 companies and 250 calls per day. Use for \"Which companies can I query in Fiscal.ai\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_number":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number starting at 1.","title":"Page Number"},"compact":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"True for slimmer rows without long descriptive fields.","title":"Compact"}},"title":"list_companiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_company_profile":{"post":{"operationId":"get_company_profile","summary":"Get one company's profile: names, sector and industry, headquarters, CEO, founding and IPO year, CIK, market cap, report","description":"Get one company's profile: names, sector and industry, headquarters, CEO, founding and IPO year, CIK, market cap, reporting currency and primary listing. Free-plan keys cover 100 companies and 250 calls per day. Use for \"Give me the Fiscal.ai profile of Apple\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_key":{"description":"Fiscal.ai company key: exchange code plus ticker, for example NASDAQ_MSFT (US and Canada) or MIC code plus ticker such as XWAR_PKN. Find keys with list_companies.","maxLength":40,"title":"Company Key","type":"string"}},"required":["company_key"],"title":"get_company_profileArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_events_calendar":{"post":{"operationId":"get_events_calendar","summary":"List past and upcoming company earnings events (results releases and calls) with date, status (confirmed, estimated, pro","description":"List past and upcoming company earnings events (results releases and calls) with date, status (confirmed, estimated, projected, reported), period and company. Omit the company for the global calendar. Free-plan keys cover 100 companies and 250 calls per day. Use for \"Which companies report earnings next week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_key":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Optional company key (exchange code plus ticker, for example NASDAQ_MSFT); omit for all companies.","title":"Company Key"},"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Headquarters country code filter, for example US or GB.","title":"Country"},"sector":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"GICS sector filter, for example 'Information Technology'.","title":"Sector"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Inclusive start date YYYY-MM-DD.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Inclusive end date YYYY-MM-DD.","title":"End Date"},"status":{"anyOf":[{"enum":["confirmed","estimated","projected","reported"],"type":"string"},{"type":"null"}],"default":null,"description":"Event status: confirmed, estimated, projected or reported.","title":"Status"},"page_number":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number starting at 1.","title":"Page Number"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Records per page (1 to 1000).","title":"Page Size"}},"title":"get_events_calendarArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_filings":{"post":{"operationId":"list_filings","summary":"List a company's filings of the last 20 years: annual and interim reports, earnings press releases, current reports and ","description":"List a company's filings of the last 20 years: annual and interim reports, earnings press releases, current reports and registration statements, with form type, dates and PDF link. Free-plan keys cover 100 companies and 250 calls per day. Use for \"List Apple's recent annual and quarterly reports\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_key":{"description":"Fiscal.ai company key: exchange code plus ticker, for example NASDAQ_MSFT (US and Canada) or MIC code plus ticker such as XWAR_PKN. Find keys with list_companies.","maxLength":40,"title":"Company Key","type":"string"}},"required":["company_key"],"title":"list_filingsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_dividends":{"post":{"operationId":"get_dividends","summary":"Get a company's dividend summary (trailing and forward dividend per share, first and latest ex-date) and its dividend hi","description":"Get a company's dividend summary (trailing and forward dividend per share, first and latest ex-date) and its dividend history with ex, record and pay dates. Free-plan keys cover 100 companies and 250 calls per day. Use for \"What dividend does Microsoft pay and when is the next ex-date\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_key":{"description":"Fiscal.ai company key: exchange code plus ticker, for example NASDAQ_MSFT (US and Canada) or MIC code plus ticker such as XWAR_PKN. Find keys with list_companies.","maxLength":40,"title":"Company Key","type":"string"}},"required":["company_key"],"title":"get_dividendsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_insider_transactions":{"post":{"operationId":"list_insider_transactions","summary":"List insider transactions (open-market buys and sales, grants, option exercises) with holder, title, dates, shares, pric","description":"List insider transactions (open-market buys and sales, grants, option exercises) with holder, title, dates, shares, price range and value. Free-plan keys cover 100 companies and 250 calls per day. Use for \"What insider trades happened at Apple recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_key":{"description":"Fiscal.ai company key: exchange code plus ticker, for example NASDAQ_MSFT (US and Canada) or MIC code plus ticker such as XWAR_PKN. Find keys with list_companies.","maxLength":40,"title":"Company Key","type":"string"},"include_inactive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include insiders no longer affiliated with the company.","title":"Include Inactive"},"page_number":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number starting at 1.","title":"Page Number"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Records per page (1 to 1000).","title":"Page Size"}},"required":["company_key"],"title":"list_insider_transactionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_institutional_holders":{"post":{"operationId":"list_institutional_holders","summary":"List institutional holders of a company for the latest reported quarter (or a chosen year and quarter): shares, value, c","description":"List institutional holders of a company for the latest reported quarter (or a chosen year and quarter): shares, value, change and percent of shares outstanding. Free-plan keys cover 100 companies and 250 calls per day. Use for \"Who are the biggest institutional holders of Apple\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_key":{"description":"Fiscal.ai company key: exchange code plus ticker, for example NASDAQ_MSFT (US and Canada) or MIC code plus ticker such as XWAR_PKN. Find keys with list_companies.","maxLength":40,"title":"Company Key","type":"string"},"year":{"anyOf":[{"maximum":2100,"minimum":1990,"type":"integer"},{"type":"null"}],"default":null,"description":"Calendar year for a historical quarter (use with quarter).","title":"Year"},"quarter":{"anyOf":[{"maximum":4,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Calendar quarter 1 to 4 (use with year).","title":"Quarter"},"page_number":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number starting at 1.","title":"Page Number"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Records per page (1 to 1000).","title":"Page Size"}},"required":["company_key"],"title":"list_institutional_holdersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_analyst_price_target":{"post":{"operationId":"get_analyst_price_target","summary":"Get the Wall Street analyst consensus for a company: price target (mean, median, high, low, count) and recommendation co","description":"Get the Wall Street analyst consensus for a company: price target (mean, median, high, low, count) and recommendation counts. Not available on personal plans; data is credited to Zacks Investment Research. Free-plan keys cover 100 companies and 250 calls per day. Use for \"What is the analyst price target and rating for Apple\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_key":{"description":"Fiscal.ai company key: exchange code plus ticker, for example NASDAQ_MSFT (US and Canada) or MIC code plus ticker such as XWAR_PKN. Find keys with list_companies.","maxLength":40,"title":"Company Key","type":"string"}},"required":["company_key"],"title":"get_analyst_price_targetArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_stock_prices":{"post":{"operationId":"get_stock_prices","summary":"Get the daily split-adjusted price series (open, close, volume) of a company, most recent first, for a date range or jus","description":"Get the daily split-adjusted price series (open, close, volume) of a company, most recent first, for a date range or just the latest day. Free-plan keys cover 100 companies and 250 calls per day. Use for \"What was Apple's closing price on the latest trading day\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_key":{"description":"Fiscal.ai company key: exchange code plus ticker, for example NASDAQ_MSFT (US and Canada) or MIC code plus ticker such as XWAR_PKN. Find keys with list_companies.","maxLength":40,"title":"Company Key","type":"string"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Prices from this date, YYYY-MM-DD.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Prices up to this date, YYYY-MM-DD.","title":"End Date"},"latest":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to return only the most recent price.","title":"Latest"}},"required":["company_key"],"title":"get_stock_pricesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_company_news":{"post":{"operationId":"list_company_news","summary":"List classified company news (earnings, guidance, dividend, M&A and others) with title, summary, event type, importance ","description":"List classified company news (earnings, guidance, dividend, M&A and others) with title, summary, event type, importance 1 (major) to 5 (routine) and source link. Free-plan keys cover 100 companies and 250 calls per day. Use for \"What are the important news items for Apple this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_key":{"description":"Fiscal.ai company key: exchange code plus ticker, for example NASDAQ_MSFT (US and Canada) or MIC code plus ticker such as XWAR_PKN. Find keys with list_companies.","maxLength":40,"title":"Company Key","type":"string"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Range start YYYY-MM-DD (use with end_date; the range is at most 31 days).","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Range end YYYY-MM-DD.","title":"End Date"},"event_type":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Filter to one event type, for example earnings, guidance or dividend.","title":"Event Type"},"importance":{"anyOf":[{"maximum":5,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only items with exactly this importance score (1 to 5).","title":"Importance"}},"required":["company_key"],"title":"list_company_newsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}