{"openapi":"3.1.0","info":{"title":"FinancialMD API","version":"1.0.0","summary":"Financial data for AI agents: every number carries proof back to a filing and is point-in-time.","description":"Every successful response is `{ data, meta }`. Every number inside `data` is a value object with `period`, `known`, `method` and `proof`; nothing is a bare number.\n\n`as_of` on any read route answers what was known at that instant. `original=true` gives the first-reported version of each period, `history=true` every version oldest first.\n\nKeyless use on api.financial.md is rate limited by IP and needs no account. API keys (Authorization: Bearer fmd_live_...) are accepted but are not issued publicly yet: https://financial.md/keys.\n\nagent.financial.md is reserved for per-call payment (x402), which is not switched on yet: priced routes answer 402 there and the body names the keyless alternative on api.financial.md. Each operation's x-price is the planned price per call, not a charge made today.\n\nInformation only, not investment advice. Terms: https://financial.md/terms","termsOfService":"https://financial.md/terms","contact":{"name":"FinancialMD","url":"https://financial.md"}},"servers":[{"url":"https://api.financial.md","description":"Keyless, daily limits per IP address"},{"url":"https://agent.financial.md","description":"Reserved for x402 per-call payment; not switched on yet (priced routes answer 402)"}],"tags":[{"name":"discovery"},{"name":"directory"},{"name":"financials"},{"name":"filings"},{"name":"ownership"},{"name":"prices"},{"name":"screen"},{"name":"proof"},{"name":"verify"},{"name":"changes"},{"name":"feedback"},{"name":"account"},{"name":"datasets"},{"name":"not_covered","description":"Datasets FinancialMD does not serve. Each path answers 404 not_covered with the reason and alternatives."}],"paths":{"/healthz":{"get":{"operationId":"healthz","summary":"Liveness and database reachability","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"parameters":[],"responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}}},"503":{"description":"database unreachable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}}}},"tags":["discovery"],"description":"Liveness probe. Returns `status` ok or degraded and the pipeline version. Not metered.\n\nExample: `GET https://api.financial.md/healthz`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/healthz\""}]}},"/openapi.json":{"get":{"operationId":"openapi","summary":"OpenAPI 3.1 document","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"parameters":[],"responses":{"200":{"description":"This document","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["discovery"],"description":"This OpenAPI 3.1 document. Every operation has an example request with a real ticker.\n\nExample: `GET https://api.financial.md/openapi.json`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/openapi.json\""}]}},"/llms.txt":{"get":{"operationId":"llms_txt","summary":"llms.txt discovery file","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"parameters":[],"responses":{"200":{"description":"llms.txt","content":{"text/plain":{"schema":{"type":"string"}}}}},"tags":["discovery"],"description":"Short guide for language models: hosts, company ids, the value object, point-in-time reads and limits.\n\nExample: `GET https://api.financial.md/llms.txt`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/llms.txt\""}]}},"/skill.md":{"get":{"operationId":"skill_md","summary":"Agent skill file","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"parameters":[],"responses":{"200":{"description":"skill.md","content":{"text/markdown":{"schema":{"type":"string"}}}}},"tags":["discovery"],"description":"An Agent Skill (SKILL.md with front matter) with six one-call recipes.\n\nExample: `GET https://api.financial.md/skill.md`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/skill.md\""}]}},"/llms-full.txt":{"get":{"operationId":"llms_full_txt","summary":"The whole reference in one text file: every route, parameter, ratio formula and recipe","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"parameters":[],"responses":{"200":{"description":"llms-full.txt","content":{"text/plain":{"schema":{"type":"string"}}}}},"tags":["discovery"],"description":"The whole reference as one text file: every route with its parameters and example, the ratio formulas, the recipes and the changelog.\n\nExample: `GET https://api.financial.md/llms-full.txt`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/llms-full.txt\""}]}},"/docs":{"get":{"operationId":"docs","summary":"Interactive API reference (Swagger UI over openapi.json)","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"parameters":[],"responses":{"200":{"description":"HTML page","content":{"text/html":{"schema":{"type":"string"}}}}},"tags":["discovery"],"description":"Interactive reference (Swagger UI) over this document. Needs JavaScript; /llms-full.txt has the same content as text.\n\nExample: `GET https://api.financial.md/docs`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/docs\""}]}},"/changelog":{"get":{"operationId":"changelog","summary":"Dated changelog of the API and the MCP server (Markdown)","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"parameters":[],"responses":{"200":{"description":"Changelog","content":{"text/markdown":{"schema":{"type":"string"}}}}},"tags":["discovery"],"description":"Dated changelog of the API and the MCP server, newest first, as Markdown.\n\nExample: `GET https://api.financial.md/changelog`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/changelog\""}]}},"/changelog.json":{"get":{"operationId":"changelog_json","summary":"The changelog as JSON","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"parameters":[],"responses":{"200":{"description":"Changelog entries, newest first","content":{"application/json":{"schema":{"type":"object","required":["entries"],"properties":{"entries":{"type":"array","items":{"type":"object","required":["date","area","title","details"],"properties":{"date":{"type":"string","format":"date"},"area":{"type":"string"},"title":{"type":"string"},"details":{"type":"array","items":{"type":"string"}}}}}}}}}}},"tags":["discovery"],"description":"The changelog as JSON entries `{ date, area, title, details }`, newest first.\n\nExample: `GET https://api.financial.md/changelog.json`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/changelog.json\""}]}},"/robots.txt":{"get":{"operationId":"robots_txt","summary":"Crawler rules: documents open, data routes closed to crawlers","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"parameters":[],"responses":{"200":{"description":"robots.txt","content":{"text/plain":{"schema":{"type":"string"}}}}},"tags":["discovery"],"description":"Crawler rules for this host. Documents are open to every crawler; data routes are for agents acting on a request, not for crawling.\n\nExample: `GET https://api.financial.md/robots.txt`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/robots.txt\""}]}},"/pricing.json":{"get":{"operationId":"pricing_json","summary":"Prices per route, free limits and per-call payment status as JSON","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"parameters":[],"responses":{"200":{"description":"Prices, free limits and payment status as JSON","content":{"application/json":{"schema":{"type":"object","required":["name","payment","free","routes"],"properties":{"name":{"type":"string"},"payment":{"type":"object"},"free":{"type":"object"},"routes":{"type":"array","items":{"type":"object"}},"outputs":{"type":"array","items":{"type":"object"}}}}}}}},"tags":["discovery"],"description":"Machine-readable prices: the planned per-call price of every route on the agent host, the free daily limits, and whether per-call payment (x402) is switched on yet.\n\nExample: `GET https://api.financial.md/pricing.json`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/pricing.json\""}]}},"/v1/companies":{"get":{"operationId":"companies","summary":"Company directory with filters and cursor paging","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["directory"],"parameters":[{"name":"q","in":"query","required":false,"description":"Name or ticker search (names as substring, tickers as prefix; case-insensitive)","schema":{"type":"string","minLength":1,"maxLength":64,"examples":["Apple","AAPL"]}},{"name":"country","in":"query","required":false,"description":"ISO 3166-1 alpha-2","schema":{"type":"string","minLength":2,"maxLength":2}},{"name":"exchange","in":"query","required":false,"description":"MIC of a listing, e.g. XNAS","schema":{"type":"string","minLength":4,"maxLength":4}},{"name":"template","in":"query","required":false,"description":"Reporting template","schema":{"type":"string","enum":["standard","financials","insurance","real_estate","utilities","capital_markets"]}},{"name":"status","in":"query","required":false,"description":"Company status","schema":{"type":"string","enum":["active","pre_ipo","delisted","merged","shell"]}},{"name":"updated_since","in":"query","required":false,"description":"Companies updated since this date or timestamp","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"}},{"name":"limit","in":"query","required":false,"description":"Maximum companies per page","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Companies page","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CompanyListItem"}},"next_cursor":{"type":["string","null"]}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Search or page the company directory. Use it to turn a name into a company id, or to list every company with a dataset. Each item has `fmd_id`, `cik`, `primary_ticker` and `available_datasets`.\n\nExample: `GET https://api.financial.md/v1/companies?q=Apple&limit=5`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/companies?q=Apple&limit=5\""}]}},"/v1/company/profile":{"get":{"operationId":"company_profile","summary":"Company profile, listings and available datasets","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["directory"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}}],"responses":{"200":{"description":"Profile","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CompanyProfile"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"One company's identity: CIK, listings with exchange codes, sector, industry, reporting template, fiscal year end and which datasets are served. Call it first when you are unsure a ticker is covered.\n\nExample: `GET https://api.financial.md/v1/company/profile?company=ticker:AAPL`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/profile?company=ticker:AAPL\""}]}},"/v1/company/financials/{statement}/standardized":{"get":{"operationId":"standardized","summary":"Standardized statement with point-in-time, original and history views","x-price":{"usd":"0.005","currency":"USD","keyed_usd":"0.002"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["financials"],"parameters":[{"name":"statement","in":"path","required":true,"description":"Statement; `supplemental` carries share counts and per-share figures","schema":{"type":"string","enum":["income_statement","balance_sheet","cash_flow","supplemental"],"examples":["income_statement"]},"example":"income_statement"},{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"period_type","in":"query","required":false,"description":"Period type","schema":{"type":"string","enum":["annual","quarterly","semi_annual","ytd","ltm"],"default":"annual"}},{"name":"limit","in":"query","required":false,"description":"Maximum periods (most recent first)","schema":{"type":"integer","minimum":1,"maximum":200,"default":10}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"original","in":"query","required":false,"description":"First-reported version of each period","schema":{"type":"boolean","default":false}},{"name":"history","in":"query","required":false,"description":"Every knowledge version of each period, oldest first","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Standardized statement","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/StandardizedStatement"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_covered","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"A financial statement on the FinancialMD template, so line items compare across companies. Use it for questions such as \"What was Apple's revenue in fiscal 2024?\" or \"What is AAPL's free cash flow?\". `data.periods` is most recent first and `row.cells[i]` is the value object for `periods[i]`, each with the 10-K or 10-Q it came from. Add `as_of` for what was known on a date, `original=true` for first-reported values, `history=true` for every restatement.\n\nExample: `GET https://api.financial.md/v1/company/financials/income_statement/standardized?company=ticker:AAPL&period_type=annual&limit=5`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/financials/income_statement/standardized?company=ticker:AAPL&period_type=annual&limit=5\""}]}},"/v1/company/financials/{statement}/as_reported":{"get":{"operationId":"as_reported","summary":"The filer's own line items with tags and dimensions","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["financials"],"parameters":[{"name":"statement","in":"path","required":true,"description":"Statement","schema":{"type":"string","enum":["income_statement","balance_sheet","cash_flow"],"examples":["income_statement"]},"example":"income_statement"},{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"period_type","in":"query","required":false,"description":"Period type (as-reported serves annual and quarterly; balance sheets are instants at the period end)","schema":{"type":"string","enum":["annual","quarterly"],"default":"annual"}},{"name":"limit","in":"query","required":false,"description":"Maximum periods","schema":{"type":"integer","minimum":1,"maximum":200,"default":10}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"history","in":"query","required":false,"description":"Every filing's version of each line and period, oldest first","schema":{"type":"boolean","default":false}},{"name":"accession","in":"query","required":false,"description":"Only facts from this filing","schema":{"type":"string","pattern":"^[A-Za-z0-9\\-]{1,40}$"}}],"responses":{"200":{"description":"As-reported facts","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/AsReportedStatement"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_covered","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"The same grid with the filer's own line items: one row per XBRL tag and dimension as filed. Use it when you need the company's exact label or a line the template folds into a total.\n\nExample: `GET https://api.financial.md/v1/company/financials/balance_sheet/as_reported?company=cik:320193&period_type=annual&limit=2`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/financials/balance_sheet/as_reported?company=cik:320193&period_type=annual&limit=2\""}]}},"/v1/company/ratios":{"get":{"operationId":"ratios","summary":"Ratios computed from standardized facts, each with the proofs of its inputs","x-price":{"usd":"0.005","currency":"USD","keyed_usd":"0.002"},"x-route-class":"metered","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["financials"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"period_type","in":"query","required":false,"description":"Period type","schema":{"type":"string","enum":["annual","quarterly","semi_annual","ytd","ltm"],"default":"annual"}},{"name":"limit","in":"query","required":false,"description":"Maximum periods (most recent first)","schema":{"type":"integer","minimum":1,"maximum":200,"default":10}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}}],"responses":{"200":{"description":"Ratios computed from the standardized facts known at as_of, then valuation ratios (market cap, EV, P/E, P/S, P/B, EV/EBITDA, EV/EBIT, FCF and dividend yield) at the last IEX close on or before each period end; every cell's proof lists its inputs, the close first for valuation (docs/ratios.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/RatioGrid"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_covered","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Margins, returns, leverage, liquidity, growth and per-share ratios for each period, computed from the standardized facts. Each ratio carries the proof ids of its inputs, so it can be traced to the filing.\n\nExample: `GET https://api.financial.md/v1/company/ratios?company=ticker:AAPL&period_type=annual&limit=5`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/ratios?company=ticker:AAPL&period_type=annual&limit=5\""}]}},"/v1/company/ratios/daily/{ratio_id}":{"get":{"operationId":"ratios_daily","summary":"One ratio as a series over periods","x-price":{"usd":"0.005","currency":"USD","keyed_usd":"0.002"},"x-route-class":"metered","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["financials"],"parameters":[{"name":"ratio_id","in":"path","required":true,"description":"Ratio id from GET /v1/company/metrics?statement=ratios","schema":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,40}$","examples":["gross_margin","roe"]},"example":"gross_margin"},{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"period_type","in":"query","required":false,"description":"Period type","schema":{"type":"string","enum":["annual","quarterly","semi_annual","ytd","ltm"],"default":"annual"}},{"name":"limit","in":"query","required":false,"description":"Maximum periods (most recent first); sessions for a valuation ratio","schema":{"type":"integer","minimum":1,"maximum":200,"default":10}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"ticker","in":"query","required":false,"description":"Valuation ratios: the listing whose close is used","schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,8}([.\\-/][A-Za-z0-9]{1,4})?$","examples":["BRK-B"]}},{"name":"from","in":"query","required":false,"description":"Valuation ratios: first session, inclusive","schema":{"type":"string","format":"date","examples":["2024-01-02"]}},{"name":"to","in":"query","required":false,"description":"Valuation ratios: last session, inclusive","schema":{"type":"string","format":"date","examples":["2024-12-31"]}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"A fundamentals ratio: one point per fiscal period. A valuation ratio: one point per trading session with an IEX bar (period_type daily), each using the facts known that evening; it takes ticker, from, to, limit (default 250, at most 1,000) and cursor.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/RatioSeries"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company, not_covered or not_found (unknown ratio_id)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"One ratio as a series. Fundamental ratios have one point per fiscal period; valuation ratios (market cap, P/E, EV/EBITDA and others) have one point per trading session, pairing the IEX close with the facts known that evening.\n\nExample: `GET https://api.financial.md/v1/company/ratios/daily/gross_margin?company=ticker:AAPL&period_type=annual&limit=10`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/ratios/daily/gross_margin?company=ticker:AAPL&period_type=annual&limit=10\""}]}},"/v1/company/metrics":{"get":{"operationId":"metrics","summary":"Concept rows of the company's reporting template","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["financials"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"statement","in":"query","required":false,"description":"Only this statement; `ratios` lists the serve-time ratios with their formulas","schema":{"type":"string","enum":["income_statement","balance_sheet","cash_flow","supplemental","ratios"]}}],"responses":{"200":{"description":"Template concepts","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["template","concepts"],"properties":{"template":{"type":"string"},"concepts":{"type":"array","items":{"$ref":"#/components/schemas/ConceptRow"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"The concept ids, labels, display order and subtotal formulas of the company's template. Use the ids in `/v1/screen`, `/v1/verify` and to read statement rows. `statement=ratios` lists the ratio ids and formulas.\n\nExample: `GET https://api.financial.md/v1/company/metrics?company=ticker:AAPL&statement=income_statement`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/metrics?company=ticker:AAPL&statement=income_statement\""}]}},"/v1/company/filings":{"get":{"operationId":"company_filings","summary":"Filing index for a company","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["filings"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"form","in":"query","required":false,"description":"Form type, e.g. 10-K","schema":{"type":"string","maxLength":16,"examples":["10-K"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum filings","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Filings page, newest first","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/FilingSummary"}},"next_cursor":{"type":["string","null"]}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"A company's SEC filings, newest first, with accession number, form, period and filing date and an EDGAR link.\n\nExample: `GET https://api.financial.md/v1/company/filings?company=ticker:AAPL&form=10-K&limit=5`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/filings?company=ticker:AAPL&form=10-K&limit=5\""}]}},"/v1/filing/{accession}":{"get":{"operationId":"filing","summary":"One filing by accession number","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["filings"],"parameters":[{"name":"accession","in":"path","required":true,"description":"Accession number, e.g. 0000320193-24-000123","schema":{"type":"string","pattern":"^[A-Za-z0-9\\-]{1,40}$","examples":["0000320193-24-000123"]},"example":"0000320193-24-000123"}],"responses":{"200":{"description":"Filing","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"allOf":[{"$ref":"#/components/schemas/FilingSummary"},{"type":"object","properties":{"company":{"$ref":"#/components/schemas/CompanyRef"},"fact_count":{"type":"integer"}}}]},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"One filing by accession number: form, fiscal period, filing and acceptance times, primary document and EDGAR link.\n\nExample: `GET https://api.financial.md/v1/filing/0000320193-24-000123`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/filing/0000320193-24-000123\""}]}},"/v1/filing/{accession}/document":{"get":{"operationId":"filing_document","summary":"Links to a filing's documents on EDGAR, or with format=html the primary document itself","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["filings"],"parameters":[{"name":"accession","in":"path","required":true,"description":"Accession number","schema":{"type":"string","pattern":"^[A-Za-z0-9\\-]{1,40}$","examples":["0000320193-24-000123"]},"example":"0000320193-24-000123"},{"name":"format","in":"query","required":false,"description":"json: the links; html: the primary document as EDGAR serves it (relative links resolve to EDGAR)","schema":{"type":"string","enum":["json","html"],"default":"json"}}],"responses":{"200":{"description":"The filing's document links, or the primary document","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["accession","registry","form","filed","primary_doc","document_url","index_url","full_text_url","inline_xbrl_viewer_url","html_url","pdf"],"properties":{"accession":{"type":"string"},"registry":{"type":"string"},"form":{"type":"string"},"filed":{"type":"string","format":"date"},"primary_doc":{"type":["string","null"]},"document_url":{"type":"string"},"index_url":{"type":["string","null"]},"full_text_url":{"type":["string","null"]},"inline_xbrl_viewer_url":{"type":["string","null"]},"html_url":{"type":["string","null"]},"pdf":{"type":"object","required":["available","note"],"properties":{"available":{"type":"boolean"},"note":{"type":"string"}}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}},"text/html":{"schema":{"type":"string"}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Links to every document of a filing on EDGAR. `format=html` returns the primary document itself.\n\nExample: `GET https://api.financial.md/v1/filing/0000320193-24-000123/document`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/filing/0000320193-24-000123/document\""}]}},"/v1/filing/{accession}/facts":{"get":{"operationId":"filing_facts","summary":"Every mapped fact a filing tagged, grouped by statement, in one call","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["filings"],"parameters":[{"name":"accession","in":"path","required":true,"description":"Accession number","schema":{"type":"string","pattern":"^[A-Za-z0-9\\-]{1,40}$","examples":["0000320193-24-000123"]},"example":"0000320193-24-000123"},{"name":"statement","in":"query","required":false,"description":"Only this statement","schema":{"type":"string","enum":["income_statement","balance_sheet","cash_flow","supplemental"]}},{"name":"limit","in":"query","required":false,"description":"Maximum facts","schema":{"type":"integer","minimum":1,"maximum":5000,"default":2000}}],"responses":{"200":{"description":"The filing and the facts it tagged that map to a standardized concept, grouped by statement in display order. Tags without a mapping are not included.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/FilingFacts"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Every fact one filing tagged that maps to a statement concept, grouped by statement, in one call. Use it to read what a single 10-K or 10-Q said.\n\nExample: `GET https://api.financial.md/v1/filing/0000320193-24-000123/facts?statement=income_statement`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/filing/0000320193-24-000123/facts?statement=income_statement\""}]}},"/v1/company/ownership/insiders":{"get":{"operationId":"ownership_insiders","summary":"Insider transactions of a company from Forms 3, 4 and 5, newest first","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["ownership"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum transactions","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Transaction lines, newest transaction first. Holdings-only lines (Form 3) are not served.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InsiderTransaction"}},"next_cursor":{"type":["string","null"]}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Insider transactions from Forms 3, 4 and 5, newest first: who, role, transaction code, shares, price and the filing.\n\nExample: `GET https://api.financial.md/v1/company/ownership/insiders?company=ticker:AAPL&limit=20`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/ownership/insiders?company=ticker:AAPL&limit=20\""}]}},"/v1/company/ownership/institutional":{"get":{"operationId":"ownership_institutional","summary":"Institutional holders of a company from Form 13F, by quarter, with the change against the prior quarter","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["ownership"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"period","in":"query","required":false,"description":"Calendar quarter end the holdings are reported for","schema":{"type":"string","pattern":"^\\d{4}-(03-31|06-30|09-30|12-31)$","examples":["2026-06-30"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum positions","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Positions in the company's securities for one quarter end, largest value first. Without `period` the newest quarter whose 45-day filing window has closed is served.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"allOf":[{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InstitutionalPosition"}},"next_cursor":{"type":["string","null"]}}},{"type":"object","required":["period","periods"],"properties":{"period":{"type":["string","null"],"format":"date"},"periods":{"type":"array","items":{"type":"string","format":"date"}}}}]},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Form 13F managers that reported a position in the company for a quarter, with shares, value and the change against the prior quarter.\n\nExample: `GET https://api.financial.md/v1/company/ownership/institutional?company=ticker:AAPL&limit=20`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/ownership/institutional?company=ticker:AAPL&limit=20\""}]}},"/v1/ownership/institutional/holders":{"get":{"operationId":"institutional_holders","summary":"Form 13F managers with their newest filing; name search and cursor paging","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["ownership"],"parameters":[{"name":"q","in":"query","required":false,"description":"Manager name search (case-insensitive substring)","schema":{"type":"string","minLength":1,"maxLength":64,"examples":["Berkshire"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum managers","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Managers by name, each with its newest filing","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InstitutionalHolder"}},"next_cursor":{"type":["string","null"]}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Search Form 13F managers by name. Each has a CIK to pass to `/v1/ownership/institutional/holdings`.\n\nExample: `GET https://api.financial.md/v1/ownership/institutional/holders?q=Berkshire`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/ownership/institutional/holders?q=Berkshire\""}]}},"/v1/ownership/institutional/holdings":{"get":{"operationId":"institutional_holdings","summary":"One Form 13F manager's portfolio for a quarter","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["ownership"],"parameters":[{"name":"holder","in":"query","required":true,"description":"The manager's SEC CIK","schema":{"type":"string","pattern":"^(cik:)?\\d{1,10}$","examples":["cik:1067983"]}},{"name":"period","in":"query","required":false,"description":"Calendar quarter end the holdings are reported for","schema":{"type":"string","pattern":"^\\d{4}-(03-31|06-30|09-30|12-31)$","examples":["2026-06-30"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum positions","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"The manager's positions for one quarter end (default: its newest), largest value first","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"allOf":[{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InstitutionalPosition"}},"next_cursor":{"type":["string","null"]}}},{"type":"object","required":["holder","period","periods","filings"],"properties":{"holder":{"type":"object","required":["cik","name"],"properties":{"cik":{"type":"integer"},"name":{"type":"string"}}},"period":{"type":["string","null"],"format":"date"},"periods":{"type":"array","items":{"type":"string","format":"date"}},"filings":{"type":"array","items":{"$ref":"#/components/schemas/InstitutionalFilingSummary"}}}}]},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found: no 13F manager with this CIK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"One Form 13F manager's portfolio for a quarter, largest positions first.\n\nExample: `GET https://api.financial.md/v1/ownership/institutional/holdings?holder=cik:1067983&period=2026-06-30&limit=20`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/ownership/institutional/holdings?holder=cik:1067983&period=2026-06-30&limit=20\""}]}},"/v1/company/stock_prices":{"get":{"operationId":"stock_prices","summary":"Daily bars of a company's listing built from trades at IEX only: not the consolidated tape, not adjusted","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["prices"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"ticker","in":"query","required":false,"description":"One of the company's listings; default is the ticker named in `company`, else the primary listing with bars","schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,8}([.\\-/][A-Za-z0-9]{1,4})?$","examples":["BRK-B"]}},{"name":"from","in":"query","required":false,"description":"First session, inclusive","schema":{"type":"string","format":"date","examples":["2024-01-02"]}},{"name":"to","in":"query","required":false,"description":"Last session, inclusive","schema":{"type":"string","format":"date","examples":["2024-12-31"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum sessions","schema":{"type":"integer","minimum":1,"maximum":1000,"default":250}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}},{"name":"adjust","in":"query","required":false,"description":"splits: each bar also carries split_adjusted values (confirmed splits after the session only); total_return: also total_return values (split-adjusted times the dividend factors of every ex-date after the session)","schema":{"type":"string","enum":["none","splits","total_return"],"default":"none"}}],"responses":{"200":{"description":"Daily bars, newest session first. Built from trades executed at IEX only: a small share of consolidated volume, not the official closing price, not adjusted for splits or dividends. `meta.attribution` carries the citation IEX requires.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/StockPrices"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company, or not_found when `ticker` is not one of the company's listings","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Daily bars built from trades at IEX only. This is not the consolidated tape and the close is not the official close. `adjust=splits` adds split-adjusted values; `adjust=total_return` adds dividend-reinvested values.\n\nExample: `GET https://api.financial.md/v1/company/stock_prices?company=ticker:AAPL&from=2026-10-01&to=2026-10-31`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/stock_prices?company=ticker:AAPL&from=2026-10-01&to=2026-10-31\""}]}},"/v1/company/splits":{"get":{"operationId":"company_splits","summary":"Stock splits as filed in XBRL, with whether IEX prices confirm them","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}}],"responses":{"200":{"description":"Stock splits as filed in XBRL, with whether IEX prices confirm them. Every number is a value object with its proof (docs/data-contracts.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Stock splits as filed in XBRL, each with whether IEX prices confirm it.\n\nExample: `GET https://api.financial.md/v1/company/splits?company=ticker:AAPL`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/splits?company=ticker:AAPL\""}]}},"/v1/company/dividends":{"get":{"operationId":"company_dividends","summary":"Dividends per share declared or paid in each period, as filed","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"kind","in":"query","required":false,"description":"Only declared or only paid","schema":{"type":"string","enum":["declared","paid"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum periods","schema":{"type":"integer","minimum":1,"maximum":400,"default":40}}],"responses":{"200":{"description":"Dividends per share declared or paid in each period, as filed. Every number is a value object with its proof (docs/data-contracts.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Dividends per share declared or paid in each fiscal period, as filed, with proof.\n\nExample: `GET https://api.financial.md/v1/company/dividends?company=ticker:AAPL&limit=8`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/dividends?company=ticker:AAPL&limit=8\""}]}},"/v1/events_calendar":{"get":{"operationId":"events_calendar","summary":"Earnings releases (8-K Item 2.02 filed) and model-expected dates, for one company or all","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":false,"description":"Optional: one company","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$"}},{"name":"from","in":"query","required":false,"description":"First date, inclusive","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Last date, inclusive","schema":{"type":"string","format":"date"}},{"name":"confidence","in":"query","required":false,"description":"confirmed: 8-K Item 2.02 filed; predicted: cadence model","schema":{"type":"string","enum":["confirmed","predicted"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum events","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Earnings releases (8-K Item 2.02 filed) and model-expected dates, for one company or all. Every number is a value object with its proof (docs/data-contracts.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Earnings releases (8-K Item 2.02 filed) and model-expected report dates, for one company or for every company in a date range.\n\nExample: `GET https://api.financial.md/v1/events_calendar?company=ticker:AAPL`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/events_calendar?company=ticker:AAPL\""}]}},"/v1/company/events":{"get":{"operationId":"company_events","summary":"8-K items a company filed: a filing-based event feed","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"event_type","in":"query","required":false,"description":"Only items of this type","schema":{"type":"string","pattern":"^[a-z_]{2,40}$","examples":["earnings","leadership_change"]}},{"name":"importance_min","in":"query","required":false,"description":"Only filings whose highest item is at least this important","schema":{"type":"integer","minimum":1,"maximum":5,"default":1}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum items","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"8-K items a company filed: a filing-based event feed. Every number is a value object with its proof (docs/data-contracts.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"A company's 8-K filings with the items they report (earnings, leadership changes, agreements and others), newest first.\n\nExample: `GET https://api.financial.md/v1/company/events?company=ticker:AAPL&limit=10`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/events?company=ticker:AAPL&limit=10\""}]}},"/v1/news":{"get":{"operationId":"news","summary":"News from 8-K filings across all companies, newest first, with event type and importance per item (not wire news)","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":false,"description":"Optional: one company","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"event_type","in":"query","required":false,"description":"Only filings with an item of this type","schema":{"type":"string","pattern":"^[a-z_]{2,40}$","examples":["earnings","restatement","leadership_change"]}},{"name":"importance_min","in":"query","required":false,"description":"Only filings whose highest item is at least this important (FinancialMD's rule by 8-K item; see note)","schema":{"type":"integer","minimum":1,"maximum":5,"default":1}},{"name":"from","in":"query","required":false,"description":"Accepted on or after this date (UTC)","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Accepted on or before this date (UTC)","schema":{"type":"string","format":"date"}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum filings","schema":{"type":"integer","minimum":1,"maximum":200,"default":50}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"8-K filings across all companies, newest first, one item per filing with its items, event types and importance. Built from EDGAR's own item list; not wire news.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"type":"object","required":["company","accession","form","filed","accepted_at","importance","headline","event_types","items","source_url"],"properties":{"company":{"type":"object"},"accession":{"type":"string"},"form":{"type":"string"},"filed":{"type":"string","format":"date"},"accepted_at":{"type":"string","format":"date-time"},"report_date":{"type":["string","null"],"format":"date"},"importance":{"type":"integer","minimum":1,"maximum":5},"headline":{"type":"string"},"event_types":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object"}},"source_url":{"type":"string"}}}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"8-K filings across every company, newest first, each with its items, event types, a headline and an importance from 1 to 5 (FinancialMD's rule by item number). importance_min=4 gives the top stories: earnings, M&A, impairments, auditor changes, restatements, bankruptcies. Built from EDGAR, not wire news.\n\nExample: `GET https://api.financial.md/v1/news?importance_min=4&limit=20`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/news?importance_min=4&limit=20\""}]}},"/v1/search/filings":{"get":{"operationId":"search_filings","summary":"Keyword search across EDGAR documents since 2001, through SEC EDGAR full-text search","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["filings"],"parameters":[{"name":"q","in":"query","required":true,"description":"Words to find; a phrase in double quotes matches exactly","schema":{"type":"string","minLength":2,"maxLength":200,"examples":["\"supply chain\" tariffs","going concern"]}},{"name":"forms","in":"query","required":false,"description":"Comma-separated form types","schema":{"type":"string","pattern":"^[A-Za-z0-9/\\- ]{1,20}(,[A-Za-z0-9/\\- ]{1,20}){0,9}$","examples":["10-K","10-K,10-Q,8-K"]}},{"name":"company","in":"query","required":false,"description":"Optional: only this company's documents","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"from","in":"query","required":false,"description":"Filed on or after","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Filed on or before","schema":{"type":"string","format":"date"}},{"name":"page","in":"query","required":false,"description":"Page number, 1-based","schema":{"type":"integer","minimum":1,"maximum":100,"default":1}},{"name":"limit","in":"query","required":false,"description":"Maximum documents per page","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}],"responses":{"200":{"description":"Documents that contain the words, best match first, from SEC EDGAR full-text search (filings since 2001). Each names its filing and the companies on it, with FinancialMD ids where known.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["total","items","next_page","source"],"properties":{"total":{"type":"integer"},"total_relation":{"type":"string","enum":["eq","gte"]},"items":{"type":"array","items":{"type":"object","required":["accession","form","filed","companies","document_url","index_url"],"properties":{"accession":{"type":"string"},"form":{"type":"string"},"file_type":{"type":["string","null"]},"file_description":{"type":["string","null"]},"filed":{"type":"string","format":"date"},"period_ending":{"type":["string","null"],"format":"date"},"companies":{"type":"array","items":{"type":"object"}},"document_url":{"type":"string"},"index_url":{"type":"string"}}}},"next_page":{"type":["integer","null"]},"source":{"type":"object"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company when company= names no company, or not_covered when it has no SEC CIK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable: EDGAR full-text search did not answer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Find the EDGAR documents (filings and exhibits since 2001) that contain words or a quoted phrase, through SEC EDGAR full-text search. Each hit names its filing, form, date and companies with FinancialMD ids, and links the document.\n\nExample: `GET https://api.financial.md/v1/search/filings?q=%22going%20concern%22&forms=10-K&limit=10`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/search/filings?q=%22going%20concern%22&forms=10-K&limit=10\""}]}},"/v1/coverage":{"get":{"operationId":"coverage","summary":"Every dataset FinancialMD serves, and those it does not (licensed, not built, or waiting on a decision) with alternatives","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["directory"],"parameters":[{"name":"status","in":"query","required":false,"description":"Only datasets with this status","schema":{"type":"string","enum":["served","conceded","not_built","founder_decision"]}}],"responses":{"200":{"description":"Every dataset with its status, routes, MCP tools, the reason when it is not served, and alternatives","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["datasets"],"properties":{"datasets":{"type":"array","items":{"type":"object","required":["id","name","status","routes","mcp_tools","reason","licence","alternatives"]}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Which datasets FinancialMD serves and which it does not (licensed, not built, or waiting on a decision), with the routes, MCP tools, reason and alternatives for each. Read it before looking for consensus estimates, transcripts or real-time prices.\n\nExample: `GET https://api.financial.md/v1/coverage?status=conceded`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/coverage?status=conceded\""}]}},"/v1/company/segments":{"get":{"operationId":"company_segments","summary":"As-reported segment facts (business, geography, product) from the SEC Financial Statement Data Sets","x-price":{"usd":"0.05","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"period_type","in":"query","required":false,"description":"Annual (four quarters) or quarterly facts","schema":{"type":"string","enum":["annual","quarterly"],"default":"annual"}},{"name":"kind","in":"query","required":false,"description":"Segment axis kind","schema":{"type":"string","enum":["business","geography","product","mixed"]}},{"name":"tag","in":"query","required":false,"description":"Only this XBRL tag","schema":{"type":"string","pattern":"^[A-Za-z0-9_]{2,200}$","examples":["Revenues"]}},{"name":"limit","in":"query","required":false,"description":"Maximum period ends","schema":{"type":"integer","minimum":1,"maximum":20,"default":4}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}}],"responses":{"200":{"description":"As-reported segment facts with the filer's exact periods. Every value has its proof (docs/data-contracts.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["period_type","items","next_cursor"],"properties":{"period_type":{"type":"string"},"next_cursor":{"type":"null"},"note":{"type":"string"},"items":{"type":"array","items":{"type":"object","required":["tag","taxonomy","kind","member","dims","period_start","period_end","period_exact","fsds_period_end","qtrs","value"],"properties":{"tag":{"type":"string"},"taxonomy":{"type":"string"},"kind":{"type":"string","enum":["business","geography","product","mixed"]},"member":{"type":["string","null"]},"dims":{"type":"object","additionalProperties":{"type":"string"}},"period_start":{"type":["string","null"],"format":"date","description":"The filer's period start, from the same filing's XBRL"},"period_end":{"type":"string","format":"date","description":"The filer's period end (exact when period_exact)"},"period_exact":{"type":"boolean"},"fsds_period_end":{"type":"string","format":"date","description":"The data set's date, rounded to a month end"},"qtrs":{"type":"integer"},"value":{"$ref":"#/components/schemas/ValueObject"}}}}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"As-reported segment facts: revenue and other lines by business segment, geography or product.\n\nExample: `GET https://api.financial.md/v1/company/segments?company=ticker:AAPL&kind=geography`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/segments?company=ticker:AAPL&kind=geography\""}]}},"/v1/company/ownership/insider_holders":{"get":{"operationId":"insider_holders","summary":"What each insider owned after their latest Form 4 or 5 transaction","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum holders","schema":{"type":"integer","minimum":1,"maximum":500,"default":100}}],"responses":{"200":{"description":"What each insider owned after their latest Form 4 or 5 transaction. Every number is a value object with its proof (docs/data-contracts.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"What each insider owned after their latest Form 4 or 5 transaction.\n\nExample: `GET https://api.financial.md/v1/company/ownership/insider_holders?company=ticker:AAPL`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/ownership/insider_holders?company=ticker:AAPL\""}]}},"/v1/company/ownership/funds":{"get":{"operationId":"fund_holders","summary":"Funds holding the company in their latest Form N-PORT","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"period","in":"query","required":false,"description":"Report period window ending on or before this date (default: the newest)","schema":{"type":"string","format":"date"}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum funds","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Funds holding the company in their latest Form N-PORT. Every number is a value object with its proof (docs/data-contracts.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Funds holding the company in their latest Form N-PORT, with shares and value.\n\nExample: `GET https://api.financial.md/v1/company/ownership/funds?company=ticker:AAPL&limit=20`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/ownership/funds?company=ticker:AAPL&limit=20\""}]}},"/v1/funds":{"get":{"operationId":"funds","summary":"Form N-PORT funds (series) with their latest report; name search","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"q","in":"query","required":false,"description":"Fund or registrant name, or a series id","schema":{"type":"string","minLength":2,"maxLength":80,"examples":["Vanguard 500"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum funds","schema":{"type":"integer","minimum":1,"maximum":200,"default":25}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Form N-PORT funds (series) with their latest report; name search. Every number is a value object with its proof (docs/data-contracts.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Search Form N-PORT funds by name or series id. Each has a series id to pass to `/v1/fund/holdings` and `/v1/fund/profile`.\n\nExample: `GET https://api.financial.md/v1/funds?q=Vanguard%20500`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/funds?q=Vanguard%20500\""}]}},"/v1/fund/holdings":{"get":{"operationId":"fund_holdings","summary":"One fund's Form N-PORT holdings for a report period","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"fund","in":"query","required":true,"description":"SEC series id","schema":{"type":"string","pattern":"^[Ss]\\d{9}$","examples":["S000002277"]}},{"name":"period","in":"query","required":false,"description":"Report period (month end); default the newest","schema":{"type":"string","format":"date"}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum holdings","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"One fund's Form N-PORT holdings for a report period. Every number is a value object with its proof (docs/data-contracts.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"One fund's Form N-PORT holdings for a report period, largest first.\n\nExample: `GET https://api.financial.md/v1/fund/holdings?fund=S000002839&limit=20`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/fund/holdings?fund=S000002839&limit=20\""}]}},"/v1/company/kpis":{"get":{"operationId":"company_kpis","summary":"Company-reported metrics (adjusted non-GAAP measures and operating KPIs) read from earnings releases and reports, each with its exact citation","x-price":{"usd":"0.05","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"metric","in":"query","required":false,"description":"Only this metric slug (data.metrics lists the company's)","schema":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,80}$","examples":["adjusted_ebitda","apple_iphone_net_sales"]}},{"name":"kind","in":"query","required":false,"description":"adjusted: non-GAAP measures under the company's own definition; operating: operating statistics","schema":{"type":"string","enum":["adjusted","operating"]}},{"name":"period_type","in":"query","required":false,"description":"Only this period type","schema":{"type":"string","enum":["annual","quarterly","point"]}},{"name":"from","in":"query","required":false,"description":"First period end, inclusive","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Last period end, inclusive","schema":{"type":"string","format":"date"}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum values","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Published company-reported values known at as_of, newest period first. Withheld values (value_conflict, unit_conflict) are never served; data.withheld counts them.","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor","metrics","withheld"],"properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"metrics":{"type":"array","items":{"type":"object"}},"withheld":{"type":"integer"},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Company-reported metrics read from earnings releases and reports: adjusted (non-GAAP) measures and operating statistics such as product-line sales. Each value carries its exact citation and a confidence.\n\nExample: `GET https://api.financial.md/v1/company/kpis?company=ticker:AAPL&kind=operating&limit=20`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/kpis?company=ticker:AAPL&kind=operating&limit=20\""}]}},"/v1/company/dividend_events":{"get":{"operationId":"dividend_events","summary":"Cash dividends with declaration, record, ex and pay dates as the company's filings state them, each with how it was captured and the citation","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"from","in":"query","required":false,"description":"First date, inclusive","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Last date, inclusive","schema":{"type":"string","format":"date"}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum dividends","schema":{"type":"integer","minimum":1,"maximum":500,"default":40}}],"responses":{"200":{"description":"Cash dividends with declaration, record, ex and pay dates as filed, the method that captured each and the citation","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Cash dividends with declaration, record, ex and pay dates as the company's filings state them. A missing ex-date is never inferred.\n\nExample: `GET https://api.financial.md/v1/company/dividend_events?company=ticker:AAPL&limit=8`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/dividend_events?company=ticker:AAPL&limit=8\""}]}},"/v1/company/ownership/insider_holdings":{"get":{"operationId":"insider_holdings","summary":"Holding lines of Forms 3, 4 and 5 as filed (a Form 3 initial statement is only these)","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"form","in":"query","required":false,"description":"Only lines of this form","schema":{"type":"string","enum":["3","4","5","3/A","4/A","5/A"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum lines","schema":{"type":"integer","minimum":1,"maximum":500,"default":100}}],"responses":{"200":{"description":"Holding lines of Forms 3, 4 and 5 as filed (a Form 3 is only these)","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Holding lines of Forms 3, 4 and 5 as filed.\n\nExample: `GET https://api.financial.md/v1/company/ownership/insider_holdings?company=ticker:AAPL&limit=20`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/ownership/insider_holdings?company=ticker:AAPL&limit=20\""}]}},"/v1/fund/profile":{"get":{"operationId":"fund_profile","summary":"A fund's type and ETF flag from Form N-CEN, and each share class's prospectus fees and expense ratio","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"fund","in":"query","required":true,"description":"Series id or share-class ticker","schema":{"type":"string","pattern":"^[A-Za-z0-9.\\-]{1,12}$","examples":["S000002839","VOO"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}}],"responses":{"200":{"description":"A fund's kind and latest N-CEN census answers, and every share class with its prospectus fee table","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["fund","census","classes"],"properties":{"fund":{"type":"object"},"matched_class":{"type":["string","null"]},"census":{"type":["object","null"]},"classes":{"type":"array","items":{"type":"object"}},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"A fund's type (ETF, index fund and others) from Form N-CEN and each share class's prospectus fees and expense ratio. Accepts a series id or a share-class ticker.\n\nExample: `GET https://api.financial.md/v1/fund/profile?fund=VOO`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/fund/profile?fund=VOO\""}]}},"/v1/company/identifiers":{"get":{"operationId":"company_identifiers","summary":"LEI and FIGI identifiers of a company with their evidence","x-price":{"usd":"0","currency":"USD"},"x-route-class":"filing_layer","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["datasets"],"parameters":[{"name":"company","in":"query","required":true,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}}],"responses":{"200":{"description":"LEI and FIGI identifiers of a company with their evidence. Every number is a value object with its proof (docs/data-contracts.md).","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":["string","null"]},"note":{"type":"string"}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"CIK, LEI and FIGI of a company with the evidence for each.\n\nExample: `GET https://api.financial.md/v1/company/identifiers?company=ticker:AAPL`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/identifiers?company=ticker:AAPL\""}]}},"/v1/screen":{"get":{"operationId":"screen","summary":"Screen every covered company on latest-period metrics with range filters, sorting and paging","x-price":{"usd":"0.05","currency":"USD"},"x-route-class":"metered","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["screen"],"parameters":[{"name":"status","in":"query","required":false,"description":"Listing status of the companies screened: active (default), delisted, inactive or all","schema":{"type":"string","enum":["active","delisted","inactive","all"],"default":"active"}},{"name":"metrics","in":"query","required":false,"description":"Comma-separated columns: concept ids (GET /v1/company/metrics) or ratio ids. Up to 12. Defaults to revenue, net income, the three margins, revenue growth and return on equity.","schema":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,80}(,[a-z][a-z0-9_]{1,80}){0,11}$","examples":["income_statement_total_revenues,net_margin,roe"]}},{"name":"filter","in":"query","required":false,"description":"Comma-separated range filters `metric:min:max`; either bound may be empty. Values are raw: 0.1 is 10 percent, amounts are in the reporting currency. A company without a value for a filtered metric does not match.","schema":{"type":"string","maxLength":1200,"examples":["net_margin:0.1:,income_statement_total_revenues:1000000000:"]}},{"name":"sort","in":"query","required":false,"description":"`<metric|name|ticker>[:asc|:desc]`; companies without a value sort last. Default name:asc.","schema":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,80}(:(asc|desc))?$","examples":["net_margin:desc","name"]}},{"name":"period_type","in":"query","required":false,"description":"The period type whose latest period is screened","schema":{"type":"string","enum":["annual","quarterly","ltm"],"default":"annual"}},{"name":"q","in":"query","required":false,"description":"Name or ticker search (names as substring, tickers as prefix)","schema":{"type":"string","minLength":1,"maxLength":64}},{"name":"sector","in":"query","required":false,"description":"Exact sector (case-insensitive)","schema":{"type":"string","minLength":1,"maxLength":80}},{"name":"industry","in":"query","required":false,"description":"Exact industry (case-insensitive)","schema":{"type":"string","minLength":1,"maxLength":120}},{"name":"template","in":"query","required":false,"description":"Reporting template","schema":{"type":"string","enum":["standard","financials","insurance","real_estate","utilities","capital_markets"]}},{"name":"country","in":"query","required":false,"description":"ISO 3166-1 alpha-2","schema":{"type":"string","minLength":2,"maxLength":2}},{"name":"as_of","in":"query","required":false,"description":"Point in time: a date (YYYY-MM-DD, end of day UTC) or ISO timestamp. Answers what was known then.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2024-06-30","2024-11-01T18:01:14Z"]}},{"name":"limit","in":"query","required":false,"description":"Maximum companies per page","schema":{"type":"integer","minimum":1,"maximum":200,"default":50}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"A page of companies, each with its latest period and one value object (with proof) per metric","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ScreenResult"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_concept: a metric id that is neither a concept nor a ratio","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Screen every covered company on its latest period. `filter` takes `metric:min:max` ranges with raw values (0.2 is 20 percent), `sort` takes `metric:desc`. Each result carries one value object with proof per metric.\n\nExample: `GET https://api.financial.md/v1/screen?filter=net_margin:0.2:,income_statement_total_revenues:10000000000:&sort=net_margin:desc&limit=20`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/screen?filter=net_margin:0.2:,income_statement_total_revenues:10000000000:&sort=net_margin:desc&limit=20\""}]}},"/v1/company/estimates":{"get":{"operationId":"not_covered_estimates","summary":"Not covered: consensus estimates are licensed; answers 404 not_covered with alternatives","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["not_covered"],"description":"Always 404 not_covered: consensus estimates are licensed data FinancialMD does not carry. error.details names the reason and what to use instead; do not retry.\n\nExample: `GET https://api.financial.md/v1/company/estimates?company=ticker:AAPL`","parameters":[],"responses":{"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_covered: this dataset is not served; details name the reason and the alternatives","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/estimates?company=ticker:AAPL\""}]}},"/v1/company/analyst_ratings":{"get":{"operationId":"not_covered_analyst_ratings","summary":"Not covered: analyst ratings and price targets are licensed; answers 404 not_covered","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["not_covered"],"description":"Always 404 not_covered: analyst ratings and price targets are licensed. error.details names the reason and what to use instead; do not retry.\n\nExample: `GET https://api.financial.md/v1/company/analyst_ratings?company=ticker:AAPL`","parameters":[],"responses":{"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_covered: this dataset is not served; details name the reason and the alternatives","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/analyst_ratings?company=ticker:AAPL\""}]}},"/v1/company/transcripts":{"get":{"operationId":"not_covered_transcripts","summary":"Not covered: call transcripts and audio are licensed; answers 404 not_covered with alternatives","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["not_covered"],"description":"Always 404 not_covered: call transcripts and audio are licensed. error.details names the reason and what to use instead; do not retry.\n\nExample: `GET https://api.financial.md/v1/company/transcripts?company=ticker:AAPL`","parameters":[],"responses":{"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_covered: this dataset is not served; details name the reason and the alternatives","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/transcripts?company=ticker:AAPL\""}]}},"/v1/company/stock_prices/intraday":{"get":{"operationId":"not_covered_intraday","summary":"Not covered: real-time and intraday prices are licensed; answers 404 not_covered","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["not_covered"],"description":"Always 404 not_covered: real-time and intraday prices are licensed; daily IEX bars are at /v1/company/stock_prices. error.details names the reason and what to use instead; do not retry.\n\nExample: `GET https://api.financial.md/v1/company/stock_prices/intraday?company=ticker:AAPL`","parameters":[],"responses":{"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_covered: this dataset is not served; details name the reason and the alternatives","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/stock_prices/intraday?company=ticker:AAPL\""}]}},"/v1/company/logo":{"get":{"operationId":"not_covered_logo","summary":"Not covered: logos wait on a trademark review; answers 404 not_covered","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["not_covered"],"description":"Always 404 not_covered: logos wait on a trademark review. error.details names the reason and what to use instead; do not retry.\n\nExample: `GET https://api.financial.md/v1/company/logo?company=ticker:AAPL`","parameters":[],"responses":{"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_covered: this dataset is not served; details name the reason and the alternatives","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/company/logo?company=ticker:AAPL\""}]}},"/v1/politician_trades":{"get":{"operationId":"not_covered_politician_trades","summary":"Not covered: politician trades wait on a legal review; answers 404 not_covered","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["not_covered"],"description":"Always 404 not_covered: politician trades wait on a legal review. error.details names the reason and what to use instead; do not retry.\n\nExample: `GET https://api.financial.md/v1/politician_trades`","parameters":[],"responses":{"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_covered: this dataset is not served; details name the reason and the alternatives","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/politician_trades\""}]}},"/v1/fund_letters":{"get":{"operationId":"not_covered_fund_letters","summary":"Not covered: fund letters are not built; answers 404 not_covered","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["not_covered"],"description":"Always 404 not_covered: fund letters are not built. error.details names the reason and what to use instead; do not retry.\n\nExample: `GET https://api.financial.md/v1/fund_letters`","parameters":[],"responses":{"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_covered: this dataset is not served; details name the reason and the alternatives","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/fund_letters\""}]}},"/proof/{id}":{"get":{"operationId":"proof","summary":"Proof for a served value and the raw facts behind it","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["proof"],"parameters":[{"name":"id","in":"path","required":true,"description":"Proof id from any value object","schema":{"type":"string","pattern":"^p_[0-9a-z]+$","examples":["p_edt68ehn6cw3ed0"]},"example":"p_edt68ehn6cw3ed0"}],"responses":{"200":{"description":"Proof and the raw facts behind it","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ProofDetail"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"The proof behind any value: the filing, the XBRL tag and dimensions, the source URL and the raw as-reported facts it derives from.\n\nExample: `GET https://api.financial.md/proof/p_edt68ehn6cw3ed0`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/proof/p_edt68ehn6cw3ed0\""}]}},"/v1/verify":{"post":{"operationId":"verify","summary":"Check a number against the filed value","x-price":{"usd":"0.02","currency":"USD"},"x-route-class":"metered","x-scope":"verify","security":[{},{"apiKey":[]}],"tags":["verify"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"},"example":{"company":"ticker:AAPL","concept":"income_statement_total_revenues","period":"FY2024","value":391035000000}}}},"responses":{"200":{"description":"Verdict","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/VerifyResult"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company or unknown_concept","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Check a number you got elsewhere against what the company filed. Returns `verdict` (matches, differs or unknown), the filed value with proof, the difference, the tolerance from the filer's precision, and a `scale_hint` when your number is off by a power of ten.\n\nExample: `POST https://api.financial.md/v1/verify` with body `{\"company\":\"ticker:AAPL\",\"concept\":\"income_statement_total_revenues\",\"period\":\"FY2024\",\"value\":391035000000}`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl -X POST \"https://api.financial.md/v1/verify\" -H \"content-type: application/json\" -d '{\"company\":\"ticker:AAPL\",\"concept\":\"income_statement_total_revenues\",\"period\":\"FY2024\",\"value\":391035000000}'"}]}},"/v1/changes":{"get":{"operationId":"changes","summary":"Standardized facts whose knowledge interval opened since a time","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["changes"],"parameters":[{"name":"since","in":"query","required":true,"description":"Facts whose knowledge interval opened at or after this instant","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","examples":["2026-11-01T00:00:00Z"]}},{"name":"company","in":"query","required":false,"description":"Company as fmd_<id>, cik:<number>, ticker:<symbol>[.<mic>]; a bare symbol means ticker, bare digits mean cik","schema":{"type":"string","pattern":"^(fmd_[0-9A-Za-z]{10,32}|cik:\\d{1,10}|\\d{1,10}|(ticker:)?[A-Za-z][A-Za-z0-9.\\-/]{0,15}(\\.[A-Za-z0-9]{4})?)$","examples":["ticker:AAPL","AAPL","cik:320193","320193"]}},{"name":"limit","in":"query","required":false,"description":"Maximum changes","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from meta.next_cursor","schema":{"type":"string"}}],"responses":{"200":{"description":"Changes page, oldest first","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["items","next_cursor"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ChangeItem"}},"next_cursor":{"type":["string","null"]}}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown_company when company= is given","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Standardized facts whose knowledge interval opened since a time: new filings and restatements. Poll it to keep a local copy current.\n\nExample: `GET https://api.financial.md/v1/changes?since=2026-11-01T00:00:00Z&company=ticker:AAPL&limit=50`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/changes?since=2026-11-01T00:00:00Z&company=ticker:AAPL&limit=50\""}]}},"/v1/request-data":{"get":{"operationId":"request_data_usage","summary":"How to tell us what data you needed and did not find (the body POST /v1/request-data takes)","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"tags":["feedback"],"parameters":[],"responses":{"200":{"description":"How to send a data request","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/DataRequestUsage"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"How to tell us about data or analysis you needed and did not find: the body POST /v1/request-data takes, the kinds, the limits and how to follow a request.\n\nExample: `GET https://api.financial.md/v1/request-data`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/request-data\""}]},"post":{"operationId":"request_data","summary":"Tell us what data you needed and did not find; free, keyless, never charged","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{},{"apiKey":[]}],"tags":["feedback"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataRequest"},"example":{"kind":"dataset","want":"Quarterly order backlog by segment","why":"Modeling revenue visibility","company":"ticker:BA","endpoint_or_tool":"/v1/company/kpis"}}}},"responses":{"201":{"description":"Stored; reviewed weekly","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/DataRequestReceipt"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited: too many requests from this address today, or the daily total is reached; Retry-After says when to try again","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Tell us what you needed and did not find. Free, keyless, never charged. Similar requests merge into one demand item and count as votes; the answer has request_id, item_id, status and the vote counts. Do not include personal data.\n\nExample: `POST https://api.financial.md/v1/request-data` with body `{\"kind\":\"dataset\",\"want\":\"Quarterly order backlog by segment\",\"why\":\"Modeling revenue visibility\",\"company\":\"ticker:BA\",\"endpoint_or_tool\":\"/v1/company/kpis\"}`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl -X POST \"https://api.financial.md/v1/request-data\" -H \"content-type: application/json\" -d '{\"kind\":\"dataset\",\"want\":\"Quarterly order backlog by segment\",\"why\":\"Modeling revenue visibility\",\"company\":\"ticker:BA\",\"endpoint_or_tool\":\"/v1/company/kpis\"}'"}]}},"/v1/request-data/{id}":{"get":{"operationId":"request_data_status","summary":"Status of a data request (new, triaged, planned, done, wontfix), its public note and, once done, where it is served","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"tags":["feedback"],"parameters":[{"name":"id","in":"path","required":true,"description":"The request_id POST /v1/request-data returned, or a demand item id","schema":{"type":"string","format":"uuid","examples":["0b8f6a52-6f0e-4a8e-9a43-3c0f6b2d1e11"]},"example":"0b8f6a52-6f0e-4a8e-9a43-3c0f6b2d1e11"}],"responses":{"200":{"description":"Status of the demand item the request belongs to","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/DataRequestStatus"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found: no request or item with this id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Follow a request by the request_id POST /v1/request-data returned: new, triaged, planned, done (with served_by, the endpoint or tool) or wontfix (with a public note), and the vote counts.\n\nExample: `GET https://api.financial.md/v1/request-data/0b8f6a52-6f0e-4a8e-9a43-3c0f6b2d1e11`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/request-data/0b8f6a52-6f0e-4a8e-9a43-3c0f6b2d1e11\""}]}},"/v1/requested":{"get":{"operationId":"requested","summary":"Requested and shipped: the reviewed demand items with their status and vote counts, aggregate only","x-price":{"usd":"0","currency":"USD"},"x-route-class":"discovery","x-scope":"read","security":[],"tags":["feedback"],"parameters":[],"responses":{"200":{"description":"Requested and shipped, aggregate only","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/RequestedBoard"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"unauthorized: missing, revoked or malformed API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"payment_required on agent.financial.md for priced routes. When per-call payment is switched on, the PAYMENT-REQUIRED header carries the x402 v2 requirements; the body always names the keyless alternative on api.financial.md","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited; Retry-After and RateLimit-* headers tell when to retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Requested and shipped: the reviewed demand items with status, public note, served_by and vote counts, and counts per status. Aggregate only, no submitter details.\n\nExample: `GET https://api.financial.md/v1/requested`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/requested\""}]}},"/v1/me":{"get":{"operationId":"me","summary":"The caller's principal, plan and limits (API key required)","x-price":{"usd":"0","currency":"USD"},"x-route-class":"metadata","x-scope":"read","security":[{"apiKey":[]}],"tags":["account"],"parameters":[],"responses":{"200":{"description":"Principal, plan and the keyed limits (10000 metadata, 250 metered a day)","headers":{"X-Request-Id":{"schema":{"type":"string"},"description":"Also meta.request_id"},"X-Pipeline-Version":{"schema":{"type":"string"}},"X-As-Of":{"schema":{"type":"string"},"description":"Knowledge time the answer was computed at"},"RateLimit-Limit":{"schema":{"type":"integer"}},"RateLimit-Remaining":{"schema":{"type":"integer"}},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the bucket refills"},"RateLimit-Policy":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}},"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Me"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"description":"unauthorized: no bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"upstream_unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"For a keyed caller: principal, plan and remaining limits. Needs an API key; keys are not issued publicly yet.\n\nExample: `GET https://api.financial.md/v1/me`","x-codeSamples":[{"lang":"Shell","label":"curl","source":"curl \"https://api.financial.md/v1/me\""}]}}},"components":{"schemas":{"Period":{"type":"object","required":["start","end","type","fiscal_year","fiscal_period"],"properties":{"start":{"type":"string","format":"date"},"end":{"type":"string","format":"date"},"type":{"type":"string","enum":["annual","quarterly","semi_annual","ytd","ltm","daily"],"description":"`daily` is one trading session; the others are fiscal periods"},"fiscal_year":{"type":["integer","null"]},"fiscal_period":{"type":["string","null"],"description":"FY, Q1..Q4, H1, H2"}}},"Known":{"type":"object","description":"Knowledge interval: when this version was the current truth. `to` is null for the current version.","required":["from","to"],"properties":{"from":{"type":"string","format":"date-time"},"to":{"type":["string","null"],"format":"date-time"}}},"Proof":{"type":"object","required":["id","accession","form","filed","taxonomy","tag","dims","source_url","page","anchor"],"properties":{"id":{"type":"string","description":"Stable proof id; resolve at GET /proof/{id}","examples":["p_edtq6wv3c5t62"]},"accession":{"type":"string"},"form":{"type":"string"},"filed":{"type":"string","format":"date"},"taxonomy":{"type":["string","null"]},"tag":{"type":["string","null"]},"dims":{"type":["object","null"],"additionalProperties":{"type":"string"}},"source_url":{"type":"string","format":"uri"},"page":{"type":["integer","null"]},"anchor":{"type":["string","null"]},"inputs":{"type":"array","items":{"type":"string"},"description":"For derived values: proof ids of the inputs (a ratio's standardized values or a valuation's close first; a derived standardized value's as-reported facts)"},"input_weights":{"type":"array","items":{"type":"number"},"description":"For a derived standardized value: the net weight of each input fact (Q4 = FY - Q1 - Q2 - Q3)"}}},"ValueObject":{"type":"object","description":"Every number is one of these. Never a bare number.","required":["value","unit","currency","decimals","period","known","restated","method","calc_type","proof"],"properties":{"value":{"type":["number","null"]},"unit":{"type":"string"},"currency":{"type":["string","null"]},"decimals":{"type":["integer","null"],"description":"XBRL decimals of the underlying fact; -6 means millions"},"period":{"$ref":"#/components/schemas/Period"},"known":{"$ref":"#/components/schemas/Known"},"restated":{"type":"boolean"},"restatement_kind":{"type":["string","null"]},"method":{"type":"string"},"calc_type":{"type":"string"},"proof":{"$ref":"#/components/schemas/Proof"}}},"CompanyRef":{"type":"object","required":["fmd_id","cik","name","matched_by"],"properties":{"fmd_id":{"type":"string"},"cik":{"type":["integer","null"]},"name":{"type":"string"},"matched_by":{"type":"string","enum":["fmd_id","cik","ticker"]},"listing":{"type":"object","required":["ticker","mic"],"properties":{"ticker":{"type":"string"},"mic":{"type":"string"}},"description":"When matched by ticker: the listing the ticker named"}}},"Coverage":{"type":"object","required":["from","to","periods"],"properties":{"from":{"type":["string","null"],"format":"date"},"to":{"type":["string","null"],"format":"date"},"periods":{"type":"integer"}}},"Meta":{"type":"object","required":["request_id","as_of","pipeline_version","licence","terms","proof_base"],"properties":{"request_id":{"type":"string"},"as_of":{"type":"string","format":"date-time"},"company":{"$ref":"#/components/schemas/CompanyRef"},"coverage":{"$ref":"#/components/schemas/Coverage"},"pipeline_version":{"type":"string"},"licence":{"type":"array","items":{"type":"string"}},"attribution":{"type":"array","description":"Citations a source requires on anything served from it; present only when the answer uses such a source","items":{"type":"object","required":["source","text","url"],"properties":{"source":{"type":"string"},"text":{"type":"string"},"url":{"type":"string","format":"uri"}}}},"terms":{"type":"string","format":"uri"},"proof_base":{"type":"string","format":"uri"},"next_cursor":{"type":["string","null"]},"remedies":{"type":"array","items":{"$ref":"#/components/schemas/Remedy"},"description":"Present when a lookup, search or screen found nothing: how to tell us what was missing"}}},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","docs","request_id"],"properties":{"code":{"type":"string","enum":["invalid_request","unknown_company","unknown_concept","not_covered","rate_limited","payment_required","unauthorized","upstream_unavailable","not_found"]},"message":{"type":"string"},"docs":{"type":"string","format":"uri"},"request_id":{"type":"string"},"available_datasets":{"type":"array","items":{"type":"string"}},"remedies":{"type":"array","items":{"$ref":"#/components/schemas/Remedy"}}}}}},"Remedy":{"type":"object","required":["kind","description"],"properties":{"kind":{"type":"string","enum":["api_key","x402","retry_after","docs","signup","request_data"]},"url":{"type":"string"},"host":{"type":"string"},"description":{"type":"string"},"retry_after_seconds":{"type":"integer"},"price_usd":{"type":"string"},"method":{"type":"string","enum":["GET","POST"],"description":"request_data: the method to call url with"},"tool":{"type":"string","description":"request_data: the MCP tool that does the same"}}},"DataRequest":{"type":"object","required":["kind","want"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["dataset","field","analysis","coverage","bug","other"],"description":"dataset: a whole dataset we lack; field: a line item or attribute; analysis: a computation; coverage: a company or market we do not cover; bug: a wrong or broken answer"},"want":{"type":"string","minLength":1,"maxLength":500,"description":"What you needed and did not find","examples":["Consensus EPS estimates for the next two quarters"]},"why":{"type":"string","minLength":1,"maxLength":1000,"description":"The task it blocks"},"company":{"type":"string","minLength":1,"maxLength":64,"description":"The company it concerns (ticker, CIK or name)","examples":["AAPL"]},"endpoint_or_tool":{"type":"string","minLength":1,"maxLength":120,"description":"The route or MCP tool you were using","examples":["/v1/company/ratios"]},"reply_email":{"type":"string","format":"email","maxLength":254,"description":"Not accepted at present: a body with it answers 400 (GET /v1/request-data says reply_email_accepted: false). When accepted: optional, people only, where to tell you it shipped; needs reply_opt_in: true; kept apart and deleted when the request closes, or after 365 days"},"reply_opt_in":{"type":"boolean","enum":[true],"description":"The explicit opt-in that must accompany reply_email"}}},"DataRequestReceipt":{"type":"object","required":["request_id","item_id","status","requests","requesters","status_url","served_by","message","next"],"properties":{"request_id":{"type":"string","format":"uuid"},"item_id":{"type":["string","null"],"format":"uuid","description":"The demand item this request was merged into; similar requests share one"},"status":{"type":"string","enum":["new","triaged","planned","done","wontfix"],"description":"The item's status: a request for something already shipped answers done"},"requests":{"type":"integer","description":"Requests on this item, this one included"},"requesters":{"type":"integer","description":"Distinct requesters on this item"},"status_url":{"type":"string","format":"uri","description":"GET this to follow the request"},"served_by":{"type":["string","null"],"description":"Once done: the endpoint or MCP tool that serves it"},"message":{"type":"string"},"next":{"type":"string","description":"What happens to the request"}}},"DataRequestStatus":{"type":"object","required":["request_id","item_id","title","kind","status","public_note","served_by","requests","requesters","first_seen","last_seen","updated_at","done_at"],"properties":{"request_id":{"type":["string","null"],"format":"uuid"},"item_id":{"type":"string","format":"uuid"},"title":{"type":"string","description":"Our reviewed title for the demand item, or a neutral one naming only the kind until a person has reviewed it; never the submitted text"},"kind":{"type":"string","enum":["dataset","field","analysis","coverage","bug","other"]},"status":{"type":"string","enum":["new","triaged","planned","done","wontfix"]},"public_note":{"type":["string","null"],"description":"Why it is planned or not, in our words"},"served_by":{"type":["string","null"],"description":"Once done: the endpoint or MCP tool that serves it"},"requests":{"type":"integer"},"requesters":{"type":"integer"},"first_seen":{"type":"string","format":"date-time"},"last_seen":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"done_at":{"type":["string","null"],"format":"date-time"}}},"RequestedBoard":{"type":"object","required":["generated_at","counts","totals","items"],"properties":{"generated_at":{"type":"string","format":"date-time"},"counts":{"type":"object","description":"Demand items per status","additionalProperties":{"type":"integer"}},"totals":{"type":"object","required":["items","requests","requesters","unmet_queries_30d"],"properties":{"items":{"type":"integer"},"requests":{"type":"integer"},"requesters":{"type":"integer"},"unmet_queries_30d":{"type":"integer"}}},"items":{"type":"array","description":"Only items a person reviewed and gave a public title (triaged, planned, done, wontfix), shipped first; nothing is listed automatically. Aggregate: no submitter text or details","items":{"type":"object","required":["item_id","title","kind","status","public_note","served_by","requests","requesters","first_seen","last_seen","done_at"],"properties":{"item_id":{"type":"string","format":"uuid"},"title":{"type":"string"},"kind":{"type":"string"},"status":{"type":"string","enum":["triaged","planned","done","wontfix"]},"public_note":{"type":["string","null"]},"served_by":{"type":["string","null"]},"requests":{"type":"integer"},"requesters":{"type":"integer"},"first_seen":{"type":"string","format":"date-time"},"last_seen":{"type":"string","format":"date-time"},"done_at":{"type":["string","null"],"format":"date-time"}}}}}},"DataRequestUsage":{"type":"object","required":["method","url","tool","body","kinds","limits","next"],"properties":{"method":{"type":"string","enum":["POST"]},"url":{"type":"string","format":"uri"},"tool":{"type":"string"},"body":{"type":"object","description":"JSON Schema of the request body"},"kinds":{"type":"array","items":{"type":"string"}},"limits":{"type":"string"},"next":{"type":"string"},"example":{"type":"object"}}},"ConceptRow":{"type":"object","required":["concept_id","statement","template","label","display_order","is_subtotal","formula","metric_format","metric_alias","fiscal_alias"],"properties":{"concept_id":{"type":"string"},"statement":{"type":"string","enum":["income_statement","balance_sheet","cash_flow","supplemental","ratios"]},"template":{"type":"string"},"label":{"type":"string"},"display_order":{"type":"integer"},"is_subtotal":{"type":"boolean"},"formula":{"type":["string","null"]},"metric_format":{"type":"string","enum":["currency","shares","per_share","percent","count","ratio"]},"metric_alias":{"type":["string","null"],"description":"Another id accepted wherever concept_id is (concept= on verify and screen)"},"fiscal_alias":{"type":["string","null"],"deprecated":true,"description":"Deprecated: the same value as metric_alias, served until the next release"}}},"Cell":{"description":"A ValueObject, null when the row has no value for the period, or { versions } (oldest first) with history=true","oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"},{"type":"object","required":["versions"],"properties":{"versions":{"type":"array","items":{"$ref":"#/components/schemas/ValueObject"}}}}]},"StandardizedStatement":{"type":"object","required":["statement","period_type","view","currency","periods","rows"],"properties":{"statement":{"type":"string","enum":["income_statement","balance_sheet","cash_flow"]},"period_type":{"type":"string"},"view":{"type":"string","enum":["current","as_of","original","history"]},"currency":{"type":["string","null"]},"periods":{"type":"array","items":{"$ref":"#/components/schemas/Period"},"description":"Most recent first"},"rows":{"type":"array","items":{"type":"object","description":"cells is aligned with periods (same length, same order)","required":["concept_id","label","display_order","is_subtotal","formula","metric_format","metric_alias","fiscal_alias","cells"],"properties":{"concept_id":{"type":"string"},"label":{"type":"string"},"display_order":{"type":"integer"},"is_subtotal":{"type":"boolean"},"formula":{"type":["string","null"]},"metric_format":{"type":"string"},"metric_alias":{"type":["string","null"],"description":"Another id accepted wherever concept_id is (concept= on verify and screen)"},"fiscal_alias":{"type":["string","null"],"deprecated":true,"description":"Deprecated: the same value as metric_alias, served until the next release"},"cells":{"type":"array","items":{"$ref":"#/components/schemas/Cell"}}}}}}},"RatioGrid":{"type":"object","description":"The standardized grid shape for ratios computed at serve time (docs/ratios.md). Rows are ratio ids; a cell is null when an input is missing or a denominator is zero.","required":["statement","period_type","view","currency","periods","rows"],"properties":{"statement":{"type":"string","enum":["ratios"]},"period_type":{"type":"string"},"view":{"type":"string","enum":["current","as_of"]},"currency":{"type":["string","null"]},"periods":{"type":"array","items":{"$ref":"#/components/schemas/Period"},"description":"Most recent first"},"rows":{"type":"array","items":{"type":"object","required":["concept_id","label","display_order","is_subtotal","formula","metric_format","metric_alias","fiscal_alias","cells"],"properties":{"concept_id":{"type":"string","description":"The ratio id"},"label":{"type":"string"},"display_order":{"type":"integer"},"is_subtotal":{"type":"boolean"},"formula":{"type":["string","null"]},"metric_format":{"type":"string"},"metric_alias":{"type":["string","null"],"description":"Another id accepted wherever concept_id is (concept= on verify and screen)"},"fiscal_alias":{"type":["string","null"],"deprecated":true,"description":"Deprecated: the same value as metric_alias, served until the next release"},"cells":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"}]}}}}},"price_basis":{"$ref":"#/components/schemas/PriceBasis"}}},"PriceBasis":{"type":"object","description":"The close valuation ratios multiply (an IEX single-venue last trade, unadjusted) and why valuation values are absent when they are.","required":["listing","source","unavailable"],"properties":{"listing":{"oneOf":[{"$ref":"#/components/schemas/PriceListing"},{"type":"null"}]},"source":{"$ref":"#/components/schemas/PriceSource"},"unavailable":{"type":["string","null"],"enum":[null,"no_prices","multiple_share_classes","adr","currency_mismatch"]}}},"RatioSeries":{"type":"object","required":["ratio_id","label","formula","metric_format","period_type","view","items","next_cursor"],"properties":{"ratio_id":{"type":"string"},"label":{"type":"string"},"formula":{"type":"string"},"metric_format":{"type":"string"},"period_type":{"type":"string"},"view":{"type":"string","enum":["current","as_of"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/ValueObject"},"description":"One value per computable period (or session, for a valuation ratio), most recent first"},"next_cursor":{"type":["string","null"]},"price_basis":{"$ref":"#/components/schemas/PriceBasis"}}},"AsReportedFact":{"allOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"object","required":["taxonomy","tag","dims","is_instant"],"properties":{"taxonomy":{"type":"string"},"tag":{"type":"string"},"dims":{"type":["object","null"]},"is_instant":{"type":"boolean"}}}]},"AsReportedStatement":{"type":"object","required":["statement","period_type","view","currency","periods","rows"],"properties":{"statement":{"type":"string"},"period_type":{"type":"string","enum":["annual","quarterly"]},"view":{"type":"string","enum":["current","as_of","history"]},"currency":{"type":["string","null"]},"periods":{"type":"array","items":{"$ref":"#/components/schemas/Period"},"description":"Most recent first"},"rows":{"type":"array","items":{"type":"object","description":"One filed line (taxonomy, tag, dims); cells aligned with periods; the cell holds the latest filing's value, or every filing's version with history=true","required":["taxonomy","tag","label","dims","unit","display_order","is_subtotal","concept_id","cells"],"properties":{"taxonomy":{"type":"string"},"tag":{"type":"string"},"label":{"type":"string"},"dims":{"type":["object","null"],"additionalProperties":{"type":"string"}},"unit":{"type":"string"},"display_order":{"type":"integer"},"is_subtotal":{"type":"boolean"},"concept_id":{"type":["string","null"]},"cells":{"type":"array","items":{"$ref":"#/components/schemas/Cell"}}}}}}},"FilingSummary":{"type":"object","required":["accession","registry","form","period_end","fiscal_year","fiscal_period","filed","accepted_at","primary_doc","source_url","amends","pipeline_version"],"properties":{"accession":{"type":"string"},"registry":{"type":"string"},"form":{"type":"string"},"period_end":{"type":["string","null"],"format":"date"},"fiscal_year":{"type":["integer","null"]},"fiscal_period":{"type":["string","null"]},"filed":{"type":"string","format":"date"},"accepted_at":{"type":"string","format":"date-time"},"primary_doc":{"type":["string","null"]},"source_url":{"type":"string"},"amends":{"type":["string","null"]},"pipeline_version":{"type":"string"}}},"Listing":{"type":"object","required":["ticker","mic","currency","is_primary","kind","figi"],"properties":{"ticker":{"type":"string"},"mic":{"type":"string"},"currency":{"type":"string"},"is_primary":{"type":"boolean"},"kind":{"type":"string"},"figi":{"type":["string","null"]}}},"CompanyProfile":{"type":"object","required":["fmd_id","cik","name","country","reporting_template","fiscal_year_end_month","status","classification","listings","available_datasets","updated_at"],"properties":{"fmd_id":{"type":"string"},"cik":{"type":["integer","null"]},"name":{"type":"string"},"country":{"type":["string","null"]},"reporting_template":{"type":"string"},"fiscal_year_end_month":{"type":["integer","null"]},"status":{"type":"string","description":"active, delisted or inactive"},"status_reason":{"type":["string","null"]},"delisted_on":{"type":["string","null"],"format":"date"},"last_filing_date":{"type":["string","null"],"format":"date"},"last_periodic_filing_date":{"type":["string","null"],"format":"date"},"incorporation_country":{"type":["string","null"]},"business_address":{"type":["object","null"]},"phone":{"type":["string","null"]},"entity_type":{"type":["string","null"]},"former_names":{"type":"array","items":{"type":"object"}},"profile_source_url":{"type":["string","null"]},"employees":{"oneOf":[{"type":"object","required":["value","scope","method","confidence","source_text"],"properties":{"value":{"$ref":"#/components/schemas/ValueObject"},"scope":{"type":"string"},"method":{"type":"string"},"confidence":{"type":"number"},"source_text":{"type":["string","null"]}}},{"type":"null"}],"description":"Newest head count at confidence 0.90 or more"},"share_classes":{"type":"array","items":{"type":"object","required":["class_member","shares"],"properties":{"class_member":{"type":"string"},"shares":{"$ref":"#/components/schemas/ValueObject"}}},"description":"Cover-page shares per class, not summed"},"sic_code":{"type":["string","null"]},"sector":{"type":["string","null"],"description":"The SIC division of sic_code"},"industry":{"type":["string","null"],"description":"The SEC's title for sic_code"},"classification":{"type":["object","null"],"description":"Where sector and industry come from. Null when the company has no SIC code on file","required":["scheme","sic_code","source_url","scheme_url"],"properties":{"scheme":{"type":"string","enum":["sic"]},"sic_code":{"type":"string"},"source_url":{"type":"string","format":"uri","description":"The EDGAR submissions document that states the SIC code"},"scheme_url":{"type":"string","format":"uri","description":"The SEC's list of SIC codes and titles"}}},"state_of_incorporation":{"type":["string","null"]},"lei":{"type":["string","null"]},"listings":{"type":"array","items":{"$ref":"#/components/schemas/Listing"}},"available_datasets":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string","format":"date-time"}}},"CompanyListItem":{"type":"object","required":["fmd_id","cik","name","country","reporting_template","status","primary_ticker","primary_mic","available_datasets","updated_at"],"properties":{"fmd_id":{"type":"string"},"cik":{"type":["integer","null"]},"name":{"type":"string"},"country":{"type":["string","null"]},"reporting_template":{"type":"string"},"status":{"type":"string"},"primary_ticker":{"type":["string","null"]},"primary_mic":{"type":["string","null"]},"sector":{"type":["string","null"],"description":"The SIC division of the company's SIC code, or null"},"industry":{"type":["string","null"],"description":"The SEC's title for the company's SIC code, or null"},"available_datasets":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string","format":"date-time"}}},"ScreenMetric":{"type":"object","required":["id","kind","label","metric_format","formula"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["concept","ratio"]},"label":{"type":"string"},"metric_format":{"type":"string","enum":["currency","shares","per_share","percent","count","ratio"]},"formula":{"type":["string","null"]}}},"ScreenItem":{"type":"object","required":["company","period","values"],"properties":{"company":{"type":"object","required":["fmd_id","cik","name","country","reporting_template","primary_ticker","primary_mic","sector","industry"],"properties":{"fmd_id":{"type":"string"},"cik":{"type":["integer","null"]},"name":{"type":"string"},"country":{"type":["string","null"]},"reporting_template":{"type":"string"},"primary_ticker":{"type":["string","null"]},"primary_mic":{"type":["string","null"]},"sector":{"type":["string","null"]},"industry":{"type":["string","null"]}}},"period":{"$ref":"#/components/schemas/Period"},"values":{"type":"object","description":"Keyed by metric id; null when the company has no value for the metric in its latest period","additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"}]}}}},"ScreenResult":{"type":"object","required":["items","next_cursor","period_type","metrics","sort","total","universe"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ScreenItem"}},"next_cursor":{"type":["string","null"]},"period_type":{"type":"string","enum":["annual","quarterly","ltm"]},"metrics":{"type":"array","items":{"$ref":"#/components/schemas/ScreenMetric"}},"sort":{"type":"object","required":["key","dir"],"properties":{"key":{"type":"string"},"dir":{"type":"string","enum":["asc","desc"]}}},"total":{"type":"integer","description":"Companies that passed the filters, across all pages"},"universe":{"type":"integer","description":"Companies with facts of the period type before the metric filters"}}},"FilingFact":{"allOf":[{"$ref":"#/components/schemas/AsReportedFact"},{"type":"object","required":["label","concept_id","display_order","is_subtotal"],"properties":{"label":{"type":"string"},"concept_id":{"type":"string"},"display_order":{"type":"integer"},"is_subtotal":{"type":"boolean"}}}]},"FilingFacts":{"type":"object","required":["filing","statements","returned","truncated"],"properties":{"filing":{"allOf":[{"$ref":"#/components/schemas/FilingSummary"},{"type":"object","properties":{"company":{"$ref":"#/components/schemas/CompanyRef"},"fact_count":{"type":"integer"}}}]},"statements":{"type":"array","items":{"type":"object","required":["statement","facts"],"properties":{"statement":{"type":"string","enum":["income_statement","balance_sheet","cash_flow","supplemental"]},"facts":{"type":"array","items":{"$ref":"#/components/schemas/FilingFact"}}}}},"returned":{"type":"integer"},"truncated":{"type":"boolean"}}},"VerifyRequest":{"type":"object","required":["company","concept","period","value"],"properties":{"company":{"type":"string","description":"fmd_<id>, cik:<n> or ticker:<sym>[.<mic>]","examples":["ticker:AAPL"]},"concept":{"type":"string","minLength":1,"maxLength":128,"description":"concept_id or metric_alias","examples":["income_statement_total_revenues"]},"period":{"examples":["FY2024","Q4 2024","2024-09-28"],"description":"\"FY2024\", \"Q4 2024\", \"2024Q4\", a period end date, {fiscal_year, fiscal_period} or {start, end}","anyOf":[{"type":"string","pattern":"^(FY\\s?\\d{4}|\\d{4}\\s?[QH][1-4]|[QH][1-4]\\s?\\d{4}|\\d{4}-\\d{2}-\\d{2})$"},{"type":"object","required":["fiscal_year"],"properties":{"fiscal_year":{"type":"integer","minimum":1900,"maximum":2200},"fiscal_period":{"type":"string","enum":["FY","Q1","Q2","Q3","Q4","H1","H2"]}}},{"type":"object","required":["end"],"properties":{"end":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}}},{"type":"object","required":["start","end"],"properties":{"start":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"end":{"type":"string","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}}}]},"period_type":{"type":"string","enum":["annual","quarterly","semi_annual","ytd","ltm"]},"value":{"type":"number"},"as_of":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$","description":"Verify against what was known at this instant"},"source":{"type":"string","maxLength":256,"description":"Where the caller's number came from, for the audit trail"}}},"VerifyResult":{"type":"object","required":["verdict","submitted","filed","delta","tolerance","scale_hint","concept"],"properties":{"verdict":{"type":"string","enum":["matches","differs","unknown"]},"submitted":{"type":"object","required":["value","source"],"properties":{"value":{"type":"number"},"source":{"type":["string","null"]}}},"filed":{"oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"}]},"delta":{"oneOf":[{"type":"object","required":["absolute","percent"],"properties":{"absolute":{"type":"number"},"percent":{"type":["number","null"]}}},{"type":"null"}],"description":"submitted minus filed; percent relative to the filed value"},"tolerance":{"type":["number","null"],"description":"Half a unit at the filed decimals"},"scale_hint":{"type":["integer","null"],"description":"Power of ten that would make the submitted value match (3, 6, 9)"},"concept":{"oneOf":[{"type":"object","required":["concept_id","label"],"properties":{"concept_id":{"type":"string"},"label":{"type":"string"}}},{"type":"null"}]}}},"ChangeItem":{"type":"object","required":["company","concept_id","version","value"],"properties":{"company":{"type":"object","required":["fmd_id","cik","name"],"properties":{"fmd_id":{"type":"string"},"cik":{"type":["integer","null"]},"name":{"type":"string"}}},"concept_id":{"type":"string"},"version":{"type":"integer","description":"1 for the first-reported version of a period, 2 and up for restatements"},"value":{"$ref":"#/components/schemas/ValueObject"}}},"OwnershipParty":{"type":"object","required":["cik","name"],"properties":{"cik":{"type":["integer","null"],"description":"SEC CIK"},"name":{"type":"string"}}},"InsiderTransaction":{"type":"object","description":"One transaction line of a Form 3, 4 or 5, as filed.","required":["transaction_date","owner","relationship","officer_title","security_title","is_derivative","code","acquired_disposed","ownership_nature","shares","price","shares_owned_after"],"properties":{"transaction_date":{"type":"string","format":"date"},"owner":{"$ref":"#/components/schemas/OwnershipParty"},"relationship":{"type":"array","items":{"type":"string","enum":["director","officer","ten_percent_owner","other"]}},"officer_title":{"type":["string","null"]},"security_title":{"type":["string","null"]},"is_derivative":{"type":"boolean"},"code":{"type":"string","description":"SEC transaction code: P purchase, S sale, A grant, M exercise, F tax withholding, G gift"},"acquired_disposed":{"type":["string","null"],"description":"A acquired, D disposed"},"ownership_nature":{"type":["string","null"],"description":"D direct, I indirect"},"shares":{"$ref":"#/components/schemas/ValueObject"},"price":{"oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"}],"description":"Null when the form states no price"},"shares_owned_after":{"oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"}]}}},"InstitutionalPosition":{"type":"object","description":"One Form 13F position: a manager's holding of one class of one issuer at a quarter end.","required":["holder","issuer_name","class_title","company","put_call","share_type","shares","value","prior_shares","shares_change","position_change","percent_of_shares_outstanding"],"properties":{"holder":{"type":"object","required":["cik","name"],"properties":{"cik":{"type":"integer"},"name":{"type":"string"}}},"issuer_name":{"type":"string","description":"As the manager wrote it"},"class_title":{"type":["string","null"]},"company":{"oneOf":[{"type":"object","required":["fmd_id","cik","name"],"properties":{"fmd_id":{"type":"string"},"cik":{"type":["integer","null"]},"name":{"type":"string"}}},{"type":"null"}],"description":"Null while no SEC filing ties the security to a company"},"put_call":{"type":["string","null"]},"share_type":{"type":["string","null"],"description":"SH shares, PRN principal amount"},"shares":{"$ref":"#/components/schemas/ValueObject"},"value":{"$ref":"#/components/schemas/ValueObject"},"prior_shares":{"oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"}]},"shares_change":{"oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"}],"description":"shares minus prior_shares; proof.inputs names both"},"position_change":{"type":["string","null"],"enum":["new","increased","decreased","unchanged",null]},"percent_of_shares_outstanding":{"oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"}]}}},"InstitutionalFilingSummary":{"type":"object","required":["accession","form","report_period","filed","accepted_at","amendment_type","source_url","entry_total","value_total","totals_match"],"properties":{"accession":{"type":"string"},"form":{"type":"string"},"report_period":{"type":"string","format":"date"},"filed":{"type":"string","format":"date"},"accepted_at":{"type":"string","format":"date-time"},"amendment_type":{"type":["string","null"],"description":"RESTATEMENT or NEW HOLDINGS"},"source_url":{"type":"string"},"entry_total":{"oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"}]},"value_total":{"oneOf":[{"$ref":"#/components/schemas/ValueObject"},{"type":"null"}]},"totals_match":{"type":"boolean","description":"The loaded table adds up to the filing's own summary page"}}},"InstitutionalHolder":{"type":"object","required":["cik","name","latest"],"properties":{"cik":{"type":"integer"},"name":{"type":"string"},"latest":{"$ref":"#/components/schemas/InstitutionalFilingSummary"}}},"PriceSource":{"type":"object","description":"Where daily bars come from and what they are not.","required":["id","venue","consolidated","adjusted","attribution","attribution_url","notes"],"properties":{"id":{"type":"string","examples":["iex_hist"]},"venue":{"type":"string","description":"The single venue whose trades the bars are built from","examples":["IEX"]},"consolidated":{"type":"boolean","description":"False: one venue's trades, not the consolidated tape"},"adjusted":{"type":"boolean","description":"False: no split or dividend adjustment is applied"},"attribution":{"type":"string","description":"The citation the venue's terms require, verbatim"},"attribution_url":{"type":"string","format":"uri"},"notes":{"type":"array","items":{"type":"string"}}}},"PriceListing":{"type":"object","required":["ticker","mic","currency","is_primary"],"properties":{"ticker":{"type":"string"},"mic":{"type":"string"},"currency":{"type":"string"},"is_primary":{"type":"boolean"}}},"DailyBar":{"type":"object","description":"One listing's trading session at one venue. Prices are that venue's trades; `close` is its last eligible trade, not the official consolidated closing price.","required":["date","open","high","low","close","volume","has_broken_print"],"properties":{"date":{"type":"string","format":"date"},"open":{"$ref":"#/components/schemas/ValueObject"},"high":{"$ref":"#/components/schemas/ValueObject"},"low":{"$ref":"#/components/schemas/ValueObject"},"close":{"$ref":"#/components/schemas/ValueObject"},"volume":{"$ref":"#/components/schemas/ValueObject","description":"Shares traded at the venue, a fraction of consolidated volume"},"has_broken_print":{"type":"boolean","description":"True when the venue broke a trade that session, so high and low may include a cancelled print"}}},"StockPrices":{"type":"object","required":["items","next_cursor","listing","listings","source","range"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DailyBar"}},"next_cursor":{"type":["string","null"]},"listing":{"oneOf":[{"$ref":"#/components/schemas/PriceListing"},{"type":"null"}],"description":"The listing served; null when the company has no listing with bars"},"listings":{"type":"array","items":{"$ref":"#/components/schemas/PriceListing"},"description":"The company's listings that have bars"},"source":{"$ref":"#/components/schemas/PriceSource"},"range":{"type":"object","required":["from","to","sessions"],"properties":{"from":{"type":["string","null"],"format":"date"},"to":{"type":["string","null"],"format":"date"},"sessions":{"type":"integer"}}}}},"ProofDetail":{"type":"object","required":["proof","kind","value","concept","company","filing","derived_from","derivation"],"properties":{"proof":{"$ref":"#/components/schemas/Proof"},"kind":{"type":"string","enum":["std","ar","ratio","insider","holding","filing_total","ownership_derived","price","segment","fund_holding","fund_report","calendar_event","employees","kpi","dividend","insider_holding","fund_census","fund_fee"]},"value":{"$ref":"#/components/schemas/ValueObject"},"concept":{"oneOf":[{"type":"object","required":["concept_id","label","statement"],"properties":{"concept_id":{"type":"string"},"label":{"type":"string"},"statement":{"type":"string"}}},{"type":"null"}]},"company":{"oneOf":[{"type":"object","required":["fmd_id","cik","name"],"properties":{"fmd_id":{"type":"string"},"cik":{"type":["integer","null"]},"name":{"type":"string"}}},{"type":"null"}],"description":"Null only for a 13F position whose security is not tied to a company"},"filer":{"$ref":"#/components/schemas/OwnershipParty"},"filing":{"$ref":"#/components/schemas/FilingSummary"},"derived_from":{"type":"array","items":{"$ref":"#/components/schemas/AsReportedFact"}},"derivation":{"oneOf":[{"type":"object","required":["method","calc_type","run"],"properties":{"method":{"type":"string"},"calc_type":{"type":"string"},"run":{"oneOf":[{"type":"object","required":["run_id","pipeline_version","kind","model_deployment","prompt_hash","started_at"],"properties":{"run_id":{"type":"string"},"pipeline_version":{"type":"string"},"kind":{"type":"string"},"model_deployment":{"type":["string","null"]},"prompt_hash":{"type":["string","null"]},"started_at":{"type":"string","format":"date-time"}}},{"type":"null"}]}}},{"type":"null"}]},"inputs":{"type":"array","items":{"$ref":"#/components/schemas/ValueObject"},"description":"For ratios: the standardized input values, each with its own proof"},"formula":{"type":["string","null"],"description":"For ratios: the formula (docs/ratios.md)"}}},"Me":{"type":"object","required":["principal","key","tier","limits"],"properties":{"principal":{"type":"object","required":["id","kind","plan","display_name"],"properties":{"id":{"type":"string"},"kind":{"type":"string"},"plan":{"type":"string"},"display_name":{"type":["string","null"]}}},"key":{"oneOf":[{"type":"object","required":["prefix","scopes","label","audience","expires_at"],"properties":{"prefix":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"label":{"type":["string","null"]},"audience":{"type":"array","items":{"type":"string"},"description":"Resources an OAuth access token was issued for (RFC 8707); empty for a plain key"},"expires_at":{"type":["string","null"],"format":"date-time"}}},{"type":"null"}]},"tier":{"type":"string","enum":["keyless","keyed","terminal"],"description":"Which tier limits apply; self-serve keys and OAuth grants get the keyless limits in their own bucket"},"limits":{"type":"object","additionalProperties":{"type":"object","required":["limit","window_seconds","remaining"],"properties":{"limit":{"type":"integer"},"window_seconds":{"type":"integer"},"remaining":{"type":"integer"}}}}}},"Health":{"type":"object","required":["status","database","pipeline_version","time"],"properties":{"status":{"type":"string","enum":["ok","degraded"]},"database":{"type":"string","enum":["ok","unreachable"]},"pipeline_version":{"type":"string"},"time":{"type":"string","format":"date-time"}}}},"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"fmd_live_<prefix>_<secret>","description":"API key. Keys are not issued publicly yet; status at https://financial.md/keys"}}}}