Funnel


Funnel

A video funnel groups a set of videos in a specific order so the player can chain them with end‑of‑video redirects, CTAs and quiz answers. Funnels live at the organization level and are managed via /funnels/* on the Panda API.

📘

Authorization

Every endpoint in this folder requires an API Key in the Authorization header. Send the key directly — no Bearer prefix.

How it works

ConceptDescription
FunnelContainer of videos bound to an organization. Has a unique name and an auto‑created folder (in Panda Folders) with the same name.
First videoExactly one video per funnel must be marked is_first: true — this is the entry point.
PositionEach video carries front_coordinates = {x, y} used by the dashboard editor to render the flow.
Folder side‑effectCreating a funnel creates a folder; deleting a funnel deletes the folder; adding a video moves it into the funnel's folder; removing a video clears the folder reference.

Endpoints

EndpointOperation
Create new funnelPOST /funnels/create
List organization funnelsGET /funnels/get_all
Get funnel detailsGET /funnels/get/{funnel_id}
Update funnelPUT /funnels/update/{funnel_id} (canonical)
Delete funnelDELETE /funnels/delete/{funnel_id}
Add videos to funnelPOST /funnels/add_videos
Remove videos from funnelDELETE /funnels/remove_videos

Limits & rules

  • name: 3–50 characters, unique within the organization (HTTP 400 on duplicate).
  • add_videos requires exactly one video with is_first: true — anything else is HTTP 400.
  • remove_videos body field videos[] is an array of plain UUID strings, not objects.
  • All write operations send audit logs (category: video_funnel).

Response shape

All endpoints return a wrapper { message: string, data: <payload> } (HTTP 200/201).