ReactifySDK · Reference
API reference
All routes are namespaced under /api/reactify. They are independent from ReactionSDK routes (/api/sdk/*). Authentication uses the Reactify dashboard JWT unless marked public.
Source of truth lives in app/api/reactify/. For tier gates, see Plans & tiers.
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/reactify/me | Bearer (dashboard JWT) | Current creator profile, tier, and entitlements snapshot. |
| GET | /api/reactify/plans | Public | Published tier catalog (limits, analytics depth, API access). |
| GET | /api/reactify/templates | Mixed | List/search templates; some filters require creator auth. |
| GET | /api/reactify/templates/[slug] | Public | Template detail for embed resolution and previews. |
| POST | /api/reactify/templates/[slug]/track | Public | Template analytics (views, selections). |
| GET | /api/reactify/threads | Bearer | Creator-owned threads index (dashboard). |
| POST | /api/reactify/threads | Bearer | Create thread from template_slug or source media ids. |
| GET | /api/reactify/threads/[thread_id] | Public | Thread JSON for custom rendering or verification. |
| PATCH | /api/reactify/threads/[thread_id] | Bearer | Update metadata, source attachment, publish state. |
| POST | /api/reactify/threads/[thread_id]/claim | Bearer | Claim flow for collaborative threads. |
| GET | /api/reactify/threads/[thread_id]/reactions | Public | List reactions / branch nodes for thread UI. |
| POST | /api/reactify/threads/[thread_id]/reactions | Mixed | Submit reaction payload (recording, stitch, reply). |
| GET | /api/reactify/threads/[thread_id]/branches/[reaction_id] | Public | Branch detail for deep links. |
| GET | /api/reactify/threads/[thread_id]/ranked-path | Public | Ranked path leaderboard data. |
| POST | /api/reactify/upload-url | Bearer | Presigned PUT for reaction or original source media. |
| GET | /api/reactify/videos/[video_id] | Mixed | Signed playback URL or external passthrough. |
| POST | /api/reactify/videos/[video_id]/poster-upload-url | Bearer | Poster image upload for a video asset. |
| POST | /api/reactify/events | Public | Telemetry ingest; product_type fixed to reactify_sdk. |
| POST | /api/reactify/install-ping | Public | Optional install attribution ping from host sites. |
| GET | /api/reactify/record-config | Public | Client recording constraints (duration caps by tier). |
| GET | /api/reactify/dashboard/threads | Bearer | Paginated dashboard thread list: query `page` (default 1), `limit` (default 20, max 100). Response includes `threads`, `page`, `limit`, `total`, `totalPages`. |
| GET | /api/reactify/analytics/thread/[thread_id] | Bearer | Thread-level analytics when tier allows. |
| GET | /api/reactify/leaderboards | Public | Global or scoped leaderboards. |
| GET | /api/reactify/branch-leaderboards | Public | Branch competition standings. |
| GET | /api/reactify/widgets | Bearer | List widgets for creator. |
| POST | /api/reactify/widgets | Bearer | Create/update widget configuration. |
| GET | /api/reactify/widgets/public/[widget_id] | Public | Public widget manifest for embed script. |
| GET | /api/reactify/marketplace/threads | Public | Marketplace discovery for threads. |
| GET | /api/reactify/marketplace/widgets | Public | Marketplace discovery for widgets. |
| POST | /api/reactify/report | Mixed | Safety / abuse reporting endpoint. |
Client custom elements
The production bundle (reactify.js) calls these endpoints from the browser. You do not expose dashboard JWTs to anonymous viewers—public routes power the embed; creator routes stay in your signed-in tooling only.

