Skip to main content
Surveys are short polls that appear between content items in the feed. The SDK handles rendering and collecting responses automatically — you define the question, options, and rules for when it shows up.

The survey object


Attributes

string
UUID identifying the survey.
string
Internal title for organizing surveys in the dashboard. Not shown to end users.
string
The question text displayed to end users in the feed.
string
Current lifecycle status. One of: draft, active, paused, archived. Only active surveys are injected into the feed.
integer
Determines display order when multiple surveys compete for the same feed slot. Higher values take precedence.
number | null
Seconds to wait after a user responds before automatically advancing to the next feed item. null disables auto-advance.
object[]
The answer choices. Each option contains:
  • id — UUID
  • text — Answer text (max 200 characters)
  • position — Display order (integer)
  • responseCount — Total responses for this option
  • createdAt — ISO 8601 timestamp
object[]
Rules that control when and how often the survey appears. See Placement rules below.
integer
Sum of all option response counts.
string
ISO 8601 creation timestamp.
string
ISO 8601 last modification timestamp.

Status lifecycle

Transition between any non-archived status by updating the status field. Deleting a survey is the only way to move it to archived.

Placement rules

Placement rules control where in the feed a survey appears and how often a user sees it. Every survey must include at least a min_videos_before rule. The feed evaluates placement rules using the X-User-Id and X-Session-Id headers sent by the SDK. If these headers are missing, per-user and per-session rules are skipped. When multiple active surveys are eligible for the same position, the survey with the highest priority wins.