---
title: "Kraken Click Beacon"
method: POST
path: "/v1/affiliate/kraken/click"
tags: ["kraken-affiliate"]
---

# Kraken Click Beacon

`POST /v1/affiliate/kraken/click`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/affiliate/kraken/click`
- Auth: none declared

Fire-and-forget click beacon from the FE Kraken chip.

Accepts ``{click_id?, embedder_slug?, asset?}``, emits a single
structured ``kraken.click`` log line, and persists a zero-amount
``click`` :class:`EmbedderRevenueEvent` attributed to the embedder
(so the affiliate roll-up can build a click→conversion funnel
without a second table — same mechanics as the Polymarket click
beacon). Rows are kraken-tagged via a ``kraken:``-prefixed
``polymarket_subid`` + ``broker`` payload field so roll-ups can
distinguish partners.

Best-effort discipline (matches the Polymarket beacon):
  * Unknown / omitted embedder slug → fall back to the house
    embedder if one exists, else log-only (no DB row) and still
    200. We never 500 a beacon.
  * Replay within the same UTC day → IntegrityError on the
    ``dub_event_id`` UNIQUE constraint → rollback + NOOP, still 200.
  * Any other persist failure → rollback + log, still 200 — a DB
    failure must never break the listener's outbound to Kraken.

Intentionally NOT FF-gated. ``KRAKEN_AFFILIATE_ENABLED`` controls
whether we mint a Dub short link on :func:`kraken_affiliate_link`;
if the operator temporarily flips it off, we still want to record
the click attempts the chip is sending so we don't lose tracking on
a transient disable.

Compliance posture matches the rest of this router: linkout-only
surface, no "trade now" / "buy now" copy in the response body.

## Request body

- object

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
