{"openapi":"3.1.0","info":{"title":"FilingWire Risk API (SEC 8-K)","description":"**Classified material corporate events from SEC EDGAR 8-K filings:** bankruptcy, mergers\nand acquisitions, restructuring and layoffs, debt acceleration, delisting risk, cyber\nincidents, executive departures and appointments, auditor changes, restatements, material\ncontract changes. Built for credit and counterparty risk, portfolio monitoring, fintech,\nand compliance.\n\n**The whole feed, including the dull part.** Roughly a third of events classify as `other`:\n8-K Item 8.01 is a catch-all with no structured signal, and most of what companies file\nunder it is routine (dividends, NAV notices, shareholder meetings, buybacks). It is in the\nfeed and it is labelled, so you can filter it out rather than discover it. `contract_change`\nand `exec_appointment` are the two largest named buckets, and neither is distress.\n\n**Auditable by design.** The `event_type` is read from the filing's structured 8-K item\ncodes rather than inferred, on about 95% of records. The exception is a filing whose only\nitem is 8.01, which carries no structured signal: those are classified from the text or\nleft as `other`. Every record carries a `source_url` back to the filing, so any signal is\none click from the primary document.\n`severity` (low/medium/high/critical) is a triage score to rank attention, not advice.\nEvery structured field is business-level: there is no person column, and `affected_role`\nholds a role such as \"CEO\", never a name. The one exception is the short `summary`, which\nis written from the filing text and can name an individual where the filing does, for\nexample a departing officer under Item 5.02.\n\n**Your watchlist, both directions.** Filter by `ticker` on the way in, and every event\nreturns a `tickers` array on the way out, so you can match the feed against a watchlist\nwithout a second lookup. It is a list because a company can carry several share classes.\nCIK stays the canonical key.\n\n**When it happened, and who filed it.** Each event carries `event_date` (the date the\ncompany reports the event occurred) alongside `filed_at` (when EDGAR received the filing)\nand the `disclosure_lag_days` between them, plus the filer's `sector`, `sic`,\n`sic_description` and listing `exchanges`. So you can scope a feed to banking or\npharmaceuticals, or surface the filings a company sat on. Every value is read from the\nfiling's own header; nothing is inferred.\n\n**Fresh daily, not real-time.** Events land after EDGAR publishes its daily index: this is\ncorporate-event monitoring, not a trading feed. The free plan reads the most recent 30 days;\npaid plans read the full history.\n\n**Endpoints** under `/v1`, paginated, `source_url` on every record: `latest`, `events`\n(filters: `event_type`, `severity`, `min_severity`, `since`/`until`, `cik`, `ticker`,\n`sector`, `industry`, `sic`, `max_disclosure_lag`), `critical`, `events/{accession_number}`,\n`companies/{cik}`, `companies/by-ticker/{ticker}`, `meta`, `health`.\n\nInformational, not investment advice.","termsOfService":"https://filingwire.io/terms/risks","contact":{"name":"FilingWire Risk API","url":"https://filingwire.io/"},"license":{"name":"Proprietary"},"version":"1.0.0"},"paths":{"/v1/latest":{"get":{"tags":["risks"],"summary":"Latest","description":"Latest classified 8-K material events, newest first — the paginated firehose. Use\n``/events`` to narrow by event type, severity, date or company.","operationId":"latest_v1_latest_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"1-based page number.","default":1,"title":"Page"},"description":"1-based page number."},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Records per page (default 25, max 100).","default":25,"title":"Page Size"},"description":"Records per page (default 25, max 100)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_RiskRecord_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/events":{"get":{"tags":["risks"],"summary":"Events","description":"The core risk list with rich filtering — combine event type, severity (exact or a\n``min_severity`` floor), date range, company (by ``cik`` or by ``ticker``, which\nresolves to a CIK), and the filer's industry (``sector``, ``industry`` or exact\n``sic``). Newest first. ``summary`` is the short derived free-text; ``source_url`` is\nthe EDGAR filing page.\n\n``event_date`` is when the event happened and ``filed_at`` is when EDGAR received the\nfiling; ``max_disclosure_lag`` filters on the gap between them.","operationId":"events_v1_events_get","parameters":[{"name":"event_type","in":"query","required":false,"schema":{"type":"string","description":"Exact event_type, e.g. 'bankruptcy', 'exec_departure'.","title":"Event Type"},"description":"Exact event_type, e.g. 'bankruptcy', 'exec_departure'."},{"name":"severity","in":"query","required":false,"schema":{"type":"string","description":"Exact severity: low|medium|high|critical.","title":"Severity"},"description":"Exact severity: low|medium|high|critical."},{"name":"min_severity","in":"query","required":false,"schema":{"type":"string","description":"Severity floor (this and above): low|medium|high|critical. Ignored if severity is set.","title":"Min Severity"},"description":"Severity floor (this and above): low|medium|high|critical. Ignored if severity is set."},{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Only events filed on/after this date (YYYY-MM-DD).","title":"Since"},"description":"Only events filed on/after this date (YYYY-MM-DD)."},{"name":"until","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Only events filed on/before this date (YYYY-MM-DD).","title":"Until"},"description":"Only events filed on/before this date (YYYY-MM-DD)."},{"name":"cik","in":"query","required":false,"schema":{"type":"string","description":"Filter to one company by CIK.","title":"Cik"},"description":"Filter to one company by CIK."},{"name":"ticker","in":"query","required":false,"schema":{"type":"string","description":"Filter to one company by stock ticker (resolves to CIK; takes precedence over cik).","title":"Ticker"},"description":"Filter to one company by stock ticker (resolves to CIK; takes precedence over cik)."},{"name":"sector","in":"query","required":false,"schema":{"type":"string","description":"SEC office sector, e.g. 'Finance', 'Technology', 'Life Sciences'.","title":"Sector"},"description":"SEC office sector, e.g. 'Finance', 'Technology', 'Life Sciences'."},{"name":"industry","in":"query","required":false,"schema":{"type":"string","description":"Match within the SIC description, e.g. 'bank' or 'pharmaceutical'.","title":"Industry"},"description":"Match within the SIC description, e.g. 'bank' or 'pharmaceutical'."},{"name":"sic","in":"query","required":false,"schema":{"type":"string","description":"Exact SEC SIC code, e.g. '6022' (state commercial banks).","title":"Sic"},"description":"Exact SEC SIC code, e.g. '6022' (state commercial banks)."},{"name":"max_disclosure_lag","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Max days between the event date and the filing, e.g. 0 for same-day disclosures.","title":"Max Disclosure Lag"},"description":"Max days between the event date and the filing, e.g. 0 for same-day disclosures."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"1-based page number.","default":1,"title":"Page"},"description":"1-based page number."},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Records per page (default 25, max 100).","default":25,"title":"Page Size"},"description":"Records per page (default 25, max 100)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_RiskRecord_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/critical":{"get":{"tags":["risks"],"summary":"Critical","description":"Promoted view: only **high** and **critical** severity events — the distress\nheadline for credit/risk monitoring (bankruptcies, layoffs, delistings, abrupt\nC-suite exits, …). Newest first. Equivalent to ``/events?min_severity=high``.","operationId":"critical_v1_critical_get","parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Only events filed on/after this date.","title":"Since"},"description":"Only events filed on/after this date."},{"name":"until","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Only events filed on/before this date.","title":"Until"},"description":"Only events filed on/before this date."},{"name":"event_type","in":"query","required":false,"schema":{"type":"string","description":"Optionally restrict to one event_type.","title":"Event Type"},"description":"Optionally restrict to one event_type."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"1-based page number.","default":1,"title":"Page"},"description":"1-based page number."},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Records per page (default 25, max 100).","default":25,"title":"Page Size"},"description":"Records per page (default 25, max 100)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_RiskRecord_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/events/{accession_number}":{"get":{"tags":["risks"],"summary":"Event","description":"Look up one classified 8-K event by its accession number.","operationId":"event_v1_events__accession_number__get","parameters":[{"name":"accession_number","in":"path","required":true,"schema":{"type":"string","title":"Accession Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/companies/by-ticker/{ticker}":{"get":{"tags":["risks"],"summary":"Company By Ticker","description":"Look up one company by stock TICKER: resolve the ticker to its CIK (via the\ncik_tickers map) and return every classified material event on record, newest first.\n404 if the ticker is unknown or its company has no events on record.","operationId":"company_by_ticker_v1_companies_by_ticker__ticker__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskCompany"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/companies/{cik}":{"get":{"tags":["risks"],"summary":"Company","description":"Look up one company by CIK: every classified material event on record for it,\nnewest first, with any stock ticker(s) on record. (Ticker lookups use the dedicated\n``/companies/by-ticker/{ticker}`` route.)","operationId":"company_v1_companies__cik__get","parameters":[{"name":"cik","in":"path","required":true,"schema":{"type":"string","title":"Cik"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskCompany"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/v1/health":{"get":{"tags":["risks","risks-health"],"summary":"Health","description":"Liveness probe for the Risk API. DB-free; touches nothing.","operationId":"health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health V1 Health Get"}}}}}}},"/v1/meta":{"get":{"tags":["risks"],"summary":"Meta","description":"Risk dataset freshness: event count + the most recent successful 8-K run. Data is\nrefreshed DAILY (after EDGAR publishes the daily index) — monitoring, not real-time.","operationId":"meta_v1_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskMeta"}}}}},"security":[{"ApiKeyAuth":[]}]}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IngestionRun":{"properties":{"job_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Name"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"items_processed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Items Processed"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At"}},"type":"object","required":["job_name","status","items_processed","finished_at"],"title":"IngestionRun","description":"One worker run, surfaced by each product's ``/meta`` so callers can see data\nfreshness."},"Page_RiskRecord_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/RiskRecord"},"type":"array","title":"Items"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"returned":{"type":"integer","title":"Returned"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["items","page","page_size","returned","total","has_more"],"title":"Page[RiskRecord]"},"RiskCompany":{"properties":{"cik":{"type":"string","title":"Cik"},"entity_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Name"},"tickers":{"items":{"type":"string"},"type":"array","title":"Tickers","default":[]},"events_count":{"type":"integer","title":"Events Count"},"events":{"items":{"$ref":"#/components/schemas/RiskRecord"},"type":"array","title":"Events","default":[]}},"type":"object","required":["cik","entity_name","events_count"],"title":"RiskCompany","description":"Single-entity lookup for the Risk API: every classified material event for one\ncompany, newest first. Keyed by CIK (the canonical key); ``tickers`` carries any stock\nsymbol(s) on record (share classes) from the cik_tickers map. Reachable by CIK or by\nticker (``/companies/by-ticker/{ticker}`` resolves the ticker to its CIK).","example":{"cik":"0001519061","entity_name":"Trinseo PLC","events":[],"events_count":1,"tickers":["TSEOQ"]}},"RiskMeta":{"properties":{"service":{"type":"string","title":"Service"},"version":{"type":"string","title":"Version"},"dataset":{"type":"string","title":"Dataset"},"data_as_of":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Data As Of"},"counts":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"null"}]},"type":"object","title":"Counts"},"recent_runs":{"items":{"$ref":"#/components/schemas/IngestionRun"},"type":"array","title":"Recent Runs"}},"type":"object","required":["service","version","dataset","data_as_of","counts","recent_runs"],"title":"RiskMeta","description":"Risk API service + data-freshness summary (``/risks/v1/meta``): event count and\nthe timestamp of the most recent successful 8-K ingestion. Positioned as\nfresh-DAILY monitoring (not real-time).","example":{"counts":{"eight_k_events":160},"data_as_of":"2026-06-15T07:03:40Z","dataset":"SEC EDGAR 8-K (classified material risks)","recent_runs":[{"finished_at":"2026-06-15T07:03:40Z","items_processed":4,"job_name":"eight_k","status":"success"}],"service":"risk-api","version":"1.0.0"}},"RiskRecord":{"properties":{"accession_number":{"type":"string","title":"Accession Number"},"cik":{"type":"string","title":"Cik"},"entity_name":{"type":"string","title":"Entity Name"},"filed_at":{"type":"string","format":"date-time","title":"Filed At"},"item_codes":{"items":{"type":"string"},"type":"array","title":"Item Codes"},"event_type":{"type":"string","title":"Event Type"},"severity":{"type":"string","title":"Severity"},"is_abrupt":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Abrupt"},"affected_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Affected Role"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence"},"source_url":{"type":"string","title":"Source Url"},"tickers":{"items":{"type":"string"},"type":"array","title":"Tickers","default":[]},"exchanges":{"items":{"type":"string"},"type":"array","title":"Exchanges","default":[]},"event_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Event Date"},"disclosure_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Disclosure Lag Days"},"accepted_at_et":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At Et"},"filed_after_hours":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Filed After Hours"},"sic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sic"},"sic_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sic Description"},"sector":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sector"}},"type":"object","required":["accession_number","cik","entity_name","filed_at","item_codes","event_type","severity","is_abrupt","affected_role","summary","confidence","source_url"],"title":"RiskRecord","description":"A material-event signal from ``eight_k_events``. ``summary`` is the one short\nderived free-text we keep; ``source_url`` is stored on the row (the EDGAR filing\npage).","example":{"accepted_at_et":"2026-05-26T17:27:56","accession_number":"0001104659-26-066376","cik":"0001519061","confidence":0.97,"disclosure_lag_days":1,"entity_name":"Trinseo PLC","event_date":"2026-05-25","event_type":"bankruptcy","exchanges":["OTC"],"filed_after_hours":true,"filed_at":"2026-05-26T00:00:00Z","item_codes":["1.03","2.04","7.01","9.01"],"sector":"Industrial Applications and Services","severity":"critical","sic":"2821","sic_description":"PLASTICS, MATERIALS, SYNTH RESINS & NONVULCAN ELASTOMERS","source_url":"https://www.sec.gov/Archives/edgar/data/1519061/000110465926066376/0001104659-26-066376-index.htm","summary":"Trinseo PLC commenced Chapter 11 bankruptcy proceedings.","tickers":["TSEOQ"]}},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Your FilingWire API key. Paste it here to authorize every request below. Keys are issued on purchase, or free at /free. Buyers who subscribed through RapidAPI send their key as X-RapidAPI-Key through the marketplace proxy instead."}}},"tags":[{"name":"risks","description":"8-K classified material-event signals."},{"name":"risks-health","description":"Liveness probe (DB-free)."}],"servers":[{"url":"/risks"}]}