> Finks API docs. Every page: https://finks.ai/llms.txt. The OpenAPI spec: https://finks.ai/docs/openapi.json.

# Records

Go from a search result to the full story.

Base URL: https://data.finks.ai. Send your key as `Authorization: Bearer $FINKS_API_KEY`.

## Read a record

`GET /v1/content/{id}` (#get-v1-content-id)

The full record behind a result `id`: summary, evidence, body or transcript, and a filing's sections.

### Parameters

- `id` (string, path, required): A search result's `id`. It is opaque: pass it as it came.

### Response

- `id` (string, required): A search result's `id`. It is opaque: pass it as it came.
- `symbols` (array of string, required)
- `title` (string, required)
- `type` (string, required) One of `brief`, `article`, `filing`, `transcript`, `regulator`.
- `cik` (string, can be null)
- `citation_id` (string, can be null): Filing: permanent identifier of the cited source span.
- `confidence` (string, can be null) One of `unverified`, `low`, `medium`, `high`.
- `earnings` (object, can be null)
- `enriched_at` (string, can be null)
- `event_subtype` (string, can be null)
- `event_type` (string, can be null): Filing: the event's type, one of the event-type allowlist's slugs (`earnings`, `insider_transaction` for a Form 4, `insider_sale_notice` for a Form 144, `beneficial_ownership` for a Schedule 13D/13G, `periodic_report`, ...). Absent on other types and when the filing's type is not on the allowlist.
- `excerpt` (string, can be null): Filing: verbatim text from the source document.
- `excerpt_citation_id` (string, can be null): Filing, beside `excerpt` only: the excerpt passage's citation id.
- `excerpt_sha256` (string, can be null): Filing, beside `excerpt` only: lower-hex SHA-256 of `excerpt` exactly as served (its UTF-8 bytes, no normalization).
- `excerpt_url` (string, can be null): Filing, beside `excerpt` only: the excerpt passage's document URL.
- `flags` (array of string, can be null)
- `insider` (object, can be null)
- `ledger_event_id` (string, can be null): Filing: the event ledger id (`le1:`) of the real-world event this filing proves, shared by an 8-K and its 8-K/As. Absent when the ledger holds no row for it. On a company-timeline brief or article: the event of the 8-K folded into it.
- `matched` (string, can be null): Deep search: which half ranked a result. One of `card`, `passage`, `both`.
- `passage` (object, can be null): Deep search: the passage of a result that best matches the query: a brief's or article's body, or one of a filing's sections.
- `published_at` (string, can be null)
- `publishers` (array of string, can be null): Brief, article: publisher domains behind the text.
- `regulator` (object, can be null)
- `related` (array of object)
- `source_sha256` (string, can be null)
- `sources` (array of string)
- `summary` (string, can be null)
- `url` (string, can be null)
- `url_kind` (string, can be null): Transcript: what `url` links to, e.g. `sec_8k` (the SEC EDGAR index page of the earnings-release 8-K the call discusses), never a transcript page. Other values may appear: treat an unknown one as another kind of source link. Absent without a `url`.
- `amended_by` (string, can be null)
- `amends` (string, can be null)
- `body` (string, can be null): Brief: the key facts as a CommonMark bullet list, each ending with its outlets, then the context sentence; the stored source-link list is never served. Article: the full article text. Transcript: the call's transcript, verbatim; absent until its text lands or where its rights are not `allow`.
- `citations` (array of object, can be null)
- `form` (string, can be null): Filing: the form as filed: `8-K`, `8-K/A`, `6-K`, `6-K/A`, a periodic report form (`10-K`, `10-K/A`, `10-KT`, `10-Q`, `10-Q/A`, `10-QT`, `20-F`, `20-F/A`, `40-F`, `40-F/A`), an offering or proxy form (`S-1`, `S-1/A`, `F-1`, `F-1/A`, `424B4`, `424B1`, `DEF 14A`), or another SEC form (`144`, `3`, `4`, `5`, `NT 10-K`, `25-NSE`, `15-12G`, `13F-HR`, `SCHEDULE 13D`, `SCHEDULE 13G`, ..., and their `/A`s).
- `item` (string, can be null): Filing: the 8-K item (`2.02`). Absent on a 6-K, a periodic report, an offering or proxy filing or another SEC form.
- `sections` (array of object, can be null)
- `summary_evidence` (array of object): Filing: the verbatim filing quotes behind each sentence of `summary`. Absent when no sentence has one.

### Statuses

- 200: The whole record
- 400: `request.invalid`, not an id this API serves; `request.out_of_plan` naming `type`, the plan does not cover the id's pool
- 401: Missing, unknown, revoked, or expired key
- 410: `withdrawn`, no servable record carries this id
- 429: Rate limited or quota denied
- 503: `content.unresolved`, the read did not resolve

### Request

```bash
# RESULT_ID: the id of a search result.
curl -sS "https://data.finks.ai/v1/content/$RESULT_ID" \
  -H "Authorization: Bearer $FINKS_API_KEY"
```

Not metered.

- Data: Market news, from Finks and financial publishers. Updates: daily.
- Data: Earnings call transcripts, from Company earnings calls. Updates: after each call.
- Data: SEC filings, from SEC EDGAR. Updates: as filed.

## Filing event

`GET /v1/events/{ledger_event_id}` (#get-v1-events-ledger-event-id)

One real-world event across its 8-K and every 8-K/A, with the filing record that currently states its facts. An old event id answers with the event it now belongs to.

### Parameters

- `ledger_event_id` (string, path, required): A filing's `ledger_event_id`, from a search result or the filing feed.

### Response

- `anchor_event_ids` (array of string, required): Every filing event (`e1:`) that proves this event, oldest first: the 8-K, then each 8-K/A (a Form 4, then each 4/A; a 13F, then its amendments).
- `current_event_id` (string, required): The filing event (`e1:`) whose facts are current: the newest anchor.
- `event_type` (string, required)
- `first_filed_at` (string, required): EDGAR acceptance of the first anchor filing, RFC 3339.
- `last_filed_at` (string, required): EDGAR acceptance of the newest anchor filing, RFC 3339.
- `ledger_event_id` (string, required): A filing's `ledger_event_id`, from a search result or the filing feed.
- `subject` (object, required): Whom a ledger event happened to: the 8-K filer, a Form 4's or 13D/13G's issuer, a 13F's filer.
- `event_subtype` (string, can be null): The 8-K item (`2.02`); a Form 4's transaction code (`S`, `P`, ...), a 13F's report kind (`report`, `restatement`, `new_holdings`), a 13D/13G's `activist` or `passive`.
- `filing` (any, can be null)
- `occurred_on` (string, can be null): `YYYY-MM-DD`: the 8-K's date of the earliest event reported; a Form 4's transaction date, a 13F's period end, a 13D/13G's date of the event requiring the filing.

### Statuses

- 200: The event and its current filing
- 400: `request.invalid`, not a ledger id; `request.out_of_plan`, the plan does not cover `filing`
- 401: Missing, unknown, revoked, or expired key
- 404: `not_found`, the ledger serves no event under this id
- 429: Rate limited or quota denied
- 503: `content.unresolved`, the ledger or the filing read did not resolve

### Request

```bash
# LEDGER_EVENT_ID: a filing result's ledger_event_id.
curl -sS "https://data.finks.ai/v1/events/$LEDGER_EVENT_ID" \
  -H "Authorization: Bearer $FINKS_API_KEY"
```

Not metered.

- Data: 8-K events, from SEC EDGAR. Updates: as filed.