Preview Variants

Changed on

Preview-window A/B read-out: inline preview starts and tap-throughs per previewVariant.

The SDKs echo the server-chosen window's variant label on inlinePreviewStart and inlineTap (event_data.previewVariant, spec docs/superpowers/specs/2026-11-02-server-preview-windows-design.md). This groups those events by that label over the timeframe so two preview-selection strategies can be compared by tap-through, without new storage: the label already lives in events.event_data.

taps counts TAP-THROUGHS only — inlineTap rows whose action is feed or host (the card opened the feed or handed the tap to the host). Mute, fullscreen and none taps are card chrome, not conversion, and are excluded so tap_rate (= taps / preview_starts) reads as a rate and cannot exceed 1 through chrome taps. Rows with no label (old SDKs, no window) land in the null row. by_surface=true splits each label by the emitting surface (tileGroup, widget, player); content_id narrows to one item.

Cost: this is a grouped scan of the org's inline events in the window (served by ix_events_org_timestamp; event_type is only an INCLUDE column on ix_events_org_ts_vsid, so the type filter trims heap fetches but the scan is still proportional to the org's events in the window), so the window is capped at the last 31 days — an A/B is read over days, not quarters — and timeframe in the response says what was actually used. A partial index is the step beyond this cap (hot-table DDL, out-of-band), deliberately not taken here.

get/v1/events/preview-variants

Request

  • Base URL
    https://api.shortkit.dev (the document declares no server; this is the origin it was published from)
  • Auth
    none declared

Query parameters

content_idstring nullable
by_surfaceboolean
limitinteger

Response

Successful Response

unknown required

Changes