Public Article Play Beacon

Frontend audio-element beacon fallback.

Listeners on Spotify / Apple Podcasts fetch the audio enclosure directly from R2, bypassing our /v1/articles/{slug}/audio route — so we can't observe those plays server-side. The web player POSTs here on the play audio event as a near-zero-cost fallback so the rev-share earnings widget reflects real listens.

Same write semantics as the resolve path: per-day SHA-256 ip_hash (or hash of X-Listener-Token when present), no PII stored. The write is wrapped + rollback-safe so a beacon never returns 500. Returns fast with {"ok": true} regardless of write outcome — a beacon is fire-and-forget by design.

Flywheel pull-through (migration 0164): an optional JSON body {"source_embedder_slug": "<slug>"} (or the ?via=<slug> query param) attributes the play to the embedder surface it came through. Both are optional + parsed defensively — a body-less beacon (every existing caller) still works unchanged.

post/v1/articles/{article_slug}/play-beacon

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/articles/{article_slug}/play-beacon
  • Auth: none declared

Path parameters

article_slugstring required

Response

Successful Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.