---
title: "Export Editorial Funnel"
method: GET
path: "/internal/editorial/funnel-export"
tags: ["editorial feed"]
---

# Export Editorial Funnel

`GET /internal/editorial/funnel-export`

## Request

- Base URL: `https://api.tickertrac.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tickertrac.com/internal/editorial/funnel-export`
- Auth: API key in header `X-API-Key`

Return attributed downstream product value for Editorial's own campaign join.

Editorial cannot build a funnel record from this alone, and that is intentional: campaign
identity, experiment dimensions and channel-side negative signals live in Editorial's
publication receipts. This endpoint supplies only the product half, the identity unit
behind each stage, and the stages TickerTrac cannot measure.

``as_of`` closes the reading's clock. Omitted, it is the request time and the response
says so; supplied, it reproduces an earlier reading of the same ledger exactly, which is
what makes a recorded cohort re-checkable rather than a number nobody can reproduce.

## Query parameters

- `window_days` integer
- `as_of` string, date-time, nullable

## Response `200`

Successful Response

- EditorialFunnelExportOut: Everything TickerTrac can honestly say about attributed downstream product value. ``stages_are_monotonic`` is false by contract: view and click counts are keyed by anonymous session HMACs while every later stage is keyed by account, so a consumer that ranks on stage-to-stage ratios across that seam is comparing different populations.
  - `schema_version` 'tickertrac-public-funnel-export/v1', required
  - `generated_at` string, date-time, required
  - `as_of` string, date-time, required
  - `window_days` integer, required
  - `period_started_at` string, date-time, required
  - `period_ended_at` string, date-time, required
  - `aggregation_level` 'artifact_presentation_channel_placement', required
  - `cohorts` EditorialFunnelCohortOut[], required
    - `canonical_insight_ref` string, required
    - `public_insight_candidate_ref` string, required
    - `public_artifact_ref` string, required
    - `presentation_ref` string, required
    - `audience_variant` 'readthrough' | 'inflection' | 'forward-signal', required
    - `channel` 'owned_web' | 'instagram' | 'x' | 'linkedin' | 'email', required
    - `account_key` 'tickertrac-editorial', required
    - `cta_placement` 'artifact_footer' | 'social_caption' | 'profile_bio' | 'email_body' | 'story_link', required
    - `stages` EditorialFunnelStagesOut, required: Product-side stage counts. Read ``stage_identity_units`` before comparing them.
      - `artifact_views` integer, nullable, required
      - `cta_clicks` integer, required
      - `signups` integer, required
      - `first_company_reasons` integer, required
      - `first_replays` integer, required
      - `qualified_returns` integer, required
      - `second_company_attempts` integer, required
    - `first_observed_at` string, date-time, nullable, required
    - `low_volume` boolean, required
  - `suppressed_cohorts` EditorialFunnelSuppressedCohortOut[], required
    - `canonical_insight_ref` string, required
    - `public_insight_candidate_ref` string, required
    - `public_artifact_ref` string, required
    - `presentation_ref` string, required
    - `audience_variant` 'readthrough' | 'inflection' | 'forward-signal', required
    - `channel` 'owned_web' | 'instagram' | 'x' | 'linkedin' | 'email', required
    - `account_key` 'tickertrac-editorial', required
    - `cta_placement` 'artifact_footer' | 'social_caption' | 'profile_bio' | 'email_body' | 'story_link', required
    - `first_observed_at` string, date-time, nullable, required
    - `withheld_stages` string[], required
    - `reason` string, required
  - `stage_order` string[], required
  - `stage_identity_units` object, required
  - `stages_are_monotonic` false, required
  - `artifact_views_are_owned_web_only` true, required
  - `artifact_view_channel` 'owned_web', required
  - `audience_gated_channels` string[], required
  - `unmeasured_stages` EditorialFunnelUnmeasuredStageOut[], required
    - `stage` 'reason_previews' | 'paid_conversions' | 'artifact_views', required
    - `explanation` string, required
  - `channel_side_fields_absent` string[], required
  - `direct_signup_cohort_excluded` true, required
  - `excludes_accounts_marked_out_of_product_metrics` true, required
  - `low_volume_signup_floor` integer, required
  - `k_anonymity_min_accounts` integer, required
  - `reconstruction_is_deterministic_for_as_of` true, required
  - `contains_user_identifiers` false, required
  - `contains_raw_reason_text` false, required
  - `contains_private_thesis_content` false, required
  - `publication_authority` 'none', required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tickertrac/apis/tickerrag-api.md) · [All operations](https://skmtc.dev/tickertrac/apis/tickerrag-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tickertrac/apis/tickerrag-api/revisions/3c7eb0f6425d?raw)
