ish iteration list
List iterations for a study
Usage: ish iteration list [options]
Options
string
Study ID
string
Workspace ID; accepted for consistency (workspace is inferred from the study)
ish iteration create
Create a new iteration with run-time content/URL
Usage: ish iteration create [options]
Options
string
Study ID (or set via
ish study use)string
Workspace ID; accepted for consistency (workspace is inferred from the study)
string
Iteration name (defaults to the next position letter A/B/C… if omitted)
string
Iteration description
string
Platform (browser, android, ios, figma, code) - interactive only
string
URL to test - interactive only (optional for ios/android native apps)
string
Native app bundle id (or .app/.apk path) - ios/android; supplies the iteration target so —url isn’t required
string
Screen format (mobile_portrait, desktop) - interactive only; hyphen/underscore variants accepted. Default: desktop, or mobile_portrait for native ios/android
string
Locale code (e.g. en-US) - interactive only
string
Figma file key - required when —platform=figma
string
Figma start node id - required when —platform=figma
string
Figma flow name - interactive only
string
Text content to evaluate, or @filepath to read from file - text modality
string
HTML version of the text, or @filepath to read from file - text modality
string
Email ‘From’ display name - text modality (email rendering)
string
Email sender address - text modality (email rendering)
string
Hero image URL - text modality (email rendering)
string
URL or local file path to media file - video, audio, document modalities
string
Comma-separated image URLs or local file paths - image modality
string
Content title shown to participants (the leading headline they read) - media modalities
string
MIME type (e.g. video/mp4) - media modalities
string
Ad copy or social post caption (or @filepath) - ads & social posts
string
HTML version of copy text (or @filepath)
string
Social platform (instagram, tiktok, facebook, linkedin, x)
string
Copy position relative to media (before, after) Default: “after”.
string
Segmentation JSON - time_based {intervals_seconds, labels?}, section_based {sections[{name,label,…}]}, or page_based {} - media modalities. section_based sections are SEMANTIC: group related paragraphs into a few coherent sections (a long article is usually 3-6 sections, not one per paragraph; paragraph_start/end just mark where each section begins and ends).
string
Content config JSON - {early_termination, selected_segment_indices?} - media modalities
string
Chat mode: external_chatbot (default; probe a customer chatbot) or participant_pair (two AI people talk to each other)
string
Saved chatbot endpoint id - chat modality, external_chatbot mode (legacy; prefer —endpoint)
string
Inline chatbot endpoint config JSON - chat modality, external_chatbot mode (legacy; prefer —endpoint-config)
string
Max participant turns (1-50) - chat modality (default 12)
boolean
End the chat session early when the participant signals stop - chat modality
string
Saved chatbot endpoint id (alias or UUID) - chat modality, external_chatbot mode
string
Raw ChatbotEndpointConfig JSON file or
- for stdin - chat modality, external_chatbot modestring
Person IDs/aliases for side A (comma-separated or repeatable). Pass a single person and N on —group-b to broadcast (1×N rehearsal: fix side A, vary side B) - chat participant_pair mode Default: [].
string
Person IDs/aliases for side B (comma-separated or repeatable). When both sides are explicit they must be equal length, BUT if either side is a singleton it’s auto-broadcast to match the other (1×N rehearsal) - chat participant_pair mode Default: [].
string
Side-A scenario + goal text, or @filepath - chat participant_pair mode
string
Side-B scenario + goal text, or @filepath - chat participant_pair mode
string
Which side speaks first (default: a) - chat participant_pair mode
string
RoleCriteria filter for side A (inline JSON or @filepath). Keys: occupation[], min_age, max_age, gender[], country[], education_level_in[], household_in[], locale_type_in[], income_level_in[], employment_status_in[], requires_captions, uses_screen_reader, prefers_reduced_motion, prefers_high_contrast, has_any_accessibility_need. The five *_in arrays accept snake_case spec values; the five accessibility filters are booleans. Persona-first: filters the eligible profile pool without altering personas. Use INSTEAD of —group-a or alongside it (criteria then validates the explicit list). chat participant_pair mode.
string
RoleCriteria filter for side B - same shape as —role-criteria-a. chat participant_pair mode.
string
Raw iteration details JSON (overrides individual flags)
ish iteration get
Get iteration details (accepts multiple IDs for batched lookup)
Usage: ish iteration get <ids>... [options]
Arguments
Iteration ID(s) - one or more aliases/UUIDs (space- or comma-separated) (required, variadic)
Options
string
Workspace ID; accepted for consistency (inferred from alias / active context)
ish iteration update
Update an iteration
Usage: ish iteration update <id> [options]
Arguments
Iteration ID (required)
Options
string
Iteration name
string
Iteration description
string
Iteration details as JSON string
string
Iteration label (uppercase letters)
string
Workspace ID; accepted for consistency (inferred from alias / active context)
ish iteration delete
Delete an iteration
Usage: ish iteration delete <id> [options]
Arguments
Iteration ID (required)
Options
boolean
Skip confirmation prompt (required in —json / non-TTY)
string
Workspace ID; accepted for consistency (inferred from alias / active context)
Global flags
Every command accepts the global flags.boolean
output the version number
string
Auth token (or set ISH_TOKEN env var)
string
Read auth token from a file (preferred over —token / ISH_TOKEN)
string
Default workspace ID; per-subcommand —workspace overrides
boolean
Output as JSON (auto-enabled when piped)
string
Extract a single field from the JSON response and print only its value (implies —json internally; supports dotted paths e.g. person.name)
boolean
Force human-readable output even when stdout is piped (overrides JSON-when-piped auto-detection)
string
Comma-separated fields to include in JSON output (e.g. alias,name,status)
boolean
Include full UUIDs and timestamps in JSON output
boolean
Disable colored output (also honored: NO_COLOR env var)
boolean
Suppress progress messages on stderr (no-op for read commands that emit none)