> This page is for API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.spreadspace.app/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.spreadspace.app/_mcp/server.

# filing.landed

POST 

Fires once per public filing of a company the organization follows, when the filing is first stored; never for a filing more than 30 days old when it is stored. The payload carries the accession, the registrant, the form, the filing date and the appends, what the filing made readable. Fetch the statements through the store routes under `/api/public/`.

Reference: https://docs.spreadspace.app/api/api-reference/webhook-events/webhook-filing-landed

## Request

### Headers

- `SpreadSpace-Signature` (string, required) — Signature over the exact request body: `t=<seconds since the Unix epoch>,v1=<lowercase hex HMAC-SHA256 of "{t}.{body}" keyed with your endpoint's signing secret>`. Verify it before trusting the body, and reject a `t` more than five minutes from your own clock. During a secret rotation both the new and the previous secret verify for 24 hours; each delivery is signed with exactly one.
- `SpreadSpace-Event-Id` (string, required) — The event id, identical to the body's `id`. Stable across retries and replays, and shared by every endpoint one event fans out to. Delivery is at-least-once, so dedupe on it.

### Payload

- `id` (string, required) — Event id: `evt_` plus 24 lowercase hex characters. Also sent as the `SpreadSpace-Event-Id` header. Stable across retries and replays, so dedupe on it.
- `type` (enum, required) — Always this event type on this body.
  - Allowed values: `filing.landed`
- `created_at` (datetime, required) — Server-side wall-clock time the event was created, RFC 3339. Deliveries are not ordered; reconcile on this.
- `tenant_id` (string, required) — The workspace the event belongs to. Reject a delivery whose tenant does not match the endpoint you registered.
- `livemode` (boolean, required) — `true` for live activity, `false` for test mode (an `ss_test_` key or the sandbox simulator). Branch on it to route test deliveries to a staging handler.
- `data` (FilingEventPayload, required) — The `data` object on a `filing.landed`, `filing.extracted` or `filing.superseded` delivery, sent once per public filing of a company the organization follows, and never for a filing more than 30 days old when it is stored. A pointer with the appends: the filing's accession, registrant, form and date, and what the filing made readable. The appends ride the event so a consumer learns what became readable without a second call; the statements themselves are fetched through the store routes under `/api/public/`, where the caller's own scope and plan apply.
- `api_version` (string, optional) — The API version the delivery was rendered under, a date stamp: the same value `/v1/openapi.json` reports as `info.version`. The envelope and `data` have that version's shape, and a breaking change ships under a new stamp. A delivery recorded before this field existed carries none, and has the `2026-10-07` shape.

## Types

### FilingEventPayload

The `data` object on a `filing.landed`, `filing.extracted` or `filing.superseded` delivery, sent once per public filing of a company the organization follows, and never for a filing more than 30 days old when it is stored. A pointer with the appends: the filing's accession, registrant, form and date, and what the filing made readable. The appends ride the event so a consumer learns what became readable without a second call; the statements themselves are fetched through the store routes under `/api/public/`, where the caller's own scope and plan apply.

- `accession` (string, required) — The filing's SEC accession number, the `filing_id` the store routes take.
- `registrant_id` (string, required) — The company's SEC Central Index Key, the `registrant_id` the store routes take.
- `form` (string, required) — The form type as filed, such as 10-K, 10-Q, 8-K or S-1.
- `filing_date` (date, required) — The date the filing was made.
- `appends` (FilingEventPayloadAppends, required) — What a public filing made readable.
- `registrant_name` (string, optional, nullable) — The registrant's name; null when the store holds no name for it.

### FilingEventPayloadAppends

What a public filing made readable.

- `form` (string, required) — The form type as filed.
- `statements` (list of FilingEventPayloadAppendsStatementsItems, required) — The statements the filing added, each with its period end; empty when none.
- `tables` (list of string, required) — The titles of the supporting tables the filing added; empty when none.
- `periods` (list of date, required) — The distinct dated period ends across the filing's documents, ascending; empty when none.
- `extractor_version` (string, optional, nullable) — The extractor version the filing's documents were extracted under; null when no extraction has been applied yet.
- `superseded_by` (string, optional, nullable) — The accession number of the amendment that took the filing's place; null unless the event is `filing.superseded`.

### FilingEventPayloadAppendsStatementsItems

One statement a public filing added.

- `document_type` (string, optional, nullable) — The statement's document type, such as profit_and_loss or balance_sheet; null when the extraction named none.
- `period_end` (date, optional, nullable) — The statement's period end; null when the extraction named none or printed no date.