Cyber Incident 8-Ks
get_cyber_incidentsMaterial cybersecurity incidents: every Form 8-K filed under Item 1.05 (the SEC cyber-disclosure rule, live since 2023-12-18) plus its 8-K/A amendments -- the entire population, ~80 filings and growing. One row per filing, with FOUR distinct date roles kept rigorously separate: incident discovered, materiality determined (both extracted from prose, with day/month/quarter precision enums), disclosed and amended (both structural EDGAR dates, never model-guessed) -- plus the intervals between them (investigation time, compliance-clock time, total latency).
Flags are three-state: 1 = filing says yes, 0 = filing says no, NULL = filing does not say -- never collapsed. Amendments are separate rows linked to their original (original_accession_number, days_original_to_amendment); an incident with three 8-K/As is four rows. materiality_determined_date is sparse (~15% fill) because most filings simply do not state one. days_determination_to_disclosure is CALENDAR days; the SEC's deadline is four BUSINESS days -- adjust before compliance claims.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | SEC CIK number (digits only) -- the durable issuer key (3 rows have no ticker). | |
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| refused | No | 1/0: rows where the labeler declined the filing text (served with NULL extraction fields; the disclosure event is still real). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| attack_type | No | One of data-breach, unauthorized-access, ransomware, business-email-compromise, other, unstated. | |
| cursor_date | No | Pagination: 'date' from next_cursor (send with cursor_accession). | |
| amended_flag | No | 1 = originals that were later amended, 0 = originals never amended (NULL on amendment rows themselves). | |
| is_amendment | No | 1 = 8-K/A amendments only, 0 = original 8-Ks only. | |
| updated_since | No | YYYY-MM-DD, on last_updated -- rows touched by the amendment-linkage sweep since this date. | |
| cursor_accession | No | Pagination: 'accession_number' from next_cursor (send with cursor_date). | |
| data_compromised_flag | No | 1/0 three-state flag: filing states data was/was not stolen (unfiltered rows include NULL = filing does not say). | |
| operations_disrupted_flag | No | 1/0 three-state flag: filing states operations were/were not disrupted. | |
| third_party_incident_flag | No | 1/0 three-state flag: incident originated at a vendor/third party. |