{
  "schema_version": "0.1",
  "generated_at": "2026-07-10",
  "name": "secapi.ai API catalog",
  "docs_url": "https://docs.secapi.ai/",
  "marketing_url": "https://secapi.ai/apis",
  "openapi": {
    "canonical_url": "https://docs.secapi.ai/openapi/sec-api-public.v1.json",
    "local_paths": [
      "/openapi/sec-api-public.v1.json",
      "/openapi/sec-api.v1.json",
      "/api-reference/openapi.json"
    ],
    "version": "3.1.0"
  },
  "mcp": {
    "endpoint": "https://api.secapi.ai/mcp",
    "docs_url": "https://docs.secapi.ai/mcp-workflows",
    "server_card_url": "https://docs.secapi.ai/mcp-server-card.json"
  },
  "auth": {
    "type": "api_key",
    "header": "x-api-key",
    "docs_url": "https://docs.secapi.ai/auth-and-pricing",
    "signup_url": "https://secapi.ai/signup"
  },
  "availability": {
    "values": [
      "live",
      "preview",
      "gated",
      "contract_required"
    ],
    "notes": {
      "live": "Public and enabled.",
      "preview": "Public preview with limited guarantees.",
      "gated": "Shipped in code; returns 404 when the env gate is off.",
      "contract_required": "Not a public self-serve route."
    }
  },
  "families": [
    {
      "slug": "advisers",
      "title": "Advisers",
      "description": "Reference pages for Advisers endpoints.",
      "docs_path": "/api-reference/advisers",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/advisers",
          "title": "GET /v1/advisers",
          "summary": "Search SEC Form ADV investment adviser filings by name, CIK, or state",
          "docs_path": "/api-reference/advisers/get-v1-advisers",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "agent",
      "title": "Agent",
      "description": "Provision an agent's first organization-scoped API key through a short-lived sponsor-token exchange.",
      "docs_path": "/api-reference/agent",
      "operations": [
        {
          "method": "POST",
          "path": "/v1/agent/bootstrap",
          "title": "POST /v1/agent/bootstrap",
          "summary": "Exchange a sponsor token for the first org-scoped API key, billing snapshot, limits, and MCP install metadata",
          "docs_path": "/api-reference/agent/post-v1-agent-bootstrap",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/agent/bootstrap_tokens",
          "title": "POST /v1/agent/bootstrap_tokens",
          "summary": "Issue a short-lived, single-use sponsor token for agent bootstrap under the current organization",
          "docs_path": "/api-reference/agent/post-v1-agent-bootstrap-tokens",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "alerts",
      "title": "Alerts",
      "description": "Public alert-plan and email-registration endpoints; availability is explicitly feature-gated.",
      "docs_path": "/api-reference/alerts",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/alerts/plan",
          "title": "GET /v1/alerts/plan",
          "summary": "Retrieve the public free-tier plan descriptor (included features, alert limits, and upgrade paths)",
          "docs_path": "/api-reference/alerts/get-v1-alerts-plan",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/alerts/signup",
          "title": "POST /v1/alerts/signup",
          "summary": "Register an email for the free alerts tier (idempotent lead capture)",
          "docs_path": "/api-reference/alerts/post-v1-alerts-signup",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "analytics",
      "title": "Analytics",
      "description": "Tenant-safe analytical query workflows over supported Datastream history datasets.",
      "docs_path": "/api-reference/analytics",
      "operations": [
        {
          "method": "POST",
          "path": "/v1/analytics/query",
          "title": "POST /v1/analytics/query",
          "summary": "Run a tenant-safe analytical query over supported SEC API history datasets without exposing raw SQL",
          "docs_path": "/api-reference/analytics/post-v1-analytics-query",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "dataset",
            "dimensions",
            "filters",
            "timeWindow",
            "sort",
            "rowCount",
            "warnings",
            "provenance"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "annual-reports",
      "title": "Annual Reports",
      "description": "Reference pages for Annual Reports endpoints.",
      "docs_path": "/api-reference/annual-reports",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/annual-reports",
          "title": "GET /v1/annual-reports",
          "summary": "List issuer annual reports (canonical 10-K / 20-F / 40-F) with an optional ARS sibling",
          "description": "Read model over existing filings. Canonical row is the latest 10-K (or 20-F/40-F) for the issuer-year. When an ARS accession exists for that year it is attached as `sibling`. Live `arsKind` is `unclassified` unless opening text is supplied (the route does not fetch 10–19 MB ARS PDFs). Classifiers `tenk_reprint` / `letter_plus_tenk` / `glossy_other` apply when opening text is injected. PDF primaries are never HTML-rendered: `renderCapability` is `pdf_unrendered` and `documentUrl` points at EDGAR. `letterId` on the canonical row and ARS sibling remains null until letter ingest lands. Canonical ticker examples use `BRK-B`, not `BRK.B`. Metered as `annual_report_lookup`. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/annual-reports/get-v1-annual-reports",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "artifacts",
      "title": "Artifacts",
      "description": "Build organization-scoped filing or comparison bundles, then inspect their manifests, exports, downloads, and storage state.",
      "docs_path": "/api-reference/artifacts",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/artifacts",
          "title": "GET /v1/artifacts",
          "summary": "List artifacts previously persisted for the current organization",
          "description": "Returns persisted artifact records owned by the authenticated organization. Filter by stored `kind` or `status`; the response is a bounded list and does not promise a complete archive or an external-storage inventory.",
          "docs_path": "/api-reference/artifacts/get-v1-artifacts",
          "audience": "application and admin",
          "metadata_fields": [
            "data[].id",
            "data[].kind",
            "data[].status",
            "data[].storageMode",
            "data[].downloadUrl",
            "data[].objectKey",
            "hasMore",
            "nextCursor",
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/artifacts",
          "title": "POST /v1/artifacts",
          "summary": "Build and persist a filing-derived artifact bundle",
          "description": "Builds one derived bundle for the selected issuer or comparison workflow, persists it to the authenticated organization, and returns the persisted record. For filing bundles, the default form is `10-K`; `sectionKey` selects one extracted section when available. This is an asynchronous-style acceptance response (`202`) even when the returned record is ready.",
          "docs_path": "/api-reference/artifacts/post-v1-artifacts",
          "audience": "application and admin",
          "metadata_fields": [
            "id",
            "kind",
            "status",
            "downloadUrl",
            "storageMode",
            "manifest",
            "provenance",
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/artifacts/{artifact_id}",
          "title": "GET /v1/artifacts/{artifact_id}",
          "summary": "Get one persisted artifact and its manifest",
          "description": "Returns the saved artifact record and its structured manifest when the artifact belongs to the authenticated organization. Use the manifest or export routes when a workflow needs explicit file metadata or an export envelope.",
          "docs_path": "/api-reference/artifacts/get-v1-artifacts-artifact-id",
          "audience": "application and admin",
          "metadata_fields": [
            "id",
            "kind",
            "status",
            "manifest",
            "provenance"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/artifacts/{artifact_id}/download",
          "title": "GET /v1/artifacts/{artifact_id}/download",
          "summary": "Download one persisted artifact payload",
          "description": "Returns the saved payload directly when it is stored locally. When the record is stored in R2, the route returns a `302` redirect to a short-lived signed object URL. Callers must allow redirects and should retain the artifact ID and manifest checksum alongside downloaded content.",
          "docs_path": "/api-reference/artifacts/get-v1-artifacts-artifact-id-download",
          "audience": "application and admin",
          "metadata_fields": [
            "payload body or 302 redirect",
            "artifact ID",
            "manifest checksum"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/artifacts/{artifact_id}/export",
          "title": "GET /v1/artifacts/{artifact_id}/export",
          "summary": "Export one persisted artifact as JSON, compact JSON, or a markdown download envelope",
          "description": "Returns the saved artifact with its manifest for `json` or `compact_json`. With `format=markdown`, the response is a download envelope rather than inline markdown; follow its download details. Compact JSON is intentionally reduced and may truncate large content or arrays.",
          "docs_path": "/api-reference/artifacts/get-v1-artifacts-artifact-id-export",
          "audience": "application and admin",
          "metadata_fields": [
            "artifactId",
            "format",
            "manifest",
            "artifact or download envelope"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/artifacts/{artifact_id}/manifest",
          "title": "GET /v1/artifacts/{artifact_id}/manifest",
          "summary": "Get the structured manifest for one persisted artifact",
          "description": "Returns storage metadata, file size, checksum, optional filing and section context, and supported export formats for one organization-scoped artifact. Manifest citation fields are descriptive metadata; retain the cited filing reference when a downstream result needs source evidence.",
          "docs_path": "/api-reference/artifacts/get-v1-artifacts-artifact-id-manifest",
          "audience": "application and admin",
          "metadata_fields": [
            "artifactId",
            "filename",
            "contentType",
            "byteLength",
            "checksumSha1",
            "filing",
            "section",
            "exportedFormats"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/artifacts/{artifact_id}/reconcile",
          "title": "POST /v1/artifacts/{artifact_id}/reconcile",
          "summary": "Reconcile one persisted artifact with configured object storage",
          "description": "Checks the saved record against configured R2 storage. Without R2 configuration it reports `local_only`; with R2 it can report an existing object as `synced`, repair a missing stored object as `recovered`, or upload a local record as `uploaded`. Send no request fields.",
          "docs_path": "/api-reference/artifacts/post-v1-artifacts-artifact-id-reconcile",
          "audience": "application and admin",
          "metadata_fields": [
            "artifactId",
            "status",
            "storageMode",
            "objectKey",
            "requestId"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/artifacts/summary",
          "title": "GET /v1/artifacts/summary",
          "summary": "Summarize persisted artifact storage for the current organization",
          "description": "Groups the current organization's persisted artifacts by stored kind, lifecycle status, and storage mode. Counts and byte totals describe stored records, not source-filing coverage or external object-store completeness.",
          "docs_path": "/api-reference/artifacts/get-v1-artifacts-summary",
          "audience": "application and admin",
          "metadata_fields": [
            "object",
            "orgId",
            "rows[].kind",
            "rows[].status",
            "rows[].storageMode",
            "rows[].count",
            "rows[].totalBytes",
            "requestId"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "board",
      "title": "Board",
      "description": "Board composition and director-level governance surfaces derived from SEC proxy disclosures.",
      "docs_path": "/api-reference/board",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/board",
          "title": "GET /v1/board",
          "summary": "Return the latest board composition derived from definitive proxy filings with director roster and committee coverage semantics",
          "docs_path": "/api-reference/board/get-v1-board",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "companies",
      "title": "Companies",
      "description": "Build issuer research views from SEC-derived statements, ratios, segments, macro exposure, and company snapshots.",
      "docs_path": "/api-reference/companies",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/companies/audit-fees",
          "title": "GET /v1/companies/audit-fees",
          "summary": "Return principal-accountant fee rows extracted from the latest DEF 14A or 10-K for an issuer",
          "docs_path": "/api-reference/companies/get-v1-companies-audit-fees",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/companies/balance-sheets",
          "title": "GET /v1/companies/balance-sheets",
          "summary": "Retrieve an issuer's SEC-derived balance sheet history with normalized cash, debt, and equity fields",
          "description": "Use this route to inspect reported balance-sheet positions for one issuer. Choose annual or quarterly cadence and bound the history with `limit`; balance-sheet rows are point-in-time observations, so do not treat them as duration values. Results are normalized from supported SEC XBRL filings and retain units, period dates, and provenance. See [statements reference](/api-reference/statements) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/companies/get-v1-companies-balance-sheets",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/companies/cash-flow-statements",
          "title": "GET /v1/companies/cash-flow-statements",
          "summary": "Retrieve an issuer's SEC-derived cash flow statement history with normalized cash-generation fields",
          "description": "Use this route to review operating, investing, and financing cash-flow history for one issuer. Choose annual or quarterly cadence before comparing periods, because cash-flow rows describe a duration rather than a point-in-time balance. Values are normalized from supported SEC XBRL filings and retain units, periods, and provenance; free-cash-flow fields are derived from those filings, not a forecast. See [statements reference](/api-reference/statements) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/companies/get-v1-companies-cash-flow-statements",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/companies/financials",
          "title": "GET /v1/companies/financials",
          "summary": "Retrieve an issuer's SEC-derived income, balance-sheet, and cash flow statements in one company-focused response",
          "description": "Use this route to assemble the three core normalized statements for one issuer or a bounded ticker batch. `tickers` returns one row per requested ticker and can include a partial degraded state when an individual issuer fails; inspect each row rather than treating the batch as all-or-nothing. Select annual or quarterly cadence and fiscal-year filters before comparing results. Values retain SEC XBRL source context and are not live market data. See [statements reference](/api-reference/statements) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/companies/get-v1-companies-financials",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/companies/income-statements",
          "title": "GET /v1/companies/income-statements",
          "summary": "Retrieve an issuer's SEC-derived income statement history with normalized operating and per-share fields",
          "description": "Use this route to analyze reported income-statement history for one issuer. Select annual or quarterly cadence, then use fiscal-year filters and `limit` to constrain the reporting periods returned. Values are normalized from supported SEC XBRL filings and retain their reported units, periods, and provenance; derived fields do not replace the cited filing or make unlike periods comparable. See [statements reference](/api-reference/statements) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/companies/get-v1-companies-income-statements",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/companies/macro-exposure",
          "title": "GET /v1/companies/macro-exposure",
          "summary": "Retrieve a revenue-weighted macro-exposure snapshot built from an issuer's disclosed geographic revenue and country indicators",
          "description": "Use this route to inspect a company's modelled macro sensitivities, weighted by available disclosed geographic revenue segments. `coveragePercent`, confidence, source context, and the selected reporting period explain how much of the issuer's revenue could be mapped; a low-coverage result is not a statement that the issuer has no foreign exposure. The returned betas and directions are an exposure snapshot, not a forecast or investment recommendation. See [statements reference](/api-reference/statements) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/companies/get-v1-companies-macro-exposure",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/companies/overview",
          "title": "GET /v1/companies/overview",
          "summary": "Retrieve an SEC-derived company snapshot with identity, latest material filing, and a sector-aware financial view",
          "description": "Use this route to start issuer research with identity, classification, the latest material filing, and a financial snapshot drawn from recent annual SEC XBRL facts. `companyType` determines which metrics are meaningful, so null margins or cash-flow values can be expected for financial institutions or pre-revenue companies. Optional enrichments are bounded and independently statused; factor exposure is descriptive, not a forecast, and footnotes are returned as a reference. Preserve the returned filing, provenance, and freshness fields before presenting the snapshot as current. See [statements reference](/api-reference/statements) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/companies/get-v1-companies-overview",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/companies/ratios",
          "title": "GET /v1/companies/ratios",
          "summary": "Retrieve an issuer's statement-derived profitability, return, valuation, dividend, and leverage ratios with period context",
          "description": "Use this route to compare a company's calculated ratios across reported periods or a bounded ticker batch. `tickers` can return a partial degraded state when an individual issuer fails, so inspect each item before ranking. Ratio inputs combine SEC-derived statement values with available market context; retain the reported period, units, provenance, and freshness fields, and do not treat a missing ratio as zero or as a trading signal. See [statements reference](/api-reference/statements) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/companies/get-v1-companies-ratios",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/companies/segments",
          "title": "GET /v1/companies/segments",
          "summary": "Retrieve an issuer's SEC-disclosed product, geographic, and operating segment breakdown with revenue-tie confidence",
          "description": "Use this route to understand an issuer's disclosed business mix across product, geographic, and operating axes. The service groups filing-derived segment facts, anchors each axis to reported revenue where possible, and returns a confidence signal; a `low_confidence` axis should not be presented as a complete revenue decomposition. Select annual or quarterly reporting before comparing results, and keep the returned filing provenance and freshness fields with any analysis. See [statements reference](/api-reference/statements) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/companies/get-v1-companies-segments",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/companies/subsidiaries",
          "title": "GET /v1/companies/subsidiaries",
          "summary": "Retrieve subsidiaries disclosed in an issuer's latest available 10-K Exhibit 21",
          "description": "Use this route to review subsidiaries an issuer disclosed in Exhibit 21 of its latest available 10-K. The result is an extracted filing schedule, not a current legal-entity registry, complete ownership chart, or confirmation that an issuer has no other subsidiaries. An empty list can mean the selected filing lacks a usable Exhibit 21. Preserve the returned accession, filing date, and request metadata when presenting the default result; `filingUrl` is included only in `agent` view. See [filing conventions](/api-conventions) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/companies/get-v1-companies-subsidiaries",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "compensation",
      "title": "Compensation",
      "description": "Compensation and governance-oriented executive pay workflows.",
      "docs_path": "/api-reference/compensation",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/compensation",
          "title": "GET /v1/compensation",
          "summary": "Return normalized executive compensation records derived from the latest DEF 14A filing",
          "docs_path": "/api-reference/compensation/get-v1-compensation",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/compensation/compare",
          "title": "POST /v1/compensation/compare",
          "summary": "Compare the latest two executive compensation disclosures for an issuer",
          "docs_path": "/api-reference/compensation/post-v1-compensation-compare",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "delivery",
      "title": "Delivery",
      "description": "Inspect organization-scoped delivery records, export event history, or handle signed email unsubscriptions.",
      "docs_path": "/api-reference/delivery",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/delivery/events",
          "title": "GET /v1/delivery/events",
          "summary": "List durable Delivery ledger, webhook delivery, and stream records for the current organization",
          "docs_path": "/api-reference/delivery/get-v1-delivery-events",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/delivery/events/export",
          "title": "GET /v1/delivery/events/export",
          "summary": "Export durable Delivery ledger records as JSON or NDJSON",
          "docs_path": "/api-reference/delivery/get-v1-delivery-events-export",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/delivery/unsubscribe",
          "title": "GET /v1/delivery/unsubscribe",
          "summary": "Render an unsubscribe confirmation page for a signed token",
          "description": "Anonymous endpoint. GET is preview-safe and never mutates state — it only renders a confirmation page with a POST form. Email link previewers (Outlook, Apple Mail, Gmail) will fetch this URL during scanning; the user must submit POST to actually unsubscribe (RFC 8058).",
          "docs_path": "/api-reference/delivery/get-v1-delivery-unsubscribe",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/delivery/unsubscribe",
          "title": "POST /v1/delivery/unsubscribe",
          "summary": "Unsubscribe from monitor email delivery (RFC 8058 one-click compatible)",
          "description": "Anonymous endpoint. Token may be supplied in form-encoded body OR query string. When the body includes `List-Unsubscribe=One-Click`, the response is 204 No Content per RFC 8058. Idempotent — repeated calls with the same token return the same result.",
          "docs_path": "/api-reference/delivery/post-v1-delivery-unsubscribe",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "dilution",
      "title": "Dilution",
      "description": "Investigate SEC-disclosed dilution signals: offerings, convertibles, warrants, share float, cash, and capital-structure events.",
      "docs_path": "/api-reference/dilution",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/dilution/cash-position",
          "title": "GET /v1/dilution/cash-position",
          "summary": "Find reported cash, burn, and runway fields by issuer and reporting period",
          "docs_path": "/api-reference/dilution/get-v1-dilution-cash-position",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: periodEnded, cash, cashBurn, cashRemainingMonths, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/convertibles",
          "title": "GET /v1/dilution/convertibles",
          "summary": "Find disclosed convertible instruments and their conversion terms",
          "docs_path": "/api-reference/dilution/get-v1-dilution-convertibles",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: conversionPrice, conversionPriceType, hasResetRatchet, maturityDate, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/corporate-actions",
          "title": "GET /v1/dilution/corporate-actions",
          "summary": "Find capital-structure context from ticker, exchange, de-SPAC, and split actions",
          "docs_path": "/api-reference/dilution/get-v1-dilution-corporate-actions",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: effectiveDate, actionType, oldSymbol, newSymbol, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/coverage",
          "title": "GET /v1/dilution/coverage",
          "summary": "Inspect dilution row counts, verified rows, and latest observation dates by table",
          "docs_path": "/api-reference/dilution/get-v1-dilution-coverage",
          "audience": "application and coding agent",
          "metadata_fields": [
            "ticker",
            "generatedAt",
            "totalRowCount",
            "totalVerifiedRowCount",
            "tables[].table",
            "tables[].rowCount",
            "tables[].latestFilingDate",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/events",
          "title": "GET /v1/dilution/events",
          "summary": "Find filed offering and issuance events by issuer, filing, date, or ATM status",
          "docs_path": "/api-reference/dilution/get-v1-dilution-events",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: id, ticker, accessionNumber, filedAt, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/events/{event_id}",
          "title": "GET /v1/dilution/events/{event_id}",
          "summary": "Retrieve one filed dilution event with linked instruments and verification fields",
          "docs_path": "/api-reference/dilution/get-v1-dilution-events-event-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "id",
            "ticker",
            "accessionNumber",
            "documentUrl",
            "verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/lockups",
          "title": "GET /v1/dilution/lockups",
          "summary": "Find disclosed lockup restrictions, dates, parties, and release conditions",
          "docs_path": "/api-reference/dilution/get-v1-dilution-lockups",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: startDate, endDate, sharesAmount, conditions, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/nasdaq-compliance",
          "title": "GET /v1/dilution/nasdaq-compliance",
          "summary": "Find Nasdaq deficiency and compliance notices by issuer, status, or date",
          "docs_path": "/api-reference/dilution/get-v1-dilution-nasdaq-compliance",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: date, deficiency, status, accessionNumber, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/ratings",
          "title": "GET /v1/dilution/ratings",
          "summary": "List persisted dilution-rating history by issuer or overall-risk value",
          "docs_path": "/api-reference/dilution/get-v1-dilution-ratings",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: ticker, numericScore, overallRisk, factors, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/reverse-splits",
          "title": "GET /v1/dilution/reverse-splits",
          "summary": "Find disclosed reverse stock split ratios and execution dates",
          "docs_path": "/api-reference/dilution/get-v1-dilution-reverse-splits",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: executionDate, splitFrom, splitTo, accessionNumber, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/rofr",
          "title": "GET /v1/dilution/rofr",
          "summary": "Find disclosed rights-of-first-refusal and underwriter tail-financing provisions",
          "docs_path": "/api-reference/dilution/get-v1-dilution-rofr",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: rightOfFirstRefusalPresent, rightOfFirstRefusalEndDate, tailFinancingPaymentsPresent, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/score",
          "title": "GET /v1/dilution/score",
          "summary": "Calculate the current per-issuer Dilution Score from available inputs",
          "docs_path": "/api-reference/dilution/get-v1-dilution-score",
          "audience": "application and coding agent",
          "metadata_fields": [
            "ticker",
            "numericScore",
            "overallRisk",
            "factors",
            "verification.confidence",
            "provenance",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/share-float-history",
          "title": "GET /v1/dilution/share-float-history",
          "summary": "List disclosed shares-outstanding and public-float observations by issuer and date",
          "docs_path": "/api-reference/dilution/get-v1-dilution-share-float-history",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: asOfDate, sharesOutstanding, publicFloatUsd, sourceAccession, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/dilution/warrants",
          "title": "GET /v1/dilution/warrants",
          "summary": "Find disclosed warrant terms and potential share overhang in offering materials",
          "docs_path": "/api-reference/dilution/get-v1-dilution-warrants",
          "audience": "application and coding agent",
          "metadata_fields": [
            "data",
            "hasMore",
            "nextCursor",
            "per-row: warrantsAmount, warrantsExercisePrice, underlyingSharesCalculated, verification.confidence",
            "requestId",
            "traceparent (standard response/header)"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "earnings",
      "title": "Earnings materials",
      "description": "SEC-furnished earnings materials, coverage state, and transcript-adjacent filing extracts.",
      "docs_path": "/api-reference/earnings",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/earnings/transcripts",
          "title": "GET /v1/earnings/transcripts",
          "summary": "Return SEC-furnished earnings materials from 8-K filings with release, remarks, and transcript coverage states",
          "description": "This route is an on-demand EDGAR scan of SEC-furnished 8-K Item 2.02 *materials*, not a complete speaker-transcript store. `contentMd` is capped at 12,000 characters; when the body is longer the response sets `contentTruncated=true` and `contentMdChars` to the untruncated length. `kind` reuses `coverage` (`release_only` | `prepared_remarks` | `transcript_text` | `unusable`) and adds `shareholder_letter` when a detector identifies an EX-99 shareholder letter (Block class). `letterId` is reserved for a later join to a served letter document and remains null until letter ingest lands. Persisted speaker transcripts live at `/v1/filings/transcripts` and remain 404 while filings-intelligence is off. Do not treat a Block EX-99 as an earnings-call transcript. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/earnings/get-v1-earnings-transcripts",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "embed",
      "title": "Embed",
      "description": "Reference pages for Embed endpoints.",
      "docs_path": "/api-reference/embed",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/embed/feed",
          "title": "GET /v1/embed/feed",
          "summary": "Public embeddable reverse-chronological situations feed for third-party sites (JSON, cacheable, CORS-enabled)",
          "docs_path": "/api-reference/embed/get-v1-embed-feed",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/embed/letters",
          "title": "GET /v1/embed/letters",
          "summary": "Public snippet-only featured shareholder letters",
          "description": "Anonymous, cacheable, flag-gated gold excerpts only (≤480 characters). Not full IR PDFs. Returns 404 while the public letters embed is off. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/embed/get-v1-embed-letters",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/embed/letters/{slug}",
          "title": "GET /v1/embed/letters/{slug}",
          "summary": "Public snippet-only featured letter by slug",
          "description": "Anonymous member of `/v1/embed/letters`. Slugs are a fixed gold set (`brk-2024`, `brk-2025`, `xyz-q4-2025`, `xyz-q2-2026`). Returns 404 while the public letters embed is off.",
          "docs_path": "/api-reference/embed/get-v1-embed-letters-slug",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/embed/macro/countries/{iso2}",
          "title": "GET /v1/embed/macro/countries/{iso2}",
          "summary": "Public latest values across the macro-map indicators for one country",
          "docs_path": "/api-reference/embed/get-v1-embed-macro-countries-iso2",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/embed/macro/map",
          "title": "GET /v1/embed/macro/map",
          "summary": "Public country×period matrix for one macro-map indicator",
          "description": "Anonymous, cacheable annual matrix plus a bounded recent-monthly overlay. Root-source labels only — no vendor source keys.",
          "docs_path": "/api-reference/embed/get-v1-embed-macro-map",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/embed/macro/series/{iso2}/{indicator}",
          "title": "GET /v1/embed/macro/series/{iso2}/{indicator}",
          "summary": "Public full-history series and stats for one country indicator",
          "docs_path": "/api-reference/embed/get-v1-embed-macro-series-iso2-indicator",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/embed/situations",
          "title": "GET /v1/embed/situations",
          "summary": "Public capped Special Situations list for logged-out experiences",
          "description": "Anonymous, recent-only public projection. Includes SEC filing accessions and safe public citation provenance while keeping provider keys, extraction trace ids, model versions, confidence/cross-validation telemetry, prompts, and raw provenance metadata out of the response.",
          "docs_path": "/api-reference/embed/get-v1-embed-situations",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "preview"
        },
        {
          "method": "GET",
          "path": "/v1/embed/situations/{id}",
          "title": "GET /v1/embed/situations/{id}",
          "summary": "Public situation detail used by secapi.ai situation permalinks and embeddable discovery surfaces",
          "description": "Anonymous, cacheable detail surface for recent public situations. The response matches the implementation's public projection: provider-owned keys and verification internals are omitted.",
          "docs_path": "/api-reference/embed/get-v1-embed-situations-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "preview"
        },
        {
          "method": "GET",
          "path": "/v1/embed/situations/{situation_id}/export",
          "title": "GET /v1/embed/situations/{situation_id}/export",
          "summary": "Public snapshot export for one recent Special Situation (json, csv, or llm). Binary PDF/Excel require the authenticated async path.",
          "docs_path": "/api-reference/embed/get-v1-embed-situations-situation-id-export",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "preview"
        },
        {
          "method": "GET",
          "path": "/v1/embed/situations/feed",
          "title": "GET /v1/embed/situations/feed",
          "summary": "Public capped Special Situations event feed with safe filing provenance",
          "description": "Anonymous recent event feed for embedded/public UI surfaces. Event provenance includes SEC accession, SEC filing URL when public-safe, and source-linked public citations when available.",
          "docs_path": "/api-reference/embed/get-v1-embed-situations-feed",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "preview"
        },
        {
          "method": "GET",
          "path": "/v1/embed/situations/feed.rss",
          "title": "GET /v1/embed/situations/feed.rss",
          "summary": "Public RSS feed of recent Special Situations events",
          "docs_path": "/api-reference/embed/get-v1-embed-situations-feed-rss",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "preview"
        },
        {
          "method": "GET",
          "path": "/v1/embed/situations/issues",
          "title": "GET /v1/embed/situations/issues",
          "summary": "Public capped Special Situations Digest issue archive",
          "description": "Anonymous, cacheable archive index for published Special Situations Digest issues. The index omits member situation rows while preserving issue metadata, source ids, and publication dates.",
          "docs_path": "/api-reference/embed/get-v1-embed-situations-issues",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "preview"
        },
        {
          "method": "GET",
          "path": "/v1/embed/situations/issues/{issue}",
          "title": "GET /v1/embed/situations/issues/{issue}",
          "summary": "Public Special Situations Digest issue detail by number or slug",
          "description": "Anonymous, cacheable detail for one published Special Situations Digest issue. The response is the frozen public issue snapshot with provider-owned and market-plane internals omitted by the route projection.",
          "docs_path": "/api-reference/embed/get-v1-embed-situations-issues-issue",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "preview"
        },
        {
          "method": "GET",
          "path": "/v1/embed/situations/stats",
          "title": "GET /v1/embed/situations/stats",
          "summary": "Public recent-window Special Situations counts with persisted-column coverage scope",
          "docs_path": "/api-reference/embed/get-v1-embed-situations-stats",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "preview"
        },
        {
          "method": "GET",
          "path": "/v1/embed/widget.js",
          "title": "GET /v1/embed/widget.js",
          "summary": "Public embeddable feed widget script that renders the situations feed into a host element",
          "docs_path": "/api-reference/embed/get-v1-embed-widget-js",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "entities",
      "title": "Entities",
      "description": "Resolve and search best-match public-market entities across issuers, managers, insiders, and funds.",
      "docs_path": "/api-reference/entities",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/entities",
          "title": "GET /v1/entities",
          "summary": "Search canonical SEC entities across issuers, managers, insiders, and funds with offset pagination",
          "docs_path": "/api-reference/entities/get-v1-entities",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/entities/edgar",
          "title": "GET /v1/entities/edgar",
          "summary": "Search SEC EDGAR entity records by name, ticker, CIK, or identifier with source-oriented pagination",
          "docs_path": "/api-reference/entities/get-v1-entities-edgar",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/entities/resolve",
          "title": "GET /v1/entities/resolve",
          "summary": "Resolve one issuer, manager, insider, or fund from a market or SEC identifier, returning the canonical entity and match confidence",
          "docs_path": "/api-reference/entities/get-v1-entities-resolve",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "event_types",
      "title": "Event Types",
      "description": "Reference pages for Event Types endpoints.",
      "docs_path": "/api-reference/event_types",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/event_types",
          "title": "GET /v1/event_types",
          "summary": "List Delivery event types, producer status, replay support, retention, and billing family metadata",
          "docs_path": "/api-reference/event_types/get-v1-event-types",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "events",
      "title": "Events",
      "description": "Search disclosure-derived M&A, restatement, auditor, officer, voting, IPO, and SEC enforcement events before reviewing the cited filing or release.",
      "docs_path": "/api-reference/events",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/events/auditor-changes",
          "title": "GET /v1/events/auditor-changes",
          "summary": "Find 8-K Item 4.01 auditor dismissal, resignation, and engagement disclosures",
          "description": "Finds auditor-change events derived from 8-K Item 4.01 disclosures. Change types summarize the filing and should be checked against the cited source before making a governance or accounting claim. Preserve accession and source fields, and treat filing dates as disclosure dates rather than effective-change dates. Coverage is bounded by the submission scan; continue with the returned `nextCursor` value for the same filters. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/events/get-v1-events-auditor-changes",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "per-row provenance",
            "per-row freshness",
            "per-row materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/events/enforcement",
          "title": "GET /v1/events/enforcement",
          "summary": "Search official SEC enforcement releases, proceedings, and accounting actions",
          "description": "Searches official SEC litigation releases, administrative proceedings, and Accounting and Auditing Enforcement Releases (AAERs). Preserve release URLs and source fields when reviewing a result. `publishedAt` is the source publication date; classifications and extracted penalties are derived fields, and a missing penalty is not zero. Continue with the returned `nextCursor` value for the same filters. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/events/get-v1-events-enforcement",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "per-row provenance",
            "per-row freshness",
            "per-row materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/events/ipo",
          "title": "GET /v1/events/ipo",
          "summary": "Find filing-derived IPO and public-offering candidates from registration filings",
          "description": "Finds IPO and public-offering candidates inferred from S-1, F-1, and 424B filings; it does not confirm that an offering priced, closed, or began trading. Treat filing dates as disclosure dates, preserve accession and source fields, and continue with the returned `nextCursor` value for the same filters. The supported forms and bounded submission scan define coverage, so no result is not proof that no offering occurred. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/events/get-v1-events-ipo",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "per-row provenance",
            "per-row freshness",
            "per-row materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/events/ma",
          "title": "GET /v1/events/ma",
          "summary": "Discover filing-derived merger and acquisition signals from public-company disclosures",
          "description": "Returns merger and acquisition candidates inferred from SEC filings and relevant exhibits. It is a research surface, not a definitive deal feed or closing-status record. Preserve the cited accession and source fields, and treat filing dates as disclosure timing rather than announcement, signing, or closing dates. Use the returned `nextCursor` value with the same filters. The bounded submission scan can leave older matching filings outside the result. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/events/get-v1-events-ma",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "per-row provenance",
            "per-row freshness",
            "per-row materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/events/officer-changes",
          "title": "GET /v1/events/officer-changes",
          "summary": "Find 8-K Item 5.02 officer and director appointment and departure disclosures",
          "description": "Finds officer and director changes derived from 8-K Item 5.02 filings, including appointments, departures, resignations, and terminations. These are filing-derived classifications, not a complete employment-history or board record. Preserve accession and source fields, and treat filing dates as disclosure dates. A bounded submission scan can omit older eligible filings; continue with the returned `nextCursor` value for the same filters. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/events/get-v1-events-officer-changes",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "per-row provenance",
            "per-row freshness",
            "per-row materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/events/restatements",
          "title": "GET /v1/events/restatements",
          "summary": "Find 8-K Item 4.02 non-reliance and restatement disclosures with affected periods",
          "description": "Finds issuer disclosures under 8-K Item 4.02, including non-reliance and restatement-related events. It reports filing-derived classifications and extracted periods, not an independent accounting conclusion or a complete restatement universe. Preserve accession and source fields when reviewing a result. Filing dates are disclosure dates, and bounded submission scans can omit older eligible filings. Continue with the returned `nextCursor` value for the same filters. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/events/get-v1-events-restatements",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "per-row provenance",
            "per-row freshness",
            "per-row materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/events/voting-results",
          "title": "GET /v1/events/voting-results",
          "summary": "Retrieve structured shareholder-vote results from 8-K Item 5.07 filings",
          "description": "Returns proposals, vote counts, and reported outcomes extracted from 8-K Item 5.07 disclosures for one issuer. It is not a universal proxy-voting archive: issuer identity is required, coverage is limited to eligible filings scanned, and proposal interpretation should retain the cited accession and source fields. Treat filing dates as disclosure dates and continue with the returned `nextCursor` value for the same filters. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/events/get-v1-events-voting-results",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "per-row provenance",
            "per-row freshness",
            "per-row materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "factors",
      "title": "Factors",
      "description": "Reference pages for Factors endpoints.",
      "docs_path": "/api-reference/factors",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/factors/bulk-download",
          "title": "GET /v1/factors/bulk-download",
          "summary": "Return available factor returns data in bulk with daily series for commercial plan bulk-download workflows",
          "docs_path": "/api-reference/factors/get-v1-factors-bulk-download",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/catalog",
          "title": "GET /v1/factors/catalog",
          "summary": "Return compact SEC API factor definitions, with trust and methodology metadata available on request",
          "docs_path": "/api-reference/factors/get-v1-factors-catalog",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/correlations",
          "title": "GET /v1/factors/correlations",
          "summary": "Return factor-to-factor and factor-to-security correlation surfaces for strategy and risk workflows",
          "docs_path": "/api-reference/factors/get-v1-factors-correlations",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/factors/custom",
          "title": "POST /v1/factors/custom",
          "summary": "Discover a custom thematic factor pack from factor-overlap peers plus deterministic filing/news signatures",
          "docs_path": "/api-reference/factors/post-v1-factors-custom",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/dashboard",
          "title": "GET /v1/factors/dashboard",
          "summary": "Return a one-call factor dashboard with intraday, regime, rotation, spotlight-security, and optional model-portfolio drill-down sections",
          "docs_path": "/api-reference/factors/get-v1-factors-dashboard",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/decomposition",
          "title": "GET /v1/factors/decomposition",
          "summary": "Return factor-attribution decomposition for a security over a bounded lookback window with explained return, alpha, and methodology metadata",
          "docs_path": "/api-reference/factors/get-v1-factors-decomposition",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/exposures",
          "title": "GET /v1/factors/exposures",
          "summary": "Return factor exposures for securities, portfolios, or watchlists.",
          "description": "Use `symbols=A,B,C` to request multiple securities. Each returned row includes its source `symbol` and `subjectKey`, so you can match results to requested symbols without relying on row order. `unresolvedSymbols` lists requested symbols with no exposure rows, including securities outside supported historical coverage, so unavailable coverage is distinct from a zero beta.",
          "docs_path": "/api-reference/factors/get-v1-factors-exposures",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/extreme-moves",
          "title": "GET /v1/factors/extreme-moves",
          "summary": "Return factor moves ranked by unusual z-score or absolute return with direction, threshold, and trust metadata",
          "docs_path": "/api-reference/factors/get-v1-factors-extreme-moves",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/extreme-pairs",
          "title": "GET /v1/factors/extreme-pairs",
          "summary": "Return factor pairs ranked by unusual rolling spread divergence with direction, threshold, and trust metadata",
          "docs_path": "/api-reference/factors/get-v1-factors-extreme-pairs",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/history/{factorKey}",
          "title": "GET /v1/factors/history/{factorKey}",
          "summary": "Return a single factor's daily return history with 1D through MAX summary windows for chart and table workflows",
          "docs_path": "/api-reference/factors/get-v1-factors-history-factorKey",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/macro-sensitivity",
          "title": "GET /v1/factors/macro-sensitivity",
          "summary": "Return factor sensitivity to a named macro stress scenario using the current macro-regime overlay",
          "description": "This is an explainable research scenario, not a point-in-time empirical regression. Use it to inspect how selected factor families are expected to react under supported macro scenarios before applying portfolio judgment.",
          "docs_path": "/api-reference/factors/get-v1-factors-macro-sensitivity",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/pair-history/{f1}/{f2}",
          "title": "GET /v1/factors/pair-history/{f1}/{f2}",
          "summary": "Return historical spread between two specific factors identified by path parameters with windowed series data",
          "docs_path": "/api-reference/factors/get-v1-factors-pair-history-f1-f2",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/pairs",
          "title": "GET /v1/factors/pairs",
          "summary": "Return pairwise factor spread data including cumulative spread, average, volatility, and daily series for two specified factors",
          "docs_path": "/api-reference/factors/get-v1-factors-pairs",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/regime-performance",
          "title": "GET /v1/factors/regime-performance",
          "summary": "Return regime-conditioned factor rankings that blend the active macro backdrop with current factor state",
          "docs_path": "/api-reference/factors/get-v1-factors-regime-performance",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/related-stocks",
          "title": "GET /v1/factors/related-stocks",
          "summary": "Return related stocks ranked by factor-overlap similarity for peer discovery and hedge ideation",
          "docs_path": "/api-reference/factors/get-v1-factors-related-stocks",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/returns",
          "title": "GET /v1/factors/returns",
          "summary": "Return factor return history, z-scores, and volatility-scaled series for supported factor families",
          "docs_path": "/api-reference/factors/get-v1-factors-returns",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/returns/intraday",
          "title": "GET /v1/factors/returns/intraday",
          "summary": "Return intraday factor snapshots for dashboards using the current benchmark proxy surface and freshness metadata",
          "docs_path": "/api-reference/factors/get-v1-factors-returns-intraday",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/similarity-pack",
          "title": "GET /v1/factors/similarity-pack",
          "summary": "Return a custom thematic similarity pack that combines factor-overlap peers with deterministic filing/news signatures and naming workflow metadata",
          "docs_path": "/api-reference/factors/get-v1-factors-similarity-pack",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/factors/sparklines",
          "title": "GET /v1/factors/sparklines",
          "summary": "Return compact multi-factor sparkline series with 1D through MAX summary windows for dashboard, sector, index, and model UIs",
          "docs_path": "/api-reference/factors/get-v1-factors-sparklines",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "facts",
      "title": "Facts",
      "description": "Reference pages for Facts endpoints.",
      "docs_path": "/api-reference/facts",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/facts",
          "title": "GET /v1/facts",
          "summary": "Return normalized SEC company facts for an issuer, concept, and optional form or unit. Defaults to the us-gaap taxonomy (10-K/10-Q); when no explicit taxonomy or form is supplied and the us-gaap lookup is empty, automatically falls back to ifrs-full on 20-F/6-K for foreign private issuers (e.g. SAP, TM, SONY, RIO).",
          "docs_path": "/api-reference/facts/get-v1-facts",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "filings",
      "title": "Filings",
      "description": "Search SEC filing records, then retrieve, extract, download, or export a selected accession; render the latest selected filing where supported.",
      "docs_path": "/api-reference/filings",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/filings",
          "title": "GET /v1/filings",
          "summary": "Find SEC filing records by issuer, form, date, text, or accession number",
          "description": "Search materialized SEC filing manifests for a bounded research or monitoring workflow. Filter by one issuer identifier, form, filing date, text, or a known accession number; results include filing identity and source links. Coverage and freshness reflect the returned records and provenance, not a promise of real-time or complete EDGAR history.",
          "docs_path": "/api-reference/filings/get-v1-filings",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/filings/{accession_number}",
          "title": "GET /v1/filings/{accession_number}",
          "summary": "Get one SEC filing record by its accession number",
          "description": "Retrieve the materialized manifest for one immutable SEC accession number, including filing identity and source provenance. Optional issuer and form values are resolution hints, not substitutes for the accession number. A not-found response should not be silently replaced with a different or latest filing.",
          "docs_path": "/api-reference/filings/get-v1-filings-accession-number",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/filings/{accession_number}/download",
          "title": "GET /v1/filings/{accession_number}/download",
          "summary": "Open a filing's source document by accession number",
          "description": "Resolve a filing accession number and return its source document through the available delivery path. The response may be served from a cached copy or redirect to SEC EDGAR; use the source document itself when the exact filed presentation matters.",
          "docs_path": "/api-reference/filings/get-v1-filings-accession-number-download",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/filings/{accession_number}/export",
          "title": "GET /v1/filings/{accession_number}/export",
          "summary": "Export one filing in JSON or document formats",
          "description": "Export a selected filing as JSON by default, or request a derived Markdown, CSV, XLSX, DOCX, or PDF document with `format`. JSON returns the filing manifest; derived formats can be large and should retain the filing accession and source provenance. Derived exports do not replace the original filing as evidence.",
          "docs_path": "/api-reference/filings/get-v1-filings-accession-number-export",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/filings/{accession_number}/sections/{section_key}",
          "title": "GET /v1/filings/{accession_number}/sections/{section_key}",
          "summary": "Extract a named section from one accession-number filing",
          "description": "Retrieve a supported canonical section from one explicitly selected SEC filing. The accession number fixes the source document; preserve it with the returned source URL and section key for a reproducible citation. A missing section or unresolved accession does not establish that the underlying disclosure is absent.",
          "docs_path": "/api-reference/filings/get-v1-filings-accession-number-sections-section-key",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/filings/diff",
          "title": "GET /v1/filings/diff",
          "summary": "Filing comparison endpoint (currently unavailable)",
          "description": "This endpoint is currently unavailable and returns `404 filings_intelligence_not_available`. When available, it will compare a selected issuer filing with a prior-period or explicitly chosen counterpart and return section-level change information. Any comparison is a review aid based on rendered filing text, not a determination of materiality or legal significance.",
          "docs_path": "/api-reference/filings/get-v1-filings-diff",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/filings/events",
          "title": "GET /v1/filings/events",
          "summary": "Filing events endpoint (currently unavailable)",
          "description": "This endpoint is currently unavailable and returns `404 filings_intelligence_not_available`. When available, it will list persisted classifications from covered 8-K and 6-K filings for issuer- and date-bounded monitoring. Rows are derived from filing content and are not a real-time market-news feed or a complete record of every issuer event.",
          "docs_path": "/api-reference/filings/get-v1-filings-events",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/filings/guidance",
          "title": "GET /v1/filings/guidance",
          "summary": "Filing guidance endpoint (currently unavailable)",
          "description": "This endpoint is currently unavailable and returns `404 filings_intelligence_not_available`. When available, it will list persisted management-guidance records extracted from covered earnings materials and transcripts, including metric, direction, target period, and disclosed ranges where available. These records will be source-derived extractions, not normalized estimates or a complete guidance history.",
          "docs_path": "/api-reference/filings/get-v1-filings-guidance",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/filings/latest",
          "title": "GET /v1/filings/latest",
          "summary": "Get an issuer's newest filing, optionally for a specific SEC form",
          "description": "Resolve the newest materialized filing for one issuer and optionally one SEC form, returning filing identity, date, accession number, and provenance. Without form, the newest record may be any filing type, such as a Form 4 or 8-K; retain the returned accession number for an immutable follow-up.",
          "docs_path": "/api-reference/filings/get-v1-filings-latest",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/filings/latest/render",
          "title": "GET /v1/filings/latest/render",
          "summary": "Render an issuer's latest selected filing as readable text",
          "description": "Return a Markdown-like rendering of the latest selected filing for reading, local indexing, or downstream extraction. This route defaults to a 10-K, unlike the any-form latest-filing route. Check the selected filing, provenance, and truncated flag before treating the rendering as complete source text.",
          "docs_path": "/api-reference/filings/get-v1-filings-latest-render",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/filings/latest/risk-categories",
          "title": "GET /v1/filings/latest/risk-categories",
          "summary": "Classify Item 1A risk categories in a selected issuer filing",
          "description": "Return deterministic risk-category coverage derived from Item 1A in a selected covered filing. Use one issuer selector and optionally an accession number to make the filing explicit. Categories describe available extracted disclosure and should be verified against the cited filing before an investment conclusion.",
          "docs_path": "/api-reference/filings/get-v1-filings-latest-risk-categories",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization",
            "capability",
            "statusNote"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/filings/latest/sections/{section_key}",
          "title": "GET /v1/filings/latest/sections/{section_key}",
          "summary": "Extract a named section from an issuer's latest selected filing",
          "description": "Retrieve one supported canonical filing section, such as item_1a, item_7, or item_8, from an issuer's latest selected filing. Use the returned accession number and source URL as the citation identity. The endpoint defaults to a 10-K and a missing or unavailable section is not evidence that the issuer made no disclosure.",
          "docs_path": "/api-reference/filings/get-v1-filings-latest-sections-section-key",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/filings/pension-benefit-schedule",
          "title": "GET /v1/filings/pension-benefit-schedule",
          "summary": "Extract disclosed pension and retiree benefit payments for a target year",
          "description": "Extract expected pension and retiree benefit payments for a requested target year from a selected issuer filing when the rendered source discloses a usable schedule. Supply an issuer, filing year, and target year; preserve the source accession and provenance. An unavailable result is not a zero payment or a complete benefits forecast.",
          "docs_path": "/api-reference/filings/get-v1-filings-pension-benefit-schedule",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/filings/transcripts",
          "title": "GET /v1/filings/transcripts",
          "summary": "Filing transcripts endpoint (currently unavailable)",
          "description": "This endpoint is currently unavailable and returns `404 filings_intelligence_not_available`. When available, it will list persisted earnings-transcript records extracted from covered EX-99 filing materials, with speaker and prepared-remarks or Q&A structure where source material supports extraction. Results will depend on available source materials and extraction coverage.",
          "docs_path": "/api-reference/filings/get-v1-filings-transcripts",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "gated"
        }
      ]
    },
    {
      "slug": "forms",
      "title": "Forms",
      "description": "Locate filed capital-formation, insider-sale, and fund-disclosure records without treating filing discovery as transaction completion.",
      "docs_path": "/api-reference/forms",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/forms/1-a",
          "title": "GET /v1/forms/1-a",
          "summary": "Return recent Regulation A Form 1-A offering filings with cursor pagination and date filters",
          "description": "Use this route to find filed Regulation A Form 1-A offering statements. A Form 1-A filing is a disclosure record, not confirmation that the SEC qualified an offering, that a sale occurred, or that the full raise was completed. `date_from` and `date_to` bound filing dates. `submission_file_limit` can reduce the SEC submission history searched, so lower values can omit older records. Follow `nextCursor` with the same filters and review the cited filing for offering-stage context. See [filing conventions](/api-conventions).",
          "docs_path": "/api-reference/forms/get-v1-forms-1-a",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/forms/144",
          "title": "GET /v1/forms/144",
          "summary": "Return recent Form 144 notices of proposed insider sales with cursor pagination and date filters",
          "description": "Use this route to review filed notices of proposed Rule 144 sales by an issuer's affiliates. A notice is not a completed sale, a trade execution record, or a measure of the holder's remaining position; corroborate a later Form 4 or other filing when the workflow needs completed transactions. `date_from` and `date_to` bound filing dates, and `submission_file_limit` can reduce the SEC submission history searched, which can omit older records. Follow `nextCursor` with the same filters. See [filing conventions](/api-conventions) and [insider transaction workflows](/api-reference/insiders).",
          "docs_path": "/api-reference/forms/get-v1-forms-144",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/forms/c",
          "title": "GET /v1/forms/c",
          "summary": "Return recent Form C crowdfunding offering filings with cursor pagination and date filters",
          "description": "Use this route to find filed Form C crowdfunding-offering disclosures. A filing record is not proof that a campaign reached its target, closed, or sold all offered securities; review the cited filing and any later amendments for the disclosed status. `date_from` and `date_to` bound filing dates. `submission_file_limit` can reduce the SEC submission history searched, so lower values can omit older records. Follow `nextCursor` with the same filters. See [filing conventions](/api-conventions).",
          "docs_path": "/api-reference/forms/get-v1-forms-c",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/forms/d",
          "title": "GET /v1/forms/d",
          "summary": "Return recent Form D private-offering filings with DB/SEC source-stable cursor pagination",
          "description": "Use this route to find filed Form D and D/A notices for private-placement research. A Form D notice does not establish that an offering closed, that all securities were sold, or that every economic term is public. `date_from` and `date_to` bound filing dates. Continue with the returned `db:` or `sec:` cursor unchanged and keep the same filters; the prefix keeps a paged review on its original source. If SEC fallback is used, a lower `submission_file_limit` can omit older matches. Retrieve a selected accession before relying on parsed terms. See [Form D API guidance](/seo/sec-form-d-api) and [API conventions](/api-conventions).",
          "docs_path": "/api-reference/forms/get-v1-forms-d",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/forms/d/{accessionNumber}",
          "title": "GET /v1/forms/d/{accessionNumber}",
          "summary": "Return structured Form D offering data parsed from the filing XML",
          "description": "Use this route after selecting a Form D accession to inspect structured values parsed from that filing's XML. The result reflects the filed notice, not independent verification that a financing closed, that all securities were sold, or that undisclosed terms do not exist. Retain the accession number and filing source when reporting values, and review the linked filing when a field affects a capital-raise conclusion. See [Form D API guidance](/seo/sec-form-d-api) and [API conventions](/api-conventions).",
          "docs_path": "/api-reference/forms/get-v1-forms-d-accessionNumber",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/forms/ncen",
          "title": "GET /v1/forms/ncen",
          "summary": "Return recent Form N-CEN annual census filings with cursor pagination and date filters",
          "description": "Use this route to locate filed Form N-CEN annual census reports for registered investment companies. Results are filing records, not a current fund roster, portfolio-holdings dataset, or proof of a fund's current registration status. `date_from` and `date_to` bound filing dates, while `submission_file_limit` can reduce the SEC submission history searched and omit older records. Follow `nextCursor` with the same filters and review the cited filing for report-period context. See [filing conventions](/api-conventions).",
          "docs_path": "/api-reference/forms/get-v1-forms-ncen",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/forms/npx",
          "title": "GET /v1/forms/npx",
          "summary": "Return recent Form N-PX proxy voting filings with cursor pagination and date filters",
          "description": "Use this route to locate filed Form N-PX proxy-voting disclosures for a fund or manager review. Results identify filings, not a complete current holdings list, an issuer-level vote tally, or an interpretation of voting intent. `date_from` and `date_to` bound filing dates; the filing's own reporting period may differ. A lower `submission_file_limit` can omit older SEC submission matches. Follow `nextCursor` with the same filters and retain the accession number for review. See [filing conventions](/api-conventions).",
          "docs_path": "/api-reference/forms/get-v1-forms-npx",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "fund-letters",
      "title": "Fund Letters",
      "description": "Reference pages for Fund Letters endpoints.",
      "docs_path": "/api-reference/fund-letters",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/fund-letters",
          "title": "GET /v1/fund-letters",
          "summary": "List investor letters from hedge funds, partnerships, and registered funds, filterable by manager, fund, company, period, source, and distribution tier.",
          "description": "These routes return 404 until the letters plane is enabled. Documented coverage, when enabled, begins with letters published in 2025 Q1 and is not a historical archive. view=compact returns the trimmed FundLetterCompactList projection (billed identically); view=agent currently equals the default view.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/{letter_id}",
          "title": "GET /v1/fund-letters/{letter_id}",
          "summary": "Retrieve one letter with letter-level narratives, performance figures, and inline theses (capped at 25; thesisCount carries the total). Superseded/merged IDs resolve forever via aliases.",
          "description": "Returns 404 until the letters plane is enabled. Detail never inlines page markdown (that is the /document endpoint, metered separately), so view=agent and view=compact currently equal the default detail view.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-letter-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/{letter_id}/document",
          "title": "GET /v1/fund-letters/{letter_id}/document",
          "summary": "Retrieve the original letter document (format=pdf, 302 redirect) or page-segmented markdown whose bytes verify every anchor (format=markdown).",
          "description": "Returns 404 until the letters plane is enabled. Distribution rules: public_record and fund_published letters serve the full document; third_party letters return 403 document_not_distributable with a sourceUrl hint. EDGAR-sourced letters redirect to the EDGAR primary document. `?sha=` retrieves a superseded source variant's markdown so historical anchors always verify — only when the canonical letter's distribution permits document serving.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-letter-id-document",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/{letter_id}/topics",
          "title": "GET /v1/fund-letters/{letter_id}/topics",
          "summary": "Deterministic topic mentions for one letter, each with a page-anchored quote.",
          "description": "Returns 404 until the letters plane is enabled. More specific than GET /v1/fund-letters/{letter_id}. Every mention verifies against /document?format=markdown. No public sentiment field.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-letter-id-topics",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/changes",
          "title": "GET /v1/fund-letters/changes",
          "summary": "Keyset-paginated delta feed of fund-letter events (letter.published, letter.updated, letter.superseded, thesis.extracted, manager.added). Never response-cached.",
          "description": "Returns 404 until the letters plane is enabled. Metered as fund_letter_lookup. The cursor is an opaque keyset token minted by this endpoint (never an offset); malformed cursors 400 as invalid_cursor. nextCursor pins the last returned row whenever the page is non-empty, so pollers resume from it regardless of hasMore.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-changes",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/companies",
          "title": "GET /v1/fund-letters/companies",
          "summary": "Company coverage index: every company with at least one extracted thesis, with thesis/manager/letter counts and the latest stance.",
          "description": "Returns 404 until the letters plane is enabled.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-companies",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/diff",
          "title": "GET /v1/fund-letters/diff",
          "summary": "Topic variance between two letters: chips that appeared, intensified, or vanished, each with page-anchored quotes.",
          "description": "Returns 404 until the letters plane is enabled. Register this static path before /v1/fund-letters/{letter_id}. Identify letters by from_letter_id + to_letter_id, or by issuer_cik / issuer_ticker plus from_period + to_period. Deterministic lexicon in v1; no public sentiment field. Metered as fund_letter_lookup.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-diff",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/funds",
          "title": "GET /v1/fund-letters/funds",
          "summary": "List funds that publish letters, with per-fund letter counts.",
          "description": "Returns 404 until the letters plane is enabled.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-funds",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/funds/{fund_id}",
          "title": "GET /v1/fund-letters/funds/{fund_id}",
          "summary": "Retrieve one fund. Merged fund IDs resolve forever via aliases; the response carries the canonical id plus requestedId when they differ.",
          "description": "Returns 404 until the letters plane is enabled.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-funds-fund-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/managers",
          "title": "GET /v1/fund-letters/managers",
          "summary": "Browse the fund directory: managers (firms) with coverage stats, searchable by fund/CIO name, ticker held, theme, strategy, and 13F quarter.",
          "description": "Returns 404 until the letters plane is enabled. When enabled, the Fund Directory expansion (letterless 13F managers, the ticker/cik/theme/min_positions/publishes_letters/period/sort filters, and the theme/publishesLetters/has13F/latest13F/references fields) is separately flag-gated; while that expansion is off this endpoint lists letter-publishing managers with the pre-directory fields only and ignores directory-only parameters. latest13F is a summary — follow crossLinks.holdings13F for full holdings.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-managers",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/managers/{manager_id}",
          "title": "GET /v1/fund-letters/managers/{manager_id}",
          "summary": "Retrieve one manager profile. Merged manager IDs resolve forever via aliases; the response carries the canonical id plus requestedId when they differ.",
          "description": "Returns 404 until the letters plane is enabled.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-managers-manager-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/managers/{manager_id}/overview",
          "title": "GET /v1/fund-letters/managers/{manager_id}/overview",
          "summary": "Fund Overview: one token-efficient briefing per manager — canonical name, description, founders, website, coverage counts, and the latest letter's highlights with up to 5 headline theses. Pass include=positions for the latest 13F's top-10 positions.",
          "description": "Returns 404 until the letters plane is enabled. Metered as fund_letter_lookup. The manager twin of GET /v1/companies/overview: identity and latest-letter highlights only — no page markdown, no anchors, no full thesis bodies (follow links.letters / links.theses for those). latestLetter is null for a manager with no canonical letters yet. include=positions opts in latest13F: the manager's latest canonical 13F report (amendment/restatement-deduped, never double-counted) with reportDate, filedAt, totalPositions, and the top 10 positions by reported value — rank, issuer, resolved ticker, CUSIP, USD value, shares, pctOfPortfolio. latest13F is omitted when not requested and null when the manager has no adviser CIK or no indexed 13F; page beyond the top 10 via links.holdings13F. Merged manager IDs resolve forever via aliases; the response carries the canonical id plus requestedId when they differ.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-managers-manager-id-overview",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/search",
          "title": "GET /v1/fund-letters/search",
          "summary": "Full-text search over letter bodies; hits carry page-anchored highlights.",
          "description": "Returns 404 until the letters plane is enabled. Metered as fund_letter_search. Results are a relevance-ranked top-N (hasMore is always false; raise limit or narrow filters to deepen recall). Every highlight anchor verifies against /document?format=markdown bytes. When the full-text engine is unavailable the response degrades to Postgres lexical search, reported via degradedState.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-search",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/semantic",
          "title": "GET /v1/fund-letters/semantic",
          "summary": "Semantic (vector) search over letter content; hits carry similarity scores, matched chunks, and page anchors.",
          "description": "Returns 404 until the letters plane is enabled. Metered as fund_letter_semantic; paid plans only. Results are a relevance-ranked top-N (hasMore is always false). third_party-distribution letters return snippet-capped chunks (their /document is not distributable). On vector-engine failure the response degrades to lexical hits (score 0), reported via degradedState.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-semantic",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/fund-letters/theses",
          "title": "GET /v1/fund-letters/theses",
          "summary": "Cross-cutting thesis screen: structured per-company extractions (relationship, stance, conviction, narratives, verbatim anchored quotes) across all letters.",
          "description": "Returns 404 until the letters plane is enabled.",
          "docs_path": "/api-reference/fund-letters/get-v1-fund-letters-theses",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        }
      ]
    },
    {
      "slug": "funds",
      "title": "Funds",
      "description": "Reference pages for Funds endpoints.",
      "docs_path": "/api-reference/funds",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/funds/nport/holdings",
          "title": "GET /v1/funds/nport/holdings",
          "summary": "Return the latest SEC N-PORT holdings roster with explicit capability semantics and balance-unit metadata",
          "docs_path": "/api-reference/funds/get-v1-funds-nport-holdings",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "insiders",
      "title": "Insiders",
      "description": "Insider transaction history and actor-level trading surfaces.",
      "docs_path": "/api-reference/insiders",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/insiders",
          "title": "GET /v1/insiders",
          "summary": "Search normalized SEC Forms 3, 4, and 5 records by issuer, reporting owner, transaction, and filing date",
          "description": "Use this route to build a review queue from filed insider-ownership records. Filter by issuer, reporting owner, security title, Form 4 transaction code, and filing date; `date_from` and `date_to` apply to the filing date, not the transaction date. Rows preserve the reported transaction and filing fields, accession, provenance, and freshness metadata, but a filing-derived record does not establish motive, legality, 10b5-1-plan status, current ownership, or investment outcome. Page only with the returned `nextCursor` while `hasMore` is true, and inspect the cited filing for footnotes or missing context. See [ownership workflows](/ownership-workflows) and the [insider trading guide](/seo/insider-trading-api).",
          "docs_path": "/api-reference/insiders/get-v1-insiders",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "intelligence",
      "title": "Intelligence",
      "description": "Reference pages for Intelligence endpoints.",
      "docs_path": "/api-reference/intelligence",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/intelligence/company",
          "title": "GET /v1/intelligence/company",
          "summary": "Return a one-call company bundle spanning market, filings, ownership, macro, factor, and risk context",
          "docs_path": "/api-reference/intelligence/get-v1-intelligence-company",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/intelligence/country-report",
          "title": "POST /v1/intelligence/country-report",
          "summary": "Return a country intelligence bundle covering the prior period's macro path, likely drivers, and forward view",
          "docs_path": "/api-reference/intelligence/post-v1-intelligence-country-report",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/intelligence/coverage",
          "title": "GET /v1/intelligence/coverage",
          "summary": "Filing-intelligence coverage endpoint (currently unavailable)",
          "description": "This endpoint is currently unavailable and returns `404 filings_intelligence_not_available`. When available, it will compose a single-issuer rollup over persisted filings-intelligence stores, including tagged events, guidance, transcripts, and footnote newness. Coverage will reflect available extracted records, not complete issuer disclosure history.",
          "docs_path": "/api-reference/intelligence/get-v1-intelligence-coverage",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/intelligence/earnings-preview",
          "title": "GET /v1/intelligence/earnings-preview",
          "summary": "Return an earnings preview bundle with estimates, drivers, risks, and traceable supporting context",
          "docs_path": "/api-reference/intelligence/get-v1-intelligence-earnings-preview",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/intelligence/footnotes/query",
          "title": "POST /v1/intelligence/footnotes/query",
          "summary": "Return a structured filing-footnote investigation bundle. Single-ticker latest-only requests return a footnote_intelligence_result; multi-ticker or date-range requests return a footnote_intelligence_collection.",
          "docs_path": "/api-reference/intelligence/post-v1-intelligence-footnotes-query",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/intelligence/macro-exposure",
          "title": "POST /v1/intelligence/macro-exposure",
          "summary": "Return revenue-weighted macro sensitivities for a portfolio: geographic revenue segments crossed with the country macro plane, with per-holding contributions and a coverage percentage",
          "docs_path": "/api-reference/intelligence/post-v1-intelligence-macro-exposure",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "POST",
          "path": "/v1/intelligence/portfolio",
          "title": "POST /v1/intelligence/portfolio",
          "summary": "Return a one-call portfolio intelligence bundle with exposures, stress scenarios, events, and hedge ideas",
          "docs_path": "/api-reference/intelligence/post-v1-intelligence-portfolio",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/intelligence/query",
          "title": "POST /v1/intelligence/query",
          "summary": "Compile an allocator prompt into a deterministic one-call intelligence workload with compact traced output",
          "docs_path": "/api-reference/intelligence/post-v1-intelligence-query",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/intelligence/query/{jobId}",
          "title": "GET /v1/intelligence/query/{jobId}",
          "summary": "Poll an async intelligence workload until the final traced result is ready",
          "docs_path": "/api-reference/intelligence/get-v1-intelligence-query-jobId",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/intelligence/security",
          "title": "GET /v1/intelligence/security",
          "summary": "Return a one-call security bundle with snapshot, catalysts, filings, and factor context",
          "docs_path": "/api-reference/intelligence/get-v1-intelligence-security",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/intelligence/watchlist",
          "title": "POST /v1/intelligence/watchlist",
          "summary": "Return a watchlist briefing bundle with movers, catalysts, factor context, and regime overlays",
          "docs_path": "/api-reference/intelligence/post-v1-intelligence-watchlist",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "macro",
      "title": "Macro",
      "description": "Retrieve country macro indicators, releases, forecasts, regimes, and source-aware coverage for supported markets.",
      "docs_path": "/api-reference/macro",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/macro/all",
          "title": "GET /v1/macro/all",
          "summary": "Return a bulk, filterable export of macro observations across countries and indicators, with cursor pagination and CSV or async export",
          "docs_path": "/api-reference/macro/get-v1-macro-all",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/macro/calendar",
          "title": "GET /v1/macro/calendar",
          "summary": "Return the macro event calendar for supported official-source releases and central-bank events",
          "docs_path": "/api-reference/macro/get-v1-macro-calendar",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/macro/credit-ratings",
          "title": "GET /v1/macro/credit-ratings",
          "summary": "Return sovereign credit ratings from S&P, Moody's, and Fitch for tracked countries and G20 members",
          "docs_path": "/api-reference/macro/get-v1-macro-credit-ratings",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/macro/credit-ratings/{country}",
          "title": "GET /v1/macro/credit-ratings/{country}",
          "summary": "Return the sovereign credit rating for a single country by ISO country code",
          "docs_path": "/api-reference/macro/get-v1-macro-credit-ratings-country",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/macro/forecasts",
          "title": "GET /v1/macro/forecasts",
          "summary": "Return SEC API forecast baselines and scenario-aware macro projections with methodology metadata",
          "docs_path": "/api-reference/macro/get-v1-macro-forecasts",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/macro/high-signal-pack",
          "title": "GET /v1/macro/high-signal-pack",
          "summary": "Return the launch-ring Tier-1 high-signal macro pack with explicit source, fallback, and release-calendar posture for supported countries",
          "docs_path": "/api-reference/macro/get-v1-macro-high-signal-pack",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/macro/indicators",
          "title": "GET /v1/macro/indicators",
          "summary": "Return official-source macro indicator observations with revision-aware provenance and country-quality metadata",
          "docs_path": "/api-reference/macro/get-v1-macro-indicators",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/macro/overview",
          "title": "GET /v1/macro/overview",
          "summary": "Return a one-call country macro dashboard: headline indicators with latest/previous/change/direction and next release, the current regime, upcoming releases, and the sovereign credit rating",
          "docs_path": "/api-reference/macro/get-v1-macro-overview",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/macro/regimes",
          "title": "GET /v1/macro/regimes",
          "summary": "Return the current macro regime classification for a country using the canonical SEC API macro overlay",
          "docs_path": "/api-reference/macro/get-v1-macro-regimes",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/macro/releases",
          "title": "GET /v1/macro/releases",
          "summary": "Return macro release observations with actual, prior, consensus, and surprise metadata",
          "docs_path": "/api-reference/macro/get-v1-macro-releases",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/macro/search",
          "title": "GET /v1/macro/search",
          "summary": "Search supported macro indicators by keyword across all countries and high-signal packs",
          "docs_path": "/api-reference/macro/get-v1-macro-search",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/macro/status",
          "title": "GET /v1/macro/status",
          "summary": "Return macro runtime readiness, artifact freshness, source posture, and country support status",
          "docs_path": "/api-reference/macro/get-v1-macro-status",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "market",
      "title": "Market utilities",
      "description": "Market calendars, security reference, and reusable market utility endpoints.",
      "docs_path": "/api-reference/market",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/market/bars",
          "title": "GET /v1/market/bars",
          "summary": "Retrieve daily OHLCV history for one security",
          "description": "Use this route to build a daily price series for one symbol. Supply `ticker` or its `symbol` alias, then narrow the date range before requesting a long history. The route returns daily bars only; `adjusted` is accepted for compatibility but does not change the stored response shape. A returned list is not a guarantee that every trading day in the requested range is present. Preserve each bar's timestamp, freshness, provenance, source-rights, and revision fields when comparing or charting the series. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/market/get-v1-market-bars",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/market/calendar",
          "title": "GET /v1/market/calendar",
          "summary": "Check scheduled trading sessions for a supported market",
          "description": "Use this route before scheduling a market-data job or interpreting a missing daily observation. It returns a bounded calendar window for one supported market and identifies whether each row uses configured-holiday or weekend-only coverage. `sessionStatus` is a schedule, not evidence that trading occurred or that an exchange did not change its hours. Preserve `coverage`, `confidence`, `statusNote`, and row-level `provenance` when a workflow depends on the result. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/market/get-v1-market-calendar",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "supportedMarkets",
            "per-row provenance"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/market/corporate-actions",
          "title": "GET /v1/market/corporate-actions",
          "summary": "Retrieve splits and dividends for one security",
          "description": "Use this route to reconcile splits and cash dividends with a price-history workflow. Supply `ticker` or its `symbol` alias and constrain the date range when you know the event window. `ratio` applies to splits and `cashAmount` applies to dividends when the relevant value is available; neither field turns an event into a total-return calculation. Preserve the ex-date, source-rights, provenance, freshness, and revision fields, and treat an empty list as no returned events for the requested range rather than proof that none occurred. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/market/get-v1-market-corporate-actions",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/market/reference",
          "title": "GET /v1/market/reference",
          "summary": "Retrieve reference metadata and identifiers for one security",
          "description": "Use this route to normalize a known security symbol before joining it to SEC records, market history, or an issuer view. Supply `ticker` or its `symbol` alias. The response can include identifiers, listing fields, classification, and market-cap context when available; null fields are unavailable values, not inferred substitutes. Preserve the returned symbol, CIK, FIGIs, `asOf`, freshness, provenance, source-rights, and revision metadata. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/market/get-v1-market-reference",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/market/search",
          "title": "GET /v1/market/search",
          "summary": "Find candidate stock tickers from a company name or keyword",
          "description": "Use this route when a workflow starts with a company name or partial keyword and needs candidate symbols. `q` is required and results are matches, not a final identity decision. Resolve the selected symbol or CIK before using it for issuer-scoped research, especially when names are similar or a company has multiple listed classes. The route is subject to the configured result limit and can return a source or service error instead of an empty successful list. See [entity resolution](https://docs.secapi.ai/api-reference/entities/get-v1-entities-resolve) and [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/market/get-v1-market-search",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/market/snapshots",
          "title": "GET /v1/market/snapshots",
          "summary": "Retrieve stored latest-price snapshots for one or more symbols",
          "description": "Use this route to populate a bounded quote view from stored latest snapshots. Supply `symbols` as a comma-separated list, or one `ticker` alias. Results preserve request order, but a missing requested symbol is reported in `degradedState.missingSymbols` rather than represented as a zero price. Inspect each row's `asOf`, `freshness`, `provenance`, `sourceRights`, and `revision` before presenting a value as current. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/market/get-v1-market-snapshots",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "models",
      "title": "Models",
      "description": "Reference pages for Models endpoints.",
      "docs_path": "/api-reference/models",
      "operations": [
        {
          "method": "POST",
          "path": "/v1/models/factor-analysis",
          "title": "POST /v1/models/factor-analysis",
          "summary": "Return model factor analysis for submitted Model Builder or saved-model holdings with optional attribution, hedge, and optimizer sections",
          "docs_path": "/api-reference/models/post-v1-models-factor-analysis",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "monitors",
      "title": "Monitors",
      "description": "Organization-scoped saved searches, match reads, delivery destinations, and structured-monitor compilation.",
      "docs_path": "/api-reference/monitors",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/monitors",
          "title": "GET /v1/monitors",
          "summary": "List saved-search monitors for the current organization",
          "docs_path": "/api-reference/monitors/get-v1-monitors",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/monitors",
          "title": "POST /v1/monitors",
          "summary": "Create a saved-search monitor with optional webhook or email delivery destination",
          "docs_path": "/api-reference/monitors/post-v1-monitors",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/monitors/{monitor_id}",
          "title": "GET /v1/monitors/{monitor_id}",
          "summary": "Retrieve a single monitor by id",
          "docs_path": "/api-reference/monitors/get-v1-monitors-monitor-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "DELETE",
          "path": "/v1/monitors/{monitor_id}",
          "title": "DELETE /v1/monitors/{monitor_id}",
          "summary": "Deactivate a monitor (idempotent; sets is_active=false)",
          "docs_path": "/api-reference/monitors/delete-v1-monitors-monitor-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/monitors/{monitor_id}/delivery",
          "title": "POST /v1/monitors/{monitor_id}/delivery",
          "summary": "Update or replace the monitor's delivery destination (e.g., set or change an email recipient)",
          "docs_path": "/api-reference/monitors/post-v1-monitors-monitor-id-delivery",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/monitors/{monitor_id}/matches",
          "title": "GET /v1/monitors/{monitor_id}/matches",
          "summary": "Run the monitor's saved query and return new matches since last_checked_at",
          "docs_path": "/api-reference/monitors/get-v1-monitors-monitor-id-matches",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/monitors/compile",
          "title": "POST /v1/monitors/compile",
          "summary": "Compile a natural-language alert request into a structured monitor spec",
          "description": "Turns a plain-English trigger (e.g. \"notify me about mergers at AAPL\") into a validated structured monitor subscription spec plus a ready-to-POST create body. Read-only: it returns a spec, it does not create the monitor.",
          "docs_path": "/api-reference/monitors/post-v1-monitors-compile",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "news",
      "title": "News",
      "description": "Reference pages for News endpoints.",
      "docs_path": "/api-reference/news",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/news/search",
          "title": "GET /v1/news/search",
          "summary": "Search rights-safe news coverage and issuer communications by symbol, entity, or topic",
          "docs_path": "/api-reference/news/get-v1-news-search",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/news/stories",
          "title": "GET /v1/news/stories",
          "summary": "Return rights-safe news stories with entity tagging, provenance, and source-rights metadata",
          "docs_path": "/api-reference/news/get-v1-news-stories",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "offerings",
      "title": "Offerings",
      "description": "Find filed registration statements and prospectuses for public-offering research, with filing-date filters and source-aware review guidance.",
      "docs_path": "/api-reference/offerings",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/offerings",
          "title": "GET /v1/offerings",
          "summary": "Find SEC registration statements and prospectuses for public-offering research",
          "description": "Searches S-1 and 424B-family filing records. Results identify filed disclosures, not every capital raise or a completed offering. Preserve the accession number and source fields when reviewing a result: `filingDate` is the SEC disclosure date, not necessarily an offering or pricing date. Continue with the returned `nextCursor` value for the same filters. A lower `submission_file_limit` scans fewer SEC submission files and can omit older matches. See [API conventions](https://docs.secapi.ai/api-conventions).",
          "docs_path": "/api-reference/offerings/get-v1-offerings",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "operations",
      "title": "Operations",
      "description": "Reference pages for Operations endpoints.",
      "docs_path": "/api-reference/operations",
      "operations": [
        {
          "method": "POST",
          "path": "/v1/operations/execute",
          "title": "POST /v1/operations/execute",
          "summary": "Shadow-execute a channel-neutral operation envelope without settling usage",
          "docs_path": "/api-reference/operations/post-v1-operations-execute",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/operations/quote",
          "title": "POST /v1/operations/quote",
          "summary": "Shadow-quote a channel-neutral operation before execution across API, MCP, CLI, SDK, Excel, or Sheets",
          "docs_path": "/api-reference/operations/post-v1-operations-quote",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "owners",
      "title": "Ownership",
      "description": "Institutional and beneficial ownership surfaces for managers, holders, and ticker-centric analysis.",
      "docs_path": "/api-reference/owners",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/owners/13d-13g",
          "title": "GET /v1/owners/13d-13g",
          "summary": "Search SEC Schedule 13D and 13G beneficial-ownership reports by issuer, filer, form, and filing date",
          "description": "Use this route to find filed beneficial-ownership reports in the Schedule 13D and 13G families, including amendments. Filter by issuer, filer name, form, and filing date, then retain the returned accession, filing URL, provenance, and freshness metadata for review. Reported beneficial ownership is filing-specific and can be amended; it is not a real-time cap table, complete economic-exposure measure, or inference about investor intent. Pagination is offset-based: advance only with the returned `nextCursor` while `hasMore` is true. See [ownership workflows](/ownership-workflows) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/owners/get-v1-owners-13d-13g",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/owners/13f",
          "title": "GET /v1/owners/13f",
          "summary": "Retrieve one manager's disclosed Form 13F holdings for the latest parsable or selected report",
          "description": "Use this route to inspect the positions an institutional manager disclosed on Form 13F for one reporting period. `cik` identifies the manager/filer, not an issuer held in the report. Without a date selector, the service returns the latest parsable 13F it can select; `reportDate` and `filingDate` select one disclosed period. Retain the returned report date, filing date, accession number, provenance, and freshness metadata when presenting holdings. Form 13F is delayed, periodic disclosure rather than a live portfolio, transaction ledger, or complete economic-exposure record. See [ownership workflows](/ownership-workflows) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/owners/get-v1-owners-13f",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/owners/13f/compare",
          "title": "POST /v1/owners/13f/compare",
          "summary": "Compare the latest two parsable Form 13F reports for one institutional manager",
          "description": "Use this route to generate a manager-level difference between the latest two parsable 13F reports the service finds. The request CIK belongs to the manager/filer. The response labels disclosed positions as added, removed, changed, or unchanged and includes filing dates and provenance, but it does not accept arbitrary report-date selectors. For a specific historical period, first list the manager's filings and retrieve individual reports. 13F changes are delayed filing differences, not trade dates, manager intent, current ownership, or complete exposure. See [ownership workflows](/ownership-workflows) and the [13F comparison guide](/seo/sec-13f-comparison-api).",
          "docs_path": "/api-reference/owners/post-v1-owners-13f-compare",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/owners/13f/filings",
          "title": "GET /v1/owners/13f/filings",
          "summary": "List a manager's recent SEC Form 13F filings and their reported period dates",
          "description": "Use this route to discover the available 13F filings for one institutional manager before selecting a historical report or comparing periods. `cik` identifies the manager/filer. Each filing record supplies the reported quarter-end date, SEC filing identity, and provenance needed to request the corresponding holdings. `since` supports incremental polling by filing acceptance time when available, with filing-date fallback for records that have only day-level timing. A returned filing is a disclosure record, not proof that every filing is parsable or that it represents current holdings. See [ownership workflows](/ownership-workflows).",
          "docs_path": "/api-reference/owners/get-v1-owners-13f-filings",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/owners/institutional/extract",
          "title": "GET /v1/owners/institutional/extract",
          "summary": "Retrieve one manager's historical 13F extract for a specified calendar quarter",
          "description": "Use this route when the reporting period is known and you need a manager's quarter-specific 13F extract. `year` and `quarter` select the calendar quarter-end report date; the response can include prior-quarter deltas only when a prior parsable report is available, otherwise its coverage is current-only. Results are SEC-derived, period-specific holdings disclosure, not current ownership or a complete exposure record. Keep the returned filing identity, provenance, and freshness metadata with any analysis. See [ownership workflows](/ownership-workflows).",
          "docs_path": "/api-reference/owners/get-v1-owners-institutional-extract",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization",
            "comparisonCoverage",
            "statusNote"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/owners/institutional/investor",
          "title": "GET /v1/owners/institutional/investor",
          "summary": "Retrieve a manager-centric 13F portfolio with ranked disclosed holdings and available prior-quarter changes",
          "description": "Use this manager-centric view to review one institutional filer's selected 13F portfolio and the reported changes against a prior parsable report when one is available. `cik` is the manager/filer CIK. The ranking and changes describe filed 13F positions for the returned reporting period; they are not real-time holdings, trades, or a complete exposure view. Preserve the selected report and filing dates, accession, provenance, and freshness metadata before comparing managers or periods. See [ownership workflows](/ownership-workflows) for disclosure-family and period guidance.",
          "docs_path": "/api-reference/owners/get-v1-owners-institutional-investor",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/owners/institutional/ticker",
          "title": "GET /v1/owners/institutional/ticker",
          "summary": "Retrieve institutional managers that disclosed a position in one issuer for a selected 13F cohort",
          "description": "Use this issuer-centric view to identify managers that disclosed a position in one security within the selected materialized 13F cohort. Provide either the issuer ticker or issuer CIK, not a manager identifier. The response is ranked by disclosed position value and tied to its returned report date, filing date, and accessions; it is not a current cap table, complete holder roster, or real-time ownership measure. Pagination is offset-based: advance only with the returned `nextCursor` while `hasMore` is true, and read the full cohort size from `totals.holders`. Cohort availability depends on the materialized 13F read model, so preserve provenance and freshness metadata and treat a non-2xx response as unavailable data rather than an absence-of-holders conclusion. See [ownership workflows](/ownership-workflows).",
          "docs_path": "/api-reference/owners/get-v1-owners-institutional-ticker",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "platform",
      "title": "Platform",
      "description": "Set up and manage your SEC API organization: authenticate clients, create API keys, inspect limits, and manage billing.",
      "docs_path": "/api-reference/platform",
      "operations": [
        {
          "method": "GET",
          "path": "/.well-known/oauth-authorization-server",
          "title": "GET /.well-known/oauth-authorization-server",
          "summary": "Return or proxy OAuth authorization server metadata for the configured WorkOS tenant",
          "docs_path": "/api-reference/platform/get--well-known-oauth-authorization-server",
          "audience": "platform integrator",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/.well-known/oauth-protected-resource",
          "title": "GET /.well-known/oauth-protected-resource",
          "summary": "Return OAuth protected resource metadata for hosted MCP and API clients",
          "docs_path": "/api-reference/platform/get--well-known-oauth-protected-resource",
          "audience": "platform integrator",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/mcp",
          "title": "POST /mcp",
          "summary": "Hosted MCP transport endpoint",
          "docs_path": "/api-reference/platform/post-mcp",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/api_keys",
          "title": "GET /v1/api_keys",
          "summary": "List API keys for the current organization",
          "docs_path": "/api-reference/platform/get-v1-api-keys",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/api_keys",
          "title": "POST /v1/api_keys",
          "summary": "Create a new API key for the current organization and reveal its secret exactly once",
          "docs_path": "/api-reference/platform/post-v1-api-keys",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/billing",
          "title": "GET /v1/billing",
          "summary": "Return the current organization's billing snapshot, including pricing posture, budget controls, and settlement provider state",
          "docs_path": "/api-reference/platform/get-v1-billing",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "PUT",
          "path": "/v1/billing/budget",
          "title": "PUT /v1/billing/budget",
          "summary": "Update organization-level spend caps, soft caps, and approval thresholds for PAYG usage",
          "docs_path": "/api-reference/platform/put-v1-billing-budget",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/billing/checkout",
          "title": "POST /v1/billing/checkout",
          "summary": "Create a Stripe Checkout session for a self-serve Pro or Team SEC API plan",
          "docs_path": "/api-reference/platform/post-v1-billing-checkout",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/billing/credits",
          "title": "GET /v1/billing/credits",
          "summary": "Return the current organization's prepaid credit balance, auto-top-up settings, lifetime totals, and low-balance status",
          "docs_path": "/api-reference/platform/get-v1-billing-credits",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "PUT",
          "path": "/v1/billing/credits/auto-topup",
          "title": "PUT /v1/billing/credits/auto-topup",
          "summary": "Enable or disable automatic prepaid-credit top-ups and set the low-balance threshold and refill amount",
          "docs_path": "/api-reference/platform/put-v1-billing-credits-auto-topup",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/billing/credits/refund",
          "title": "POST /v1/billing/credits/refund",
          "summary": "Refund the unspent credits of a prepaid top-up to the original payment method, within the refund window (platform fees non-refundable)",
          "docs_path": "/api-reference/platform/post-v1-billing-credits-refund",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/billing/credits/topup",
          "title": "POST /v1/billing/credits/topup",
          "summary": "Create a Stripe PaymentIntent to purchase prepaid credits, returning the client secret and the discount/fee charge breakdown",
          "docs_path": "/api-reference/platform/post-v1-billing-credits-topup",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/billing/credits/transactions",
          "title": "GET /v1/billing/credits/transactions",
          "summary": "List the current organization's prepaid credit ledger entries (top-ups, debits, refunds, grants, adjustments), newest first",
          "docs_path": "/api-reference/platform/get-v1-billing-credits-transactions",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/billing/grant/reset",
          "title": "POST /v1/billing/grant/reset",
          "summary": "Reset free starter allowance usage for the current monthly period, rate-limited to once per rolling 30 days per organization",
          "docs_path": "/api-reference/platform/post-v1-billing-grant-reset",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/billing/payg/enable",
          "title": "POST /v1/billing/payg/enable",
          "summary": "Enable pay-as-you-go in one flow: save a card, make an initial credit top-up, and optionally turn on auto-top-up (returns a PaymentIntent client secret)",
          "docs_path": "/api-reference/platform/post-v1-billing-payg-enable",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/billing/payment-methods",
          "title": "GET /v1/billing/payment-methods",
          "summary": "List the current organization's saved payment methods, primary first",
          "docs_path": "/api-reference/platform/get-v1-billing-payment-methods",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "PUT",
          "path": "/v1/billing/payment-methods/{id}",
          "title": "PUT /v1/billing/payment-methods/{id}",
          "summary": "Set a saved payment method as primary and/or change its auto-top-up fallback priority",
          "docs_path": "/api-reference/platform/put-v1-billing-payment-methods-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "DELETE",
          "path": "/v1/billing/payment-methods/{id}",
          "title": "DELETE /v1/billing/payment-methods/{id}",
          "summary": "Remove a saved payment method from the current organization",
          "docs_path": "/api-reference/platform/delete-v1-billing-payment-methods-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/billing/payment-methods/setup-intent",
          "title": "POST /v1/billing/payment-methods/setup-intent",
          "summary": "Create a Stripe SetupIntent to save a payment method off-session for top-ups and auto-top-up (max 3 per organization)",
          "docs_path": "/api-reference/platform/post-v1-billing-payment-methods-setup-intent",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/billing/portal",
          "title": "POST /v1/billing/portal",
          "summary": "Create a Stripe Billing Portal session for the current organization",
          "docs_path": "/api-reference/platform/post-v1-billing-portal",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/billing/quote",
          "title": "POST /v1/billing/quote",
          "summary": "Quote a billable workflow or meter class against the current billing plan and budget gates",
          "docs_path": "/api-reference/platform/post-v1-billing-quote",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/billing/rates",
          "title": "GET /v1/billing/rates",
          "summary": "Return the public pricing catalog, free allowance metadata, plan metadata, and meter-family launch rates",
          "docs_path": "/api-reference/platform/get-v1-billing-rates",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/billing/stripe-config",
          "title": "GET /v1/billing/stripe-config",
          "summary": "Return the current organization's Stripe publishable-key configuration for browser payment setup",
          "docs_path": "/api-reference/platform/get-v1-billing-stripe-config",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/billing/webhooks/stripe",
          "title": "POST /v1/billing/webhooks/stripe",
          "summary": "Receive and process signed Stripe subscription lifecycle webhooks",
          "docs_path": "/api-reference/platform/post-v1-billing-webhooks-stripe",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/limits",
          "title": "GET /v1/limits",
          "summary": "Return the current organization's effective plan, billing state, and route quota windows",
          "docs_path": "/api-reference/platform/get-v1-limits",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/me",
          "title": "GET /v1/me",
          "summary": "Return the current authenticated principal and organization context",
          "docs_path": "/api-reference/platform/get-v1-me",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/org",
          "title": "GET /v1/org",
          "summary": "Return the current organization profile",
          "docs_path": "/api-reference/platform/get-v1-org",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "portfolio",
      "title": "Portfolio",
      "description": "Reference pages for Portfolio endpoints.",
      "docs_path": "/api-reference/portfolio",
      "operations": [
        {
          "method": "POST",
          "path": "/v1/portfolio/analyze",
          "title": "POST /v1/portfolio/analyze",
          "summary": "Return factor exposures, attribution, and hedge suggestions for a portfolio in one deterministic response",
          "docs_path": "/api-reference/portfolio/post-v1-portfolio-analyze",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/portfolio/attribution",
          "title": "POST /v1/portfolio/attribution",
          "summary": "Return factor return attribution for a portfolio with explained return, residual/unexplained return, and compact contribution rows",
          "docs_path": "/api-reference/portfolio/post-v1-portfolio-attribution",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/portfolio/hedge",
          "title": "POST /v1/portfolio/hedge",
          "summary": "Return bounded benchmark-instrument factor hedge candidates for a portfolio with compact residual exposure and trust metadata",
          "docs_path": "/api-reference/portfolio/post-v1-portfolio-hedge",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/portfolio/optimize",
          "title": "POST /v1/portfolio/optimize",
          "summary": "Return bounded factor-aware optimizer scenario candidates for factor-neutral, min-drawdown, or regime-aware objectives",
          "docs_path": "/api-reference/portfolio/post-v1-portfolio-optimize",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/portfolio/risk",
          "title": "POST /v1/portfolio/risk",
          "summary": "Return ex-ante portfolio risk: tracking error, CTEV by factor group and by security, ex-ante beta, and the factor-vs-idiosyncratic split, labelled with model coverage",
          "docs_path": "/api-reference/portfolio/post-v1-portfolio-risk",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/portfolio/stress-test",
          "title": "POST /v1/portfolio/stress-test",
          "summary": "Run portfolio stress scenarios across factor and macro shock definitions with compact traceable outputs",
          "docs_path": "/api-reference/portfolio/post-v1-portfolio-stress-test",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/portfolio/stress-test/scenarios",
          "title": "GET /v1/portfolio/stress-test/scenarios",
          "summary": "Return the supported portfolio stress-test scenario catalog with macro and factor shock definitions",
          "docs_path": "/api-reference/portfolio/get-v1-portfolio-stress-test-scenarios",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "search",
      "title": "Search",
      "description": "Reference pages for Search endpoints.",
      "docs_path": "/api-reference/search",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/search/fulltext",
          "title": "GET /v1/search/fulltext",
          "summary": "Full-text search across filing content and section text",
          "docs_path": "/api-reference/search/get-v1-search-fulltext",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/search/semantic",
          "title": "GET /v1/search/semantic",
          "summary": "Semantic vector search across SEC filing section content with finance-tuned embeddings, hybrid keyword + vector RRF, and citation fields on every result row",
          "docs_path": "/api-reference/search/get-v1-search-semantic",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "sections",
      "title": "Sections",
      "description": "Search and extract filing sections, items, and snippets.",
      "docs_path": "/api-reference/sections",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/sections/search",
          "title": "GET /v1/sections/search",
          "summary": "Search filing sections and snippets with filing-scoped filters and cursor pagination",
          "docs_path": "/api-reference/sections/get-v1-sections-search",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "signals",
      "title": "Signals",
      "description": "Derived public-market signals such as the OMNI Volatility Score.",
      "docs_path": "/api-reference/signals",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/signals/dilution",
          "title": "GET /v1/signals/dilution",
          "summary": "Return the SEC API Dilution Score: factor-weighted 0-100 derived metric with sub-ratings, percentile, and optional rolling history",
          "docs_path": "/api-reference/signals/get-v1-signals-dilution",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/signals/dilution/enhanced",
          "title": "GET /v1/signals/dilution/enhanced",
          "summary": "Return the SEC API Dilution Score with factor-model context for liquidity regime, momentum exposure, and financing-risk interpretation",
          "docs_path": "/api-reference/signals/get-v1-signals-dilution-enhanced",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "score",
            "band",
            "confidence",
            "factors",
            "subRatings",
            "factorModelContext"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/signals/volatility",
          "title": "GET /v1/signals/volatility",
          "summary": "Return the SEC API volatility score with transparent factor breakdown and freshness metadata",
          "docs_path": "/api-reference/signals/get-v1-signals-volatility",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "methodologyVersion",
            "factors",
            "degradedReasons"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "situations",
      "title": "Situations",
      "description": "Reference pages for Situations endpoints.",
      "docs_path": "/api-reference/situations",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/exports/{job_id}",
          "title": "GET /v1/exports/{job_id}",
          "summary": "Poll an async export job and re-sign its download URL",
          "docs_path": "/api-reference/situations/get-v1-exports-job-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/situations",
          "title": "GET /v1/situations",
          "summary": "List durable special situations (M&A, tender offers, going-private, spin-offs, activist campaigns, restructuring, bankruptcy, …) with lifecycle status, deal terms, and market snapshot.",
          "docs_path": "/api-reference/situations/get-v1-situations",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/{situation_id}",
          "title": "GET /v1/situations/{situation_id}",
          "summary": "Retrieve a single situation with its full per-filing timeline (oldest first)",
          "docs_path": "/api-reference/situations/get-v1-situations-situation-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/{situation_id}/export",
          "title": "GET /v1/situations/{situation_id}/export",
          "summary": "Export one situation from the shared snapshot renderer. json, csv, xlsx, and llm are inline; pdf is an async job.",
          "docs_path": "/api-reference/situations/get-v1-situations-situation-id-export",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/{situation_id}/filings",
          "title": "GET /v1/situations/{situation_id}/filings",
          "summary": "Retrieve a situation's per-filing timeline as a paginated sub-resource (oldest first)",
          "docs_path": "/api-reference/situations/get-v1-situations-situation-id-filings",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/{situation_id}/summary",
          "title": "GET /v1/situations/{situation_id}/summary",
          "summary": "Retrieve a compact situation summary: rendered markdown, deal terms, and the latest timeline event",
          "docs_path": "/api-reference/situations/get-v1-situations-situation-id-summary",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/{situation_id}/underwriting-pack",
          "title": "GET /v1/situations/{situation_id}/underwriting-pack",
          "summary": "Retrieve a deterministic, source-cited underwriting pack with canonical detail, filing timeline, and Copy-for-LLM markdown",
          "description": "This paid endpoint returns canonical Special Situations detail and the SEC filing timeline. It does not provide proprietary enrichment or investment advice.",
          "docs_path": "/api-reference/situations/get-v1-situations-situation-id-underwriting-pack",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/by-form/{form}",
          "title": "GET /v1/situations/by-form/{form}",
          "summary": "List special situations opened or advanced by a given EDGAR form type (e.g. SC 13D, SC TO-T, 425, DEFM14A). The form is expanded to the situation types it triggers.",
          "docs_path": "/api-reference/situations/get-v1-situations-by-form-form",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/calendar",
          "title": "GET /v1/situations/calendar",
          "summary": "Upcoming situation key dates (record, vote, expiry, expected close) within a horizon of up to 365 days",
          "docs_path": "/api-reference/situations/get-v1-situations-calendar",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/export",
          "title": "GET /v1/situations/export",
          "summary": "Enqueue an async bulk Special Situations export from the same snapshot/issue renderer (JSON, CSV, Excel, PDF, or Copy-for-LLM)",
          "docs_path": "/api-reference/situations/get-v1-situations-export",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/feed",
          "title": "GET /v1/situations/feed",
          "summary": "Reverse-chronological feed of situation events, each enriched with its parent situation summary",
          "docs_path": "/api-reference/situations/get-v1-situations-feed",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/feed.rss",
          "title": "GET /v1/situations/feed.rss",
          "summary": "Paid authenticated RSS feed of situation events",
          "description": "RSS XML version of the paid Special Situations event feed. This is distinct from the limited public website RSS preview.",
          "docs_path": "/api-reference/situations/get-v1-situations-feed-rss",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/issues",
          "title": "GET /v1/situations/issues",
          "summary": "List immutable, numbered weekly Special Situations Digest issues",
          "docs_path": "/api-reference/situations/get-v1-situations-issues",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/issues/{issue}",
          "title": "GET /v1/situations/issues/{issue}",
          "summary": "Retrieve one immutable weekly Special Situations Digest issue by number or slug",
          "docs_path": "/api-reference/situations/get-v1-situations-issues-issue",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/performance",
          "title": "GET /v1/situations/performance",
          "summary": "Closed-situation outcome cohorts: completion rate, median days to close, average premium, terminated/expired counts",
          "docs_path": "/api-reference/situations/get-v1-situations-performance",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/stats",
          "title": "GET /v1/situations/stats",
          "summary": "Situation counts by type, status, sector, market-cap bucket, and country with coverage scope",
          "docs_path": "/api-reference/situations/get-v1-situations-stats",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/watchlists",
          "title": "GET /v1/situations/watchlists",
          "summary": "List situation-scoped watchlist monitors for the current organization",
          "docs_path": "/api-reference/situations/get-v1-situations-watchlists",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "POST",
          "path": "/v1/situations/watchlists",
          "title": "POST /v1/situations/watchlists",
          "summary": "Create a situation-scoped watchlist monitor",
          "docs_path": "/api-reference/situations/post-v1-situations-watchlists",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "GET",
          "path": "/v1/situations/watchlists/{monitor_id}",
          "title": "GET /v1/situations/watchlists/{monitor_id}",
          "summary": "Retrieve a situation-scoped watchlist monitor by id",
          "docs_path": "/api-reference/situations/get-v1-situations-watchlists-monitor-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        },
        {
          "method": "DELETE",
          "path": "/v1/situations/watchlists/{monitor_id}",
          "title": "DELETE /v1/situations/watchlists/{monitor_id}",
          "summary": "Deactivate a situation-scoped watchlist monitor",
          "docs_path": "/api-reference/situations/delete-v1-situations-watchlists-monitor-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "gated"
        }
      ]
    },
    {
      "slug": "statements",
      "title": "Statements",
      "description": "Retrieve normalized financial statements and segment disclosures with periods, units, and filing provenance.",
      "docs_path": "/api-reference/statements",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/statements",
          "title": "GET /v1/statements",
          "summary": "Retrieve one SEC-derived normalized balance sheet, income statement, or cash flow statement for an issuer",
          "description": "Use this route to fetch one normalized statement for analysis or a financial-model input. Set `statement` and select annual or quarterly cadence, fiscal year, and a bounded history when the reporting slice matters. The response resolves supported US GAAP and IFRS filers, preserves reported units, periods, and filing provenance, and can contain missing or incomparable line items; it is not a substitute for the cited filing. See [API conventions](/api-conventions) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/statements/get-v1-statements",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/statements/{statement_key}",
          "title": "GET /v1/statements/{statement_key}",
          "summary": "Retrieve one SEC-derived normalized statement selected by statement key",
          "description": "Use this route when the statement type belongs in the URL rather than a query string. Set `statement_key` to a supported normalized statement, then select annual or quarterly cadence and fiscal years as needed. The result preserves reported units, periods, and filing provenance and may contain missing or incomparable normalized line items. See [API conventions](/api-conventions) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/statements/get-v1-statements-statement-key",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/statements/all",
          "title": "GET /v1/statements/all",
          "summary": "Retrieve an issuer's normalized balance sheet, income statement, and cash flow statement as one SEC-derived bundle",
          "description": "Use this route to obtain the three core statements for a common issuer and reporting selection. Choose annual or quarterly cadence and fiscal-year filters before comparing periods. Each statement retains its own rows, units, periods, completeness, and filing provenance, so a bundle does not guarantee that every normalized line item is available or comparable across all three statements. See [API conventions](/api-conventions) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/statements/get-v1-statements-all",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/statements/segmented-facts",
          "title": "GET /v1/statements/segmented-facts",
          "summary": "Retrieve an issuer's disclosed segment revenue or profit/loss history with filing-level dimensions and source context",
          "description": "Use this route to compare a disclosed segment metric across recent annual or quarterly filings. Select `metric` first, then use `segment_type` when the workflow needs a product, geographic, or other dimension. Rows preserve the issuer's reported axes, members, units, reporting periods, and filing provenance; a missing segment or unsupported capability is not a zero value. Keep the returned accession, filing URL, and freshness fields with any analysis. See [API conventions](/api-conventions) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/statements/get-v1-statements-segmented-facts",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/statements/segmented-revenues",
          "title": "GET /v1/statements/segmented-revenues",
          "summary": "Retrieve an issuer's disclosed product or geographic revenue history with filing-level dimensions and source context",
          "description": "Use this route to analyze revenue splits the issuer actually disclosed in XBRL. Choose annual or quarterly cadence and, when useful, narrow to a product, geographic, or other reported dimension. Records retain the reported unit, period, segment hierarchy, capability status, and filing provenance; they are not a modeled revenue allocation. Preserve the returned accession, filing URL, and freshness fields before aggregating or presenting the result. See [API conventions](/api-conventions) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/statements/get-v1-statements-segmented-revenues",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/statements/share-float",
          "title": "GET /v1/statements/share-float",
          "summary": "Retrieve an issuer's disclosed public float when available, with a clearly labeled shares-outstanding fallback",
          "description": "Use this route when a workflow needs the public-float fact reported in SEC company facts and must distinguish it from a shares-outstanding proxy. Check `sourceMode`, `statusNote`, unit, reporting date, provenance, and freshness before using a value: `publicFloatUsd` may be null while `sharesOutstanding` is present. A proxy is not public float, market capitalization, or free float. See [API conventions](/api-conventions) and [freshness and source evidence](/freshness-and-trust).",
          "docs_path": "/api-reference/statements/get-v1-statements-share-float",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization",
            "capability",
            "sourceMode"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "stocks",
      "title": "Stocks",
      "description": "Reference pages for Stocks endpoints.",
      "docs_path": "/api-reference/stocks",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/stocks/{ticker}/loadings",
          "title": "GET /v1/stocks/{ticker}/loadings",
          "summary": "Return stock-level factor loadings for a single ticker using the latest stored exposure model",
          "docs_path": "/api-reference/stocks/get-v1-stocks-ticker-loadings",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "strategies",
      "title": "Strategies",
      "description": "Reference pages for Strategies endpoints.",
      "docs_path": "/api-reference/strategies",
      "operations": [
        {
          "method": "POST",
          "path": "/v1/strategies/factor-rotation",
          "title": "POST /v1/strategies/factor-rotation",
          "summary": "Return factor-rotation research scenarios informed by macro regime context and factor state",
          "docs_path": "/api-reference/strategies/post-v1-strategies-factor-rotation",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "stream",
      "title": "Stream",
      "description": "Reference pages for Stream endpoints.",
      "docs_path": "/api-reference/stream",
      "operations": [
        {
          "method": "POST",
          "path": "/v1/stream/tickets",
          "title": "POST /v1/stream/tickets",
          "summary": "Mint a short-lived signed WebSocket stream ticket for the current principal",
          "description": "Creates a short-lived signed ticket that can be sent as the `ticket` query parameter when upgrading to `/v1/stream/ws`. This avoids sending long-lived API keys or bearer tokens in browser-visible WebSocket URLs.",
          "docs_path": "/api-reference/stream/post-v1-stream-tickets",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/stream/ws",
          "title": "GET /v1/stream/ws",
          "summary": "Upgrade to a WebSocket connection for delivery event streaming",
          "description": "Upgrades an active WebSocket stream subscription to a WebSocket connection. Clients must supply that subscription's `stream_id` and authenticate with either a short-lived signed `ticket` minted from `POST /v1/stream/tickets` or the `x-api-key` header. Connections are capped by plan but are not separately billable in v1. Delivered events use the same delivery-event billing family as stream polling and are idempotent per subscription and event.",
          "docs_path": "/api-reference/stream/get-v1-stream-ws",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "streams",
      "title": "Streams",
      "description": "Stream subscription creation and event polling for replay-safe event delivery.",
      "docs_path": "/api-reference/streams",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/stream_subscriptions",
          "title": "GET /v1/stream_subscriptions",
          "summary": "List stream subscriptions for the current organization",
          "docs_path": "/api-reference/streams/get-v1-stream-subscriptions",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/stream_subscriptions",
          "title": "POST /v1/stream_subscriptions",
          "summary": "Create a stream subscription for event polling and replay",
          "docs_path": "/api-reference/streams/post-v1-stream-subscriptions",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "PATCH",
          "path": "/v1/stream_subscriptions/{stream_id}",
          "title": "PATCH /v1/stream_subscriptions/{stream_id}",
          "summary": "Update a stream subscription description, event types, transport, or status",
          "docs_path": "/api-reference/streams/patch-v1-stream-subscriptions-stream-id",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "DELETE",
          "path": "/v1/stream_subscriptions/{stream_id}",
          "title": "DELETE /v1/stream_subscriptions/{stream_id}",
          "summary": "Delete a stream subscription while preserving delivery records",
          "docs_path": "/api-reference/streams/delete-v1-stream-subscriptions-stream-id",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/stream_subscriptions/{stream_id}/disable",
          "title": "POST /v1/stream_subscriptions/{stream_id}/disable",
          "summary": "Disable a stream subscription without deleting its delivery records",
          "docs_path": "/api-reference/streams/post-v1-stream-subscriptions-stream-id-disable",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/stream_subscriptions/{stream_id}/enable",
          "title": "POST /v1/stream_subscriptions/{stream_id}/enable",
          "summary": "Enable a stream subscription",
          "docs_path": "/api-reference/streams/post-v1-stream-subscriptions-stream-id-enable",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/stream_subscriptions/{stream_id}/events",
          "title": "GET /v1/stream_subscriptions/{stream_id}/events",
          "summary": "Poll canonical stream events for a subscription with cursor semantics",
          "docs_path": "/api-reference/streams/get-v1-stream-subscriptions-stream-id-events",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "traces",
      "title": "Traces",
      "description": "Trace hydration, filing page anchors, and source-to-derived lineage workflows. Traces cover filing-derived data (segmented revenues, section excerpts), SEC enforcement actions, market price snapshots, and analyst estimates.",
      "docs_path": "/api-reference/traces",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/traces",
          "title": "GET /v1/traces",
          "summary": "Batch resolve shared trace records by trace identifier across filing-derived and supported non-filing datasets",
          "docs_path": "/api-reference/traces/get-v1-traces",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/traces/{trace_id}",
          "title": "GET /v1/traces/{trace_id}",
          "summary": "Resolve a single shared trace record by trace identifier across filing-derived and supported non-filing datasets",
          "docs_path": "/api-reference/traces/get-v1-traces-trace-id",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent",
            "provenance",
            "freshness",
            "materialization"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "webhooks",
      "title": "Webhooks",
      "description": "Organization webhook endpoints, signed event delivery, recorded attempts, replay, and one-time secret rotation.",
      "docs_path": "/api-reference/webhooks",
      "operations": [
        {
          "method": "GET",
          "path": "/v1/webhook_endpoints",
          "title": "GET /v1/webhook_endpoints",
          "summary": "List webhook endpoints for the current organization",
          "docs_path": "/api-reference/webhooks/get-v1-webhook-endpoints",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/webhook_endpoints",
          "title": "POST /v1/webhook_endpoints",
          "summary": "Create a signed webhook endpoint for Delivery events",
          "docs_path": "/api-reference/webhooks/post-v1-webhook-endpoints",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "PATCH",
          "path": "/v1/webhook_endpoints/{webhook_id}",
          "title": "PATCH /v1/webhook_endpoints/{webhook_id}",
          "summary": "Update a webhook endpoint URL, description, subscribed event types, or active status",
          "docs_path": "/api-reference/webhooks/patch-v1-webhook-endpoints-webhook-id",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "DELETE",
          "path": "/v1/webhook_endpoints/{webhook_id}",
          "title": "DELETE /v1/webhook_endpoints/{webhook_id}",
          "summary": "Delete a webhook endpoint while preserving delivery audit history",
          "docs_path": "/api-reference/webhooks/delete-v1-webhook-endpoints-webhook-id",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/webhook_endpoints/{webhook_id}/deliveries",
          "title": "GET /v1/webhook_endpoints/{webhook_id}/deliveries",
          "summary": "List canonical delivery attempts for a webhook endpoint",
          "docs_path": "/api-reference/webhooks/get-v1-webhook-endpoints-webhook-id-deliveries",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/webhook_endpoints/{webhook_id}/deliveries/{delivery_id}/replay",
          "title": "POST /v1/webhook_endpoints/{webhook_id}/deliveries/{delivery_id}/replay",
          "summary": "Replay a stored webhook delivery attempt by re-emitting its source event to the endpoint",
          "docs_path": "/api-reference/webhooks/post-v1-webhook-endpoints-webhook-id-deliveries-delivery-id-replay",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/webhook_endpoints/{webhook_id}/disable",
          "title": "POST /v1/webhook_endpoints/{webhook_id}/disable",
          "summary": "Disable a webhook endpoint without deleting delivery history",
          "docs_path": "/api-reference/webhooks/post-v1-webhook-endpoints-webhook-id-disable",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/webhook_endpoints/{webhook_id}/enable",
          "title": "POST /v1/webhook_endpoints/{webhook_id}/enable",
          "summary": "Enable a webhook endpoint",
          "docs_path": "/api-reference/webhooks/post-v1-webhook-endpoints-webhook-id-enable",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/webhook_endpoints/{webhook_id}/rotate_secret",
          "title": "POST /v1/webhook_endpoints/{webhook_id}/rotate_secret",
          "summary": "Rotate the signing secret for a webhook endpoint",
          "docs_path": "/api-reference/webhooks/post-v1-webhook-endpoints-webhook-id-rotate-secret",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/webhook_endpoints/{webhook_id}/test",
          "title": "POST /v1/webhook_endpoints/{webhook_id}/test",
          "summary": "Send a signed webhook.test event to a webhook endpoint",
          "docs_path": "/api-reference/webhooks/post-v1-webhook-endpoints-webhook-id-test",
          "audience": "application and admin",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    },
    {
      "slug": "workbook-installations",
      "title": "Workbook Installations",
      "description": "Reference pages for Workbook Installations endpoints.",
      "docs_path": "/api-reference/workbook-installations",
      "operations": [
        {
          "method": "POST",
          "path": "/v1/workbook-installations",
          "title": "POST /v1/workbook-installations",
          "summary": "Register an Excel or Google Sheets workbook installation as the durable server-owned workbook identity.",
          "description": "Creates the workbook identity used by Excel, Sheets, MCP, and API filing-to-model workflows. The server, not the add-in, becomes the system of record for mappings, refresh history, provenance, and audit events.",
          "docs_path": "/api-reference/workbook-installations/post-v1-workbook-installations",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/workbook-installations/{workbook_installation_id}/apply-receipts",
          "title": "POST /v1/workbook-installations/{workbook_installation_id}/apply-receipts",
          "summary": "Record a server-validated workbook apply receipt after an approved model change set is written by the host add-in.",
          "description": "Loads the server-persisted model-change set and approval record, validates evidence binding, current workbook precondition hash, approved input target refs, read-back hash, and recovery-case requirements, then appends the receipt to workbook provenance.",
          "docs_path": "/api-reference/workbook-installations/post-v1-workbook-installations-workbook-installation-id-apply-receipts",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/workbook-installations/{workbook_installation_id}/fingerprints",
          "title": "POST /v1/workbook-installations/{workbook_installation_id}/fingerprints",
          "summary": "Capture a workbook fingerprint before mapping, previewing, or applying model changes.",
          "docs_path": "/api-reference/workbook-installations/post-v1-workbook-installations-workbook-installation-id-fingerprints",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "PUT",
          "path": "/v1/workbook-installations/{workbook_installation_id}/mappings",
          "title": "PUT /v1/workbook-installations/{workbook_installation_id}/mappings",
          "summary": "Save append-only workbook mapping versions for audited filing-to-model refreshes.",
          "docs_path": "/api-reference/workbook-installations/put-v1-workbook-installations-workbook-installation-id-mappings",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/workbook-installations/{workbook_installation_id}/model-change-set-approvals",
          "title": "POST /v1/workbook-installations/{workbook_installation_id}/model-change-set-approvals",
          "summary": "Create a server-owned analyst approval record for an immutable workbook model-change set.",
          "description": "Loads the persisted model-change set, verifies that the approval covers exactly that proposal, binds it to the evidence snapshot and workbook precondition hash, and appends an approval audit event.",
          "docs_path": "/api-reference/workbook-installations/post-v1-workbook-installations-workbook-installation-id-model-change-set-approvals",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/workbook-installations/{workbook_installation_id}/model-context-snapshots",
          "title": "POST /v1/workbook-installations/{workbook_installation_id}/model-context-snapshots",
          "summary": "Capture the workbook model context used for preview, approval, and safe apply checks.",
          "docs_path": "/api-reference/workbook-installations/post-v1-workbook-installations-workbook-installation-id-model-context-snapshots",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "GET",
          "path": "/v1/workbook-installations/{workbook_installation_id}/provenance",
          "title": "GET /v1/workbook-installations/{workbook_installation_id}/provenance",
          "summary": "Return the durable workbook provenance ledger: latest fingerprint, context, active mappings, refresh history, and audit events.",
          "docs_path": "/api-reference/workbook-installations/get-v1-workbook-installations-workbook-installation-id-provenance",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        },
        {
          "method": "POST",
          "path": "/v1/workbook-installations/{workbook_installation_id}/refresh-runs",
          "title": "POST /v1/workbook-installations/{workbook_installation_id}/refresh-runs",
          "summary": "Record a workbook refresh or preview run with evidence and diagnostics.",
          "docs_path": "/api-reference/workbook-installations/post-v1-workbook-installations-workbook-installation-id-refresh-runs",
          "audience": "application and coding agent",
          "metadata_fields": [
            "requestId",
            "traceparent"
          ],
          "availability": "live"
        }
      ]
    }
  ],
  "agent_guidance": [
    "Use the x-api-key header for REST, SDK, CLI, and server-to-server MCP calls.",
    "Resolve entities before downstream filing, ownership, facts, or statement calls.",
    "Preserve requestId, traceparent, accession number, CIK, filing date, source URL, and freshness metadata.",
    "Prefer compact or structured endpoints before raw filing text when building agent loops.",
    "Check billing and limits before high-fanout workflows."
  ],
  "discovery": {
    "llms_txt": "https://docs.secapi.ai/llms.txt",
    "llms_full_txt": "https://docs.secapi.ai/llms-full.txt",
    "agent_card_url": "https://docs.secapi.ai/agent-card.json",
    "openapi_aliases": [
      "https://docs.secapi.ai/openapi/sec-api-public.v1.json",
      "https://docs.secapi.ai/openapi/sec-api.v1.json",
      "https://docs.secapi.ai/api-reference/openapi.json",
      "https://api.secapi.ai/openapi.json",
      "https://api.secapi.ai/openapi/sec-api.v1.json",
      "https://api.secapi.ai/.well-known/openapi.json"
    ],
    "marketing_catalogs": [
      "https://secapi.ai/.well-known/product-catalog.json",
      "https://secapi.ai/.well-known/content-catalog.json"
    ],
    "evaluation_pages": [
      "/evaluate/sec-filing-search-api",
      "/evaluate/xbrl-facts-api",
      "/evaluate/13f-api",
      "/evaluate/insider-trading-api",
      "/evaluate/sec-filings-mcp-server",
      "/evaluate/sec-filing-rag",
      "/evaluate/pricing-and-limits"
    ]
  }
}
