Skip to content

Survey Commands

All canviq survey subcommands require authentication. See Authentication. Every subcommand also accepts the global --json/--quiet flags; see Scripting and CI.

survey list

List surveys in your workspace.

canviq survey list
canviq survey list --status published
canviq survey list --limit 10 --json

Options

Flag Default Description
--status <status> (all) Filter by status: draft, published, paused, archived
--limit <n> 50 Maximum results (max 200)
--json off Output raw JSON
--quiet off Suppress output except errors

Example: list only published surveys

--json prints a bare array, so index it directly with .[] rather than .surveys[]:

canviq survey list --status published --json | jq '.[].id'

survey get <survey-id>

Get a single survey by ID.

canviq survey get srv_abc123
canviq survey get srv_abc123 --json

Options

Flag Description
--json Output raw JSON

survey create

Create a new survey. Pass --title directly or let the CLI prompt you when running on a TTY.

canviq survey create --title "Q3 PMF Survey"
canviq survey create --title "Q3 PMF Survey" --type pmf --json
canviq survey create --title "Custom Survey" --questions ./questions.json

Options

Flag Description
--title <title> Survey title (interactive prompt if omitted on TTY)
--type <type> Survey type: generic, pmf
--description <description> Survey description
--questions <file> Path to a JSON file with question definitions
--json Output raw JSON

!!! note --title is required in non-TTY contexts (CI, piped). The CLI exits with code 2 if it is absent.

survey update <survey-id>

Update an existing survey's title, description, or settings.

canviq survey update srv_abc123 --title "Q3 PMF Survey (revised)"
canviq survey update srv_abc123 --settings '{"welcome_message":"Thanks!"}'

Options

Flag Description
--title <title> New title
--description <description> New description
--settings <json> Settings JSON, deep-merged server-side
--json Output raw JSON

survey publish <survey-id>

Publish a draft or paused survey so it can collect responses.

canviq survey publish srv_abc123
canviq survey publish srv_abc123 --json

Options

Flag Description
--json Output raw JSON
--quiet Suppress output except errors

survey pause <survey-id>

Pause a published survey. Responses stop being collected.

canviq survey pause srv_abc123

Options

Flag Description
--json Output raw JSON
--quiet Suppress output except errors

survey archive <survey-id>

Archive a survey. Archived surveys are no longer active and are excluded from the default list.

canviq survey archive srv_abc123
canviq survey archive srv_abc123 --reason "Replaced by Q4 survey"

Options

Flag Description
--reason <reason> Archive reason
--json Output raw JSON
--quiet Suppress output except errors

survey pmf-score <survey-id>

Get the PMF score and cohort breakdown. A score of 40% or above indicates product-market fit (40% PMF benchmark).

canviq survey pmf-score srv_abc123
# PMF Score: 43%  (218 responses)
#   Very disappointed:     94
#   Somewhat disappointed: 82
#   Not disappointed:      42

canviq survey pmf-score srv_abc123 --json

Options

Flag Description
--json Output raw JSON
--quiet Suppress output except errors

When fewer than 30 responses have been collected, the command prints a message explaining that the score is not yet reliable rather than returning an incomplete number.

survey segments <survey-id>

Get the PMF cohort breakdown as tabular data.

canviq survey segments srv_abc123
canviq survey segments srv_abc123 --json

Options

Flag Description
--json Output raw JSON

survey responses <survey-id>

List responses for a survey.

canviq survey responses srv_abc123
canviq survey responses srv_abc123 --limit 50 --offset 100 --json

Options

Flag Default Description
--limit <n> 100 Maximum results
--offset <n> 0 Pagination offset
--json off Output raw JSON

survey pmf-create

Create and publish a complete PMF survey (the 4 standard questions) in a single call, optionally with an event trigger. Published immediately unless --no-publish is passed.

canviq survey pmf-create
canviq survey pmf-create --product-name "Acme" --trigger-event signup --trigger-min-count 3
canviq survey pmf-create --no-publish --json

Options

Flag Default Description
--product-name <name> your product Product name used to personalize question text
--no-publish (publishes) Create the survey as a draft instead of publishing immediately
--trigger-event <event> (none) Event name that triggers the survey; creates a trigger in the same call
--trigger-min-count <n> 1 Minimum event count before the survey fires (used with --trigger-event)
--cooldown-days <n> 90 Days before the same user can be surveyed again (used with --trigger-event)
--json off Output raw JSON

Note

organization in the current environment (live or test). Each organization can have at most one PMF survey per environment; use survey update or survey publish to modify the existing one instead.