/api/v1/ownership/cross-reference/{holder_uuid}Cross-system filing reference for a unified holder.
Cross-system filing reference for a unified holder.
Why use this
Common use case
Cross-source filing rollup grouped by source-type — for one unified holder, returns separate form_4[], form_13f[], and form_13dg[] arrays so consumers can render per-source-type drill-down panels. The natural shape for UIs that present each filing regime as a separate tab or section. Differs from GET /api/v1/ownership/holders/{uuid}/filing-history which returns ONE merged chronological feed — that endpoint is better for combined-timeline views, this one is better for per-source-type-panel views. The summary block surfaces cross-source rollup counts (total / per-source / unique-issuers) for header rendering on profile pages. Use the accession_number from each entry to drill into form-type-specific filing-detail endpoints: /insider-module/api/insiders/filings/{accession_number} for Form 4, /ownership/beneficial-ownership/filings/{accession_number} for 13D/G, /api/v1/sec/filings/{accession_number} for the raw filing metadata.
Parameters
| Name | In | Required | Default | Allowed | Description | Example |
|---|---|---|---|---|---|---|
| holder_uuid | path | required | — | — | Phase 47 unified-holder UUID. Look up via [GET /api/v1/ownership/holders](/docs/ownership-and-positions/unified-holders/get-ownership-holders). Returns 404 on unknown UUIDs. | 7f1a2b30-c4d5-46e7-9f01-23456789abcd |
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| holder_uuid | string | no | Echoed UUID. |
| name | string | no | Canonical holder name. |
| form_4 | array | no | Array of Form 3/4/5 (Section 16 insider) filings the holder has been a party to, sorted by `filed_at DESC`. Empty array on holders who have never filed Section 16. Each entry: `{ accession_number: string, filed_at: string, issuer_cik: string, issuer_ticker: string|null, action: string }`. |
| form_13f | array | no | Array of 13F-HR/NT filings the holder has filed, sorted by `period_of_report DESC`. Empty array on holders who have never filed 13F. Each entry: `{ accession_number: string, filed_at: string, period_of_report: string, position_count: integer, total_aum_usd: number }`. `period_of_report` is the calendar quarter-end (always calendar-aligned per SEC mandate). |
| form_13dg | array | no | Array of Schedule 13D / 13G / 13D-A / 13G-A filings the holder has filed, sorted by `filed_at DESC`. Empty array on holders who have never filed 13D/G. Each entry: `{ accession_number: string, filed_at: string, form_type: string, issuer_cik: string, issuer_ticker: string|null, percent_of_class: number|null, purpose: string|null }`. |
| summary | object | no | Cross-source rollup metadata: `{ total_filings: integer, form_4_count: integer, form_13f_count: integer, form_13dg_count: integer, first_filing_at: string, last_filing_at: string, unique_issuers: integer }`. The `unique_issuers` count rolls up issuers across all three source-types — useful for sizing the holder's coverage breadth (Berkshire ~75 unique issuers, BlackRock ~12K). |
Sample response
- "holder_uuid": "7f1a2b30-c4d5-46e7-9f01-23456789abcd"
- "name": "BERKSHIRE HATHAWAY INC"
- "form_4": []
- "form_13f":
- "form_13dg":
- "summary":
- "total_filings": 110
- "form_4_count": 0
- "form_13f_count": 102
- "form_13dg_count": 8
- "first_filing_at": "1999-11-15T17:00:00Z"
- "last_filing_at": "2026-04-15T20:14:32Z"
- "unique_issuers": 75
Errors
| Status | Label | Description |
|---|---|---|
| 200 | OK | Request succeeded. |
| 400 | Bad Request | Invalid query, body, or path parameter. |
| 401 | Unauthorized | Missing or invalid Authorization header / api_Token. |
| 402 | Payment Required | Insufficient token balance for this call. Top up |
| 429 | Too Many Requests | Rate limit exceeded for your tier (see /pricing for tier limits). Tier limits |
| 500 | Server Error | Unexpected server-side failure. Retry with backoff; report if persistent. |
Code samples
curl "https://api.finradar.ai/api/v1/ownership/cross-reference/{holder_uuid}?api_Token=YOUR_API_KEY" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).