v2 - SDK

Get Content By Cast Hash

Resolve a Farcaster cast hash to a JubJub content item for the Mini App paywall. Public endpoint — no auth required.

URL priority (3-step):

  1. source_video_url — direct playable embed URL (mp4 / CDN / Mux stream) written by the auto-tokenise service. This is the canonical playable URL for the Mini App <video> tag.
  2. platform_video_url — legacy fallback for pre-fix docs (currently same as farcaster_cast_url for Farcaster-native content but may carry a real video URL for SDK-registered content).
  3. farcaster_cast_url — last resort (cast permalink page, usually not directly playable). Here as a defensive fallback for pre-fix auto-tokenise docs with no source_video_url.
  4. None of the above → 404 with retry hint.

The launches_v2 fallback from FarcasterAdapter._resolve_video_url is deliberately skipped here — the Mini App viewer paywall is Farcaster-native content only.

Tier-2 gating: if the content is marked gated_playback=true, the durable URL is paywalled and is NEVER emitted here (video_url is null). The Mini App falls through to the normal gated flow — GET playback-info (sees gated=true) → pay → resolve a short-lived signed URL via the AUTHED POST /v2/streaming/sessions/{id}/playback-url endpoint — exactly like any other Tier-2 piece.

Note: this endpoint intentionally treats video_url as an opaque string — see content_routes.py for the legacy Mux-specific path that will be replaced in the /watch/[contentId] migration (TODO.md:59-66).

get/v2/public/contents/by-cast-hash/{cast_hash}

Request

  • Base URL
    https://api.jubjubapp.com (the document declares no server; this is the origin it was published from)
  • Auth
    HTTP bearer

Path parameters

cast_hashstring required

Response

Successful Response

unknown required

Changes

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