Every command on one page, generated from the CLI itself. Start at the overview to browse; this page is for searching and for tools.
Append .mdx to any page for its raw Markdown —
/cli/reference.mdx is this page as plain text. The docs
are also published as /llms.txt and
/llms-full.txt.
Global options
These apply to every command, and may be written before or after it.
| Option | Description |
|---|---|
-P, --profile <name> | Profile to use (env: STUDIO_PROFILE). |
--endpoint <url> | Studio deployment to talk to (env: STUDIO_ENDPOINT). |
-w, --workspace <id> | Workspace to target (env: STUDIO_WORKSPACE). |
--output <format> | Output format for this command. Accepted values: table, json, yaml, text. |
studio login
Sign in through the browser and store the login for the profile
studio login [options]Options
| Option | Required | Description |
|---|---|---|
--method <method> | No | Credential to obtain: oauth requires OAuth support; api-key creates a permanent key through pairing (auto-selects when omitted). Accepted values: oauth, api-key. |
--no-browser | No | Print the approval URL without opening it (either login method). |
--read-only | No | Ask only for permission to read, never to change anything. |
--callback-port <port> | No | Pin the local port the browser returns to. |
-y, --yes | No | Overwrite an existing API-key profile without prompting. |
studio logout
Sign out and remove the profile's stored login
studio logout [options]Options
| Option | Required | Description |
|---|---|---|
--all | No | Remove the profile entirely, including its settings. |
studio whoami
Show the resolved profile, where each setting came from, and whether it works
studio whoami [options]Options
| Option | Required | Description |
|---|---|---|
--no-verify | No | Skip the API check and only print the resolved settings. |
studio configure
Set a profile's endpoint, default workspace, or output format
studio configure [options]Options
| Option | Required | Description |
|---|---|---|
--set-endpoint <url> | No | Studio deployment to talk to. |
--set-workspace <id> | No | Default workspace for workspace-scoped commands. |
--set-output <format> | No | Default output format (table | json | yaml | text). |
--unset <key...> | No | Remove settings (endpoint, workspace, output). |
studio update
Update this global CLI installation to the newest release on its channel
studio update [options]Options
| Option | Required | Description |
|---|---|---|
--package-manager <manager> | No | Package manager that installed this copy. Accepted values: npm, pnpm, bun, yarn. |
studio chat
Ask Studio and print the reply
studio chat <message> [options]Arguments
| Argument | Required | Description |
|---|---|---|
message | Yes | What to ask Studio |
Options
| Option | Required | Description |
|---|---|---|
-c, --conversation <id> | No | Continue the conversation with this ID. |
studio profiles
Also spelled studio profile.
studio profiles list
List configured profiles
studio profiles liststudio profiles add
Add a workspace profile that shares the active stored login
studio profiles add <name> [options]Arguments
| Argument | Required | Description |
|---|---|---|
name | Yes | Name for the new profile |
Options
| Option | Required | Description |
|---|---|---|
-w, --workspace <id> | No | Existing workspace to use; omit for an interactive picker. |
studio telemetry
studio telemetry status
Show whether usage reporting is on, and why not if it is off
studio telemetry statusstudio telemetry enable
Turn usage reporting on for this machine
studio telemetry enablestudio telemetry disable
Turn usage reporting off for this machine
studio telemetry disablestudio audit-logs
Also spelled studio audit-log.
studio audit-logs get
Get Audit Log (OAuth login or personal API key required)
studio audit-logs get <auditLogId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
auditLogId | Yes | Audit-log entry identifier. |
Options
| Option | Required | Description |
|---|---|---|
--organization <value> | No | Organization ID; defaults to your only organization, and is required when your account belongs to more than one (OAuth login or personal API key required). |
studio audit-logs list
List Audit Logs (OAuth login or personal API key required)
studio audit-logs list [options]Options
| Option | Required | Description |
|---|---|---|
--action <value> | No | Filter by exact action name. |
--resource-type <value> | No | Filter by resource type. Accepts a comma-separated set; members are trimmed and deduplicated, and member order affects neither the result nor the cursor. |
--resource-id <value> | No | Filter by exact resource identifier. |
--start-date <value> | No | Only include runs started at or after this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant. |
--end-date <value> | No | Only include runs started at or before this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant. |
--include-departed | No | Include actions by users who have left the organization. |
--no-include-departed | No | Send --include-departed as false. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--organization <value> | No | Organization ID; defaults to your only organization, and is required when your account belongs to more than one (OAuth login or personal API key required). |
--actor-email <value> | No | Filter by actor email address. |
--all-workspaces | No | Do not filter to the configured workspace (OAuth login or personal API key required for account-wide access). |
studio billing
studio billing status
Show billing status and current-period credit usage (credits and storage require an OAuth login or personal API key)
studio billing status [options]Options
| Option | Required | Description |
|---|---|---|
--all-workspaces | No | Do not filter to the configured workspace (OAuth login or personal API key required for account-wide access). |
studio billing logs
List credit usage events (an OAuth login or personal API key reports only your events; a workspace API key reports every member's in aggregate, unattributed)
studio billing logs [options]Options
| Option | Required | Description |
|---|---|---|
--source <value> | No | Filter by usage source; studio-chat combines Copilot and workspace chat. Accepted values: workflow, wand, studio-chat, mcp_copilot, mothership_block, knowledge-base, voice-input, enrichment, voice-output, api-tool. |
--period <value> | No | Billing period. Accepted values: 1d, 7d, 30d, all, custom. |
--start-date <value> | No | Custom period start (ISO 8601). |
--end-date <value> | No | Custom period end (ISO 8601). |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--all-workspaces | No | Do not filter to the configured workspace (OAuth login or personal API key required for account-wide access). |
studio blocks
studio blocks get
Get Block
studio blocks get <blockId>Arguments
| Argument | Required | Description |
|---|---|---|
blockId | Yes | Block type identifier. An unversioned base type resolves to the newest version, and the response echoes the resolved id. |
studio blocks list
List Blocks
studio blocks list [options]Options
| Option | Required | Description |
|---|---|---|
--search <value> | No | Case-insensitive substring match against the block id, name, and description. |
--category <value> | No | Restrict to one toolbar category. Accepted values: blocks, tools, triggers. |
--capability <value> | No | Restrict to blocks that can start a workflow — the triggers category, blocks declaring triggerAllowed, and blocks with trigger-mode fields. Accepted values: trigger. |
--source <value> | No | Restrict to built-in blocks or this workspace's deployed custom blocks. Accepted values: builtin, custom. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: id, name, category. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio chat-deployments
studio chat-deployments list
List Chat Deployments
studio chat-deployments list [options]Options
| Option | Required | Description |
|---|---|---|
--workflow-id <value> | No | Restrict to deployments of one workflow. |
--is-active | No | Restrict to active or inactive deployments. |
--no-is-active | No | Send --is-active as false. |
--sort-by <value> | No | Field used to sort the result. Accepted values: identifier, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio connector-types
studio connector-types list
List Connector Types
studio connector-types list [options]Options
| Option | Required | Description |
|---|---|---|
--search <value> | No | Case-insensitive substring match against the connector name. |
studio credentials
Also spelled studio credential.
studio credentials delete
Disconnect Credential (OAuth login or personal API key required)
studio credentials delete <credentialId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
credentialId | Yes | Credential to disconnect. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio credentials providers list
List Credential Providers
studio credentials providers list [options]Options
| Option | Required | Description |
|---|---|---|
--search <value> | No | Case-insensitive substring match against the credential provider name. |
studio credentials list
List Credentials
studio credentials list [options]Options
| Option | Required | Description |
|---|---|---|
--type <value> | No | Restrict results to this credential type. Accepted values: oauth, service_account. |
--provider-id <value> | No | Restrict results to credentials for this integration provider. |
--search <value> | No | Case-insensitive substring match against the credential display name. |
--sort-by <value> | No | Field used to sort the result. Accepted values: displayName, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio credentials update
Update Credential (OAuth login or personal API key required)
studio credentials update <credentialId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
credentialId | Yes | Credential to update. |
Options
| Option | Required | Description |
|---|---|---|
--display-name <value> | No | New name shown for the credential in Studio. |
--description <value> | No | New credential description. Send null to clear the stored one. (--description null sends the word, not JSON null). |
--service-account-json <value> | No | Write-only Google service-account JSON key. |
--api-token <value> | No | Write-only provider API token. |
--domain <value> | No | Provider account domain. |
--atlassian-product <value> | No | Atlassian product to verify; defaults to Jira on create and preserves the saved product on reconnect. Accepted values: jira, confluence. |
--signing-secret <value> | No | Write-only webhook signing secret. |
--bot-token <value> | No | Write-only bot token. |
--client-id <value> | No | OAuth client identifier. |
--client-secret <value> | No | Write-only OAuth client secret. |
--certificate-id <value> | No | Provider certificate mapping identifier. |
--org-id <value> | No | Provider organization ID. |
--data-center <value> | No | Provider data center. |
--auth-method <value> | No | Provider authentication method. |
--private-key <value> | No | Write-only PEM private key. |
--username <value> | No | Provider run-as username. |
--name <displayName> | No | Alias for --display-name. |
studio credentials create
Create a service-account credential using its discovered provider schema (OAuth login or personal API key required)
studio credentials create <providerId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
providerId | Yes | Service-account provider to create a credential for |
Options
| Option | Required | Description |
|---|---|---|
--name <displayName> | Yes | Name shown for the credential in Studio. |
--credentials <json|@file> | Yes | Provider credentials as JSON (or @path / @- to read a file or stdin). |
--description <description> | No | Optional credential description. |
--id <credentialId> | No | Client-generated credential ID when provider discovery requires it. |
studio credentials connect
Create a short-lived link for connecting an OAuth provider (OAuth login or personal API key required)
studio credentials connect <providerId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
providerId | Yes | OAuth provider to connect |
Options
| Option | Required | Description |
|---|---|---|
--name <displayName> | Yes | Name shown for the new credential in Studio. |
studio credentials reconnect
Create a short-lived link for reconnecting an OAuth credential (OAuth login or personal API key required)
studio credentials reconnect <credentialId>Arguments
| Argument | Required | Description |
|---|---|---|
credentialId | Yes | Existing OAuth credential to re-authorize |
studio custom-tools
Also spelled studio custom-tool.
studio custom-tools create
Create Custom Tool
studio custom-tools create [options]Options
| Option | Required | Description |
|---|---|---|
--title <value> | Yes | Display title, unique within the workspace. |
--schema <json|@file> | Yes | OpenAI function schema: {"type":"function","function":{"name":"...","parameters":{"type":"object","properties":{}}}} (JSON, or @path / @- to read a file or stdin). |
--code <value> | Yes | Tool implementation executed in the sandboxed function runtime. |
studio custom-tools delete
Delete Custom Tool
studio custom-tools delete <customToolId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
customToolId | Yes | Unique custom tool identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio custom-tools get
Get Custom Tool
studio custom-tools get <customToolId>Arguments
| Argument | Required | Description |
|---|---|---|
customToolId | Yes | Unique custom tool identifier. |
studio custom-tools list
List Custom Tools
studio custom-tools list [options]Options
| Option | Required | Description |
|---|---|---|
--search <value> | No | Case-insensitive substring match against the tool title. |
--sort-by <value> | No | Field used to sort the result. Accepted values: title, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio custom-tools update
Update Custom Tool
studio custom-tools update <customToolId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
customToolId | Yes | Unique custom tool identifier. |
Options
| Option | Required | Description |
|---|---|---|
--title <value> | No | New display title for the tool. |
--schema <json|@file> | No | OpenAI function schema: {"type":"function","function":{"name":"...","parameters":{"type":"object","properties":{}}}} (JSON, or @path / @- to read a file or stdin). |
--code <value> | No | Replacement tool implementation. |
studio files
Also spelled studio file.
studio files batch-delete
Delete several files at once
studio files batch-delete [options]Options
| Option | Required | Description |
|---|---|---|
--file-ids <value...> | Yes | File identifiers to update. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
-y, --yes | Yes | Confirm this operation. |
studio files create
Create File
studio files create [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | File name, including its extension. Path separators and dot segments are rejected. |
--content-type <value> | No | MIME type. When omitted, it is inferred from the file extension. |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
--content <value> | No | Initial file content. Omit or send an empty string for a zero-byte file. The 70,000,000-character bound guards the JSON envelope; the decoded bytes must be at most 50 MiB, and a longer base64 payload is rejected with 413. Use an upload session for anything larger. |
--encoding <value> | No | Encoding of the content field. Accepted values: utf-8, base64. |
studio files folders create
Create a file folder at a path
studio files folders create <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
studio files folders delete
Delete Folder
studio files folders delete <path> [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
Options
| Option | Required | Description |
|---|---|---|
--recursive | No | Delete the folder and its descendants. |
-y, --yes | Yes | Confirm this operation. |
studio files folders list
List folders
studio files folders list [options]Also available as studio files folders ls.
Options
| Option | Required | Description |
|---|---|---|
--parent <value> | No | Direct parent folder path. |
--search <value> | No | Case-insensitive substring match against the folder name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--scope <value> | No | Which lifecycle set to list: active (default) returns live folders only; archived returns folders a recursive delete soft-deleted, which is how a caller finds a path to hand to the folder restore. Authorization is identical for both. Accepted values: active, archived. |
--recursive <value> | No | Whether parentPath includes every descendant instead of direct children only. Accepted values: true, 1, yes, on, y, enabled, false, 0, no, off, n, disabled. |
--depth <value> | No | Deepest level below parentPath to include when recursive is true. |
studio files folders move
Rename or move a file folder
studio files folders move <path> <destination>Also available as studio files folders mv.
Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
destination | Yes | Folder path as shown in the app; the leading / is optional |
studio files folders restore
Restore an archived file folder
studio files folders restore <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
studio files delete
Delete File
studio files delete <fileId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio files edit
Apply one exact or anchor-based edit to a text file
studio files edit <fileId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File identifier. |
Options
| Option | Required | Description |
|---|---|---|
--edit <json|@file> | Yes | One edit object: {"mode":"search_replace","search":"old","content":"new","replaceAll":false}, {"mode":"replace_between","beforeAnchor":"start line","afterAnchor":"end line","content":"new"}, {"mode":"insert_after","anchor":"line","content":"new"}, or {"mode":"delete_between","startAnchor":"first line deleted","endAnchor":"ending line kept"}. Anchored modes also accept occurrence starting at 1 (JSON, or @path / @- to read a file or stdin). |
studio files describe
Show file metadata and sharing status
studio files describe <fileId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File identifier. |
Options
| Option | Required | Description |
|---|---|---|
--scope <value> | No | Which lifecycle set to read from: active (default) resolves live files only and returns 404 for a file a delete soft-deleted; archived also resolves soft-deleted files, so metadata stays readable before the file is restored. Authorization is identical for both. Accepted values: active, archived. |
studio files share get
Show a file’s share settings
studio files share get <fileId>Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File identifier. |
studio files share set
Enable or disable sharing for a file (OAuth login or personal API key required)
studio files share set <fileId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File identifier. |
Options
| Option | Required | Description |
|---|---|---|
--is-active <true|false> | Yes | Whether the share should resolve. Disabling preserves the token and the whole access configuration, so re-enabling restores the share as it was; enabling rewrites the credentials the resulting mode does not use. Accepted values: true, false. |
--auth-type <value> | No | How access to the share is gated. The stored mode is kept when omitted. Enabling public clears the stored password and empties allowedEmails; password empties allowedEmails; email and sso clear the stored password. Accepted values: public, password, email, sso. |
--password <value> | No | Password for a password-gated share. Kept when omitted; enabling password with neither a supplied nor a stored password is a 400. |
--allowed-emails <value...> | No | Allowed addresses or @domain patterns for email and SSO shares. Kept when omitted; enabling email or sso with an empty resulting list is a 400. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
studio files list
List Files
studio files list [options]Options
| Option | Required | Description |
|---|---|---|
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
--recursive | No | Include subfolders in the folder filter. Defaults to true when searching and false otherwise. Ignored without a folder filter. |
--no-recursive | No | Send --recursive as false. |
--scope <value> | No | Which lifecycle set to list: active (default) for live files, archived for files a delete soft-deleted. folderPath resolves against active folders only, so pairing it with scope=archived returns an empty page when the containing folder was archived too. Accepted values: active, archived. |
--search <value> | No | Case-insensitive substring match against the file name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, size, uploadedAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio files move
Move files into another folder
studio files move [options]Also available as studio files mv.
Options
| Option | Required | Description |
|---|---|---|
--file-ids <value...> | Yes | File identifiers to update. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--to <value> | No | Destination folder path; omit for root. |
studio files read
Read a file’s text content
studio files read <fileId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File identifier. |
Options
| Option | Required | Description |
|---|---|---|
--max-bytes <value> | No | Optional ceiling on the source bytes fed to the parser, lowering but never raising the server limit. |
--offset <value> | No | First line to return, 1-based. Absent starts at the first line. |
--limit <value> | No | How many lines to return from offset. Absent reads to the end. |
studio files rename
Rename a file
studio files rename <fileId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | New file name, including its extension. |
studio files restore
Restore an archived file
studio files restore <fileId>Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File identifier. |
studio files search
Search File Content
studio files search [options]Options
| Option | Required | Description |
|---|---|---|
--query <value> | Yes | Regular expression, or exact text when mode is exact. |
--mode <value> | No | How query is read. Accepted values: exact, regex. |
--max-results <value> | No | Maximum matching lines to return. |
--folder <value...> | No | Folders to search, by path as shown in the app; omit to search the whole workspace (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--include-subfolders | No | Whether each folder scope includes nested folders; on by default. |
--no-include-subfolders | No | Send --include-subfolders as false. |
studio files unzip
Unzip an archive into a new folder beside it
studio files unzip <fileId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio files set-content
Replace a file’s contents
studio files set-content <fileId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File identifier. |
Options
| Option | Required | Description |
|---|---|---|
--content <value> | Yes | Complete replacement content for the file. The 70,000,000-character bound guards the JSON envelope; the decoded bytes must be at most 50 MiB, and a longer base64 payload is rejected with 413. |
--encoding <value> | No | Content encoding. Accepted values: utf-8, base64. |
studio files upload
Upload a file to the workspace
studio files upload <path> [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Local file to upload |
Options
| Option | Required | Description |
|---|---|---|
--folder <path> | No | Folder path as shown in the app; defaults to the root folder. |
--name <name> | No | Store it under a different name. |
studio files get
Get a file’s content
studio files get <fileId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
fileId | Yes | File whose content to read |
Options
| Option | Required | Description |
|---|---|---|
-o, --output-file <path> | No | Write content to a file instead of stdout. |
--force | No | Overwrite --output-file if it already exists. |
studio files ls
List file resources and child folders together
studio files ls [path] [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | No | Folder path to list; defaults to the root folder |
Options
| Option | Required | Description |
|---|---|---|
--search <text> | No | Filter folders and resources by name. |
--limit <n> | No | Maximum combined items to return (0 for everything). Defaults to 0. |
studio files mkdir
Create a file directory at a path
studio files mkdir <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path to create; the leading / is optional |
studio knowledge
Also spelled studio kb.
studio knowledge from-workspace-files create
Index files the workspace already stores (OAuth login or personal API key required)
studio knowledge from-workspace-files create <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--file <value...> | Yes | Workspace file ID or key (repeatable) (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
studio knowledge tags save
Declare the tag definitions a knowledge base needs (OAuth login or personal API key required)
studio knowledge tags save <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--definitions <json|@file> | Yes | Tag definitions: [{"tagSlot":"tag1","displayName":"category","fieldType":"text"}] (JSON, or @path / @- to read a file or stdin). |
studio knowledge tags create
Create Tag (OAuth login or personal API key required)
studio knowledge tags create <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--display-name <value> | Yes | Name tag filters and document reads use for this tag. |
--field-type <value> | No | Value type stored in the slot; it decides which slots are usable and which filter operators apply. Defaults to text, so a number, date, or boolean slot must name its type here. Slot capacity per type: text 7, number 5, date 2, boolean 3. Accepted values: text, number, date, boolean. |
--tag-slot <value> | No | Slot to store the tag in. Omit to take the next free slot for the field type; a slot that does not belong to the field type, or one already in use, is rejected. Accepted values: tag1, tag2, tag3, tag4, tag5, tag6, tag7, number1, number2, number3, number4, number5, date1, date2, boolean1, boolean2, boolean3. |
studio knowledge tags delete
Delete Tag (OAuth login or personal API key required)
studio knowledge tags delete <knowledgeBaseId> <tagId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
tagId | Yes | Unique tag definition identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio knowledge tags cleanup
Remove tag definitions no document still uses (OAuth login or personal API key required)
studio knowledge tags cleanup <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--unused | No | Whether to remove only the tag definitions no document in the knowledge base still carries a value for. Defaults to true. Pass --no-unused to delete every definition on the knowledge base, which also clears its slot on every document and chunk and is not recoverable. |
--no-unused | No | Send --unused as false. |
-y, --yes | Yes | Confirm this operation. |
studio knowledge tags next-slot
Show which tag slot a create would take for a field type (OAuth login or personal API key required)
studio knowledge tags next-slot <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--field-type <value> | Yes | Value type stored in the slot; it decides which slots are usable and which filter operators apply. Slot capacity per type: text 7, number 5, date 2, boolean 3. Accepted values: text, number, date, boolean. |
studio knowledge tags list
List Tags
studio knowledge tags list <knowledgeBaseId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
studio knowledge tags usage
Show how many documents and chunks carry each tag (OAuth login or personal API key required)
studio knowledge tags usage <knowledgeBaseId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
studio knowledge tags update
Update Tag (OAuth login or personal API key required)
studio knowledge tags update <knowledgeBaseId> <tagId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
tagId | Yes | Unique tag definition identifier. |
Options
| Option | Required | Description |
|---|---|---|
--display-name <value> | No | New tag display name. |
--field-type <value> | No | New value type for the tag. Accepted values: text, number, date, boolean. |
studio knowledge chunks batch-update
Enable, disable, or delete many chunks at once (OAuth login or personal API key required)
studio knowledge chunks batch-update <knowledgeBaseId> <documentId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
Options
| Option | Required | Description |
|---|---|---|
--operation <value> | Yes | What to do with the selected chunks. Accepted values: enable, disable, delete. |
--chunk <value...> | Yes | Chunks to operate on, by identifier. An id naming no chunk in the document is reported in errors and does not fail the request. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
-y, --yes | Yes | Confirm this operation. |
studio knowledge chunks create
Create Chunk (OAuth login or personal API key required)
studio knowledge chunks create <knowledgeBaseId> <documentId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
Options
| Option | Required | Description |
|---|---|---|
--content <value> | Yes | Text to embed. It is embedded on write, so the chunk is searchable immediately. |
--enabled | No | Whether the new chunk participates in search. |
--no-enabled | No | Send --enabled as false. |
studio knowledge chunks delete
Delete Chunk (OAuth login or personal API key required)
studio knowledge chunks delete <knowledgeBaseId> <documentId> <chunkId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
chunkId | Yes | Unique chunk identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio knowledge chunks get
Get Chunk (OAuth login or personal API key required)
studio knowledge chunks get <knowledgeBaseId> <documentId> <chunkId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
chunkId | Yes | Unique chunk identifier. |
studio knowledge chunks list
List Chunks (OAuth login or personal API key required)
studio knowledge chunks list <knowledgeBaseId> <documentId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
Options
| Option | Required | Description |
|---|---|---|
--search <value> | No | Case-insensitive substring match against chunk content. |
--enabled <value> | No | Restrict to enabled or disabled chunks. all returns both. Accepted values: true, false, all. |
--sort-by <value> | No | Field used to sort the result. Accepted values: chunkIndex, tokenCount, enabled. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
studio knowledge chunks update
Update Chunk (OAuth login or personal API key required)
studio knowledge chunks update <knowledgeBaseId> <documentId> <chunkId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
chunkId | Yes | Unique chunk identifier. |
Options
| Option | Required | Description |
|---|---|---|
--content <value> | No | Replacement text. Changing it re-embeds the chunk and re-derives its token and character counts. |
--enabled | No | Whether the chunk participates in search. Disabling keeps it indexed. |
--no-enabled | No | Send --enabled as false. |
studio knowledge documents batch-update
Enable or disable every matching document (OAuth login or personal API key required)
studio knowledge documents batch-update <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--operation <value> | Yes | Whether the selected documents become enabled or disabled for search. Accepted values: enable, disable. |
--document <value...> | No | Documents to update, by identifier. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--select-all | No | Apply to every document in the knowledge base. |
--enabled-filter <value> | No | With selectAll, restrict the update to documents in this state. Accepted values: all, enabled, disabled. |
studio knowledge documents delete
Delete Document
studio knowledge documents delete <knowledgeBaseId> <documentId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio knowledge documents get
Get Document
studio knowledge documents get <knowledgeBaseId> <documentId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
studio knowledge documents list
List Documents
studio knowledge documents list <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--search <value> | No | Case-insensitive substring match against the document filename. |
--enabled-filter <value> | No | Filter by whether documents are enabled for search. Accepted values: all, enabled, disabled. |
--sort-by <value> | No | Field used to sort the result. Sorting by filename is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: filename, fileSize, tokenCount, chunkCount, uploadedAt, processingStatus, enabled. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--tag-filters <value> | No | A JSON-encoded array of at most 10 tag filters, using the same display-name shape as knowledge search: [{"tagName":"category","operator":"eq","value":"billing"}]. Every filter must hold, including two that name the same tag. A name that is not defined in this knowledge base is rejected, never ignored. |
studio knowledge documents update
Update Document (OAuth login or personal API key required)
studio knowledge documents update <knowledgeBaseId> <documentId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
documentId | Yes | Unique knowledge document identifier. |
Options
| Option | Required | Description |
|---|---|---|
--filename <value> | No | New filename for the document. |
--enabled | No | Whether the document participates in search. Disabling keeps it indexed. |
--no-enabled | No | Send --enabled as false. |
--tag1 <value> | No | New value for tag slot 1. |
--tag2 <value> | No | New value for tag slot 2. |
--tag3 <value> | No | New value for tag slot 3. |
--tag4 <value> | No | New value for tag slot 4. |
--tag5 <value> | No | New value for tag slot 5. |
--tag6 <value> | No | New value for tag slot 6. |
--tag7 <value> | No | New value for tag slot 7. |
--number1 <value> | No | New value for number tag slot 1. |
--number2 <value> | No | New value for number tag slot 2. |
--number3 <value> | No | New value for number tag slot 3. |
--number4 <value> | No | New value for number tag slot 4. |
--number5 <value> | No | New value for number tag slot 5. |
--date1 <value> | No | New value for date tag slot 1, formatted YYYY-MM-DD. |
--date2 <value> | No | New value for date tag slot 2, formatted YYYY-MM-DD. |
--boolean1 | No | New value for boolean tag slot 1. |
--no-boolean1 | No | Send --boolean1 as false. |
--boolean2 | No | New value for boolean tag slot 2. |
--no-boolean2 | No | Send --boolean2 as false. |
--boolean3 | No | New value for boolean tag slot 3. |
--no-boolean3 | No | Send --boolean3 as false. |
--retry-processing | No | Requeue a failed or stuck document for processing. Send it alone — no other field may accompany it — and it answers with a queue acknowledgement rather than the document. |
studio knowledge documents upload
Upload a document to a knowledge base
studio knowledge documents upload <knowledgeBaseId> <path> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base to upload into |
path | Yes | Local file to upload |
Options
| Option | Required | Description |
|---|---|---|
--name <name> | No | Store it under a different name. |
--tag <value...> | No | Document tags, in tag1 through tag7 order. |
--recipe <name> | No | Document processing recipe. Accepted values: default, plain, markdown, code. |
--lang <code> | No | Document language tag: hyphen-separated letter and digit subtags, for example en or en-US. |
studio knowledge create
Create Knowledge Base
studio knowledge create [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Human-readable knowledge base name. |
--description <value> | No | Optional knowledge base description. |
--chunking-config <json|@file> | No | Chunking configuration; defaults are applied when omitted. (JSON, or @path / @- to read a file or stdin). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
studio knowledge connectors create
Create Knowledge Connector (OAuth login or personal API key required)
studio knowledge connectors create <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--connector-type <value> | Yes | Registered connector type. |
--credential-id <value> | No | OAuth credential identifier for connectors that require OAuth. |
--api-key <value> | No | Write-only API key for connectors that use API-key authentication. |
--source-config <json|@file> | Yes | Connector-specific source selection and filtering configuration. (JSON, or @path / @- to read a file or stdin). |
--sync-interval-minutes <value> | No | Scheduled synchronization interval in minutes; zero disables scheduling. |
studio knowledge connectors delete
Delete Knowledge Connector (OAuth login or personal API key required)
studio knowledge connectors delete <knowledgeBaseId> <connectorId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
Options
| Option | Required | Description |
|---|---|---|
--delete-documents | No | Also permanently delete documents produced by this connector. |
--no-delete-documents | No | Send --delete-documents as false. |
-y, --yes | Yes | Confirm this operation. |
studio knowledge connectors get
Get Knowledge Connector (OAuth login or personal API key required)
studio knowledge connectors get <knowledgeBaseId> <connectorId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
studio knowledge connectors documents list
List Knowledge Connector Documents (OAuth login or personal API key required)
studio knowledge connectors documents list <knowledgeBaseId> <connectorId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
Options
| Option | Required | Description |
|---|---|---|
--include-excluded | No | Include documents explicitly excluded by a user. |
--no-include-excluded | No | Send --include-excluded as false. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
studio knowledge connectors documents update
Update Knowledge Connector Documents (OAuth login or personal API key required)
studio knowledge connectors documents update <knowledgeBaseId> <connectorId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
Options
| Option | Required | Description |
|---|---|---|
--operation <value> | Yes | Whether to restore or exclude the selected documents. Accepted values: restore, exclude. |
--document <value...> | Yes | Connector document identifiers to update. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
studio knowledge connectors list
List Knowledge Connectors (OAuth login or personal API key required)
studio knowledge connectors list <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--sort-by <value> | No | Field used to sort the result. Accepted values: connectorType, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio knowledge connectors sync
Queue a knowledge connector synchronization (OAuth login or personal API key required)
studio knowledge connectors sync <knowledgeBaseId> <connectorId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
Options
| Option | Required | Description |
|---|---|---|
--rehydrate | No | Re-fetch and re-index every existing connector document. |
--no-rehydrate | No | Send --rehydrate as false. |
studio knowledge connectors update
Update Knowledge Connector (OAuth login or personal API key required)
studio knowledge connectors update <knowledgeBaseId> <connectorId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base that owns the connector. |
connectorId | Yes | Connector selected for the operation. |
Options
| Option | Required | Description |
|---|---|---|
--source-config <json|@file> | No | Replacement source selection and filtering configuration. Updating a runnable connector queues synchronization; paused connectors remain paused. (JSON, or @path / @- to read a file or stdin). |
--sync-interval-minutes <value> | No | New scheduled synchronization interval in minutes. |
--status <value> | No | New connector state. Accepted values: active, paused. |
studio knowledge folders create
Create a knowledge folder at a path
studio knowledge folders create <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
studio knowledge folders delete
Delete Folder
studio knowledge folders delete <path> [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
Options
| Option | Required | Description |
|---|---|---|
--recursive | No | Delete the folder and its descendants. |
-y, --yes | Yes | Confirm this operation. |
studio knowledge folders list
List knowledge folders
studio knowledge folders list [options]Also available as studio knowledge folders ls.
Options
| Option | Required | Description |
|---|---|---|
--parent <value> | No | Direct parent folder path. |
--search <value> | No | Case-insensitive substring match against the folder name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
studio knowledge folders move
Rename or move a knowledge folder
studio knowledge folders move <path> <destination>Also available as studio knowledge folders mv.
Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
destination | Yes | Folder path as shown in the app; the leading / is optional |
studio knowledge delete
Delete Knowledge Base
studio knowledge delete <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio knowledge get
Get Knowledge Base
studio knowledge get <knowledgeBaseId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
studio knowledge list
List Knowledge Bases
studio knowledge list [options]Options
| Option | Required | Description |
|---|---|---|
--scope <value> | No | Lifecycle scope: active or archived knowledge bases. Use Restore Knowledge Base to recover archived entries. Folder paths resolve only active folders, so filtering by an archived folder returns no matches. Accepted values: active, archived. |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
--search <value> | No | Case-insensitive substring match against the resource name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio knowledge restore
Restore an archived knowledge base
studio knowledge restore <knowledgeBaseId>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
studio knowledge search
Search Knowledge
studio knowledge search [options]Options
| Option | Required | Description |
|---|---|---|
--kb <value...> | Yes | Knowledge base ID (repeatable) (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--query <value> | No | Text to search for. |
--top-k <value> | No | Maximum number of search results to return. Must be a whole number between 1 and 100. |
--tag-filters <json|@file> | No | Tag filters as [{"tagName":"...","operator":"...","value":"..."}] (JSON, or @path / @- to read a file or stdin). |
--search-mode <value> | No | Search algorithm. Accepted values: vector, hybrid. |
--reranker-enabled | No | Re-order retrieved chunks with a reranking model before truncating to topK. Ignored for a tag-only search, and billed as an additional search unit. Reranking is best-effort — a provider failure falls back to vector ordering, so check rerankerStatus on the response. |
--no-reranker-enabled | No | Send --reranker-enabled as false. |
--reranker-model <value> | No | Reranking model to use when rerankerEnabled is true. Defaults to rerank-v4.0-fast. Accepted values: rerank-v4.0-pro, rerank-v4.0-fast, rerank-v3.5. |
--reranker-input-count <value> | No | How many candidate chunks to retrieve before reranking. Defaults to four times topK, capped at 100. A larger pool costs more retrieval work but gives the reranker more to choose from. |
studio knowledge update
Update Knowledge Base
studio knowledge update <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | New knowledge base name. |
--description <value> | No | New knowledge base description. |
--chunking-config <json|@file> | No | New document chunking configuration. (JSON, or @path / @- to read a file or stdin). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
studio knowledge mv
Move a knowledge base to a folder
studio knowledge mv <knowledgeBaseId> <folder>Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Unique knowledge base identifier. |
folder | Yes | Folder path as shown in the app; the leading / is optional |
studio knowledge export
Export a knowledge base as a .simkb.zip bundle
studio knowledge export <knowledgeBaseId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
knowledgeBaseId | Yes | Knowledge base to export |
Options
| Option | Required | Description |
|---|---|---|
-o, --output-file <path> | No | Write the bundle to this path instead of the name the server suggests; pass - to stream it to stdout. |
--force | No | Overwrite --output-file if it already exists. |
--no-vectors | No | Leave chunk vectors out of the bundle, so an import re-embeds every chunk. |
studio knowledge ls
List knowledge resources and child folders together
studio knowledge ls [path] [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | No | Folder path to list; defaults to the root folder |
Options
| Option | Required | Description |
|---|---|---|
--search <text> | No | Filter folders and resources by name. |
--limit <n> | No | Maximum combined items to return (0 for everything). Defaults to 0. |
studio knowledge mkdir
Create a knowledge directory at a path
studio knowledge mkdir <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path to create; the leading / is optional |
studio logs
Also spelled studio log.
studio logs get
Show run diagnostics
studio logs get <runId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
runId | Yes | Unique workflow run identifier. |
Options
| Option | Required | Description |
|---|---|---|
--trace | No | Show expanded trace spans with inputs, outputs, errors, timing, and cost. |
studio logs stats
Summarize run counts, failures and latency over a window
studio logs stats [options]Options
| Option | Required | Description |
|---|---|---|
--workflow <value...> | No | Comma-separated workflow identifiers to include. At most 200 entries. An empty entry is rejected. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--folder <value...> | No | Folder path as shown in the app; the leading / is optional (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--trigger <value...> | No | Comma-separated trigger types to include. An empty entry is rejected. The vocabulary is open, so an unrecognized member selects no runs; the literal all disables this filter. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--level <value> | No | Severity level to include. Accepted values: info, error. |
--start-date <value> | No | Only include runs started at or after this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant. |
--end-date <value> | No | Only include runs started at or before this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant. |
--segment-count <value> | No | Number of time buckets, up to 500. Exactly this many are returned, each at least one minute wide. Short windows extend past the requested end and include empty trailing buckets. |
studio logs list
List Logs
studio logs list [options]Options
| Option | Required | Description |
|---|---|---|
--workflow <value...> | No | Comma-separated workflow identifiers to include. An empty entry is rejected. At most 200 entries. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--trigger <value...> | No | Comma-separated, lowercase trigger types or webhook provider IDs. Matching is exact and case-sensitive; unknown values select no runs. An empty entry is rejected. The sentinel all disables this filter, even when listed with other values. At most 100 entries. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--level <value> | No | Severity level to include. Accepted values: info, error. |
--start-date <value> | No | Only include runs started at or after this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant. |
--end-date <value> | No | Only include runs started at or before this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant. |
--min-duration-ms <value> | No | Minimum total execution duration in milliseconds. Whole milliseconds from 0 to 2147483647; the stored duration is a 32-bit integer, so a fractional or out-of-range bound is rejected. |
--max-duration-ms <value> | No | Maximum total execution duration in milliseconds. Whole milliseconds from 0 to 2147483647; the stored duration is a 32-bit integer, so a fractional or out-of-range bound is rejected. |
--min-cost <value> | No | Minimum execution cost in USD, from 0 to 1000000. A run is never charged a negative amount, so a negative bound is rejected rather than treated as a filter that matches every run. |
--max-cost <value> | No | Maximum execution cost in USD, from 0 to 1000000. A run is never charged a negative amount, so a negative bound is rejected rather than treated as a filter that matches every run. |
--model <value> | No | AI model used during execution. |
--details <value> | No | Response detail level; full is requested by default to name each run’s workflow. Accepted values: basic, full. |
--include-trace-spans | No | Include trace spans in JSON or YAML output (implies full detail). |
--include-final-output | No | Include final output in JSON or YAML output (implies full detail). |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--status <value> | No | Comma-separated execution statuses to include, from pending | running | paused | redacting | completed | failed | cancelled. An empty entry is rejected. ANDed with level, which reports severity rather than lifecycle. |
--workflow-name <value> | No | Case-insensitive substring match against the run's workflow name. Runs whose workflow has been deleted match nothing, because the name is no longer joinable. |
--include-job-runs | No | Include Chat and Studio-agent jobs alongside workflow runs. Jobs use kind: "job" and have no workflow or cost ledger. Workflow, folder, model, or status filters exclude jobs. This option is valid only when sorting by startedAt. |
--no-include-job-runs | No | Send --include-job-runs as false. |
--run-id <value> | No | Exact run identifier to match. |
--sort-by <value> | No | Field used to sort the result. durationMs and cost are null until a run settles; those runs sort before recorded values in ascending order and after them in descending order. Only startedAt can order Chat and Studio-agent job runs, so any other value is rejected when job runs are included. Accepted values: startedAt, durationMs, cost, status. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--folder <value...> | No | Folder path as shown in the app; the leading / is optional (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
studio logs follow
Watch runs as they arrive, printing each new run once
studio logs follow [options]Options
| Option | Required | Description |
|---|---|---|
--workflow <id> | No | Only follow runs of this workflow (repeatable). |
--folder <path> | No | Only follow runs of workflows in this folder (repeatable). |
--trigger <type> | No | Only follow runs with this trigger type (repeatable). |
--level <level> | No | Only follow runs at this severity. Accepted values: info, error. |
--details <level> | No | Response detail level; full names each run’s workflow. Accepted values: basic, full. Defaults to full. |
-n, --lines <count> | No | Recent runs to print before watching. Defaults to 10. |
--interval <seconds> | No | Seconds between polls. Defaults to 3. |
studio mcp-servers
Also spelled studio mcp-server.
studio mcp-servers create
Create MCP Server
studio mcp-servers create [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Server display name. |
--description <value> | No | Optional server description. |
--transport <value> | No | Transport protocol. Defaults to streamable-http on creation. Accepted values: streamable-http. |
--url <value> | Yes | Absolute HTTP or HTTPS endpoint URL without {{ENV_VAR}} references. It determines server identity and is immutable: delete and recreate the server to change endpoints. |
--auth-type <value> | No | Authentication method. When omitted, and no headers are sent, registration probes the endpoint once to classify it, falling back to headers when the probe fails or the server does not advertise OAuth. A server publishing RFC 9728 metadata is therefore stored as oauth, and headers configured afterwards will not authenticate — send this field explicitly to pin the method. Accepted values: none, headers, oauth. |
--headers <json|@file> | No | Write-only request headers sent to the server. Replaced wholesale rather than merged on update: sending this field drops every stored header it does not repeat. (JSON, or @path / @- to read a file or stdin). |
--timeout <value> | No | Per-request timeout in milliseconds. Defaults to 30000 on creation. |
--retries <value> | No | Number of retries per request. Defaults to 3 on creation. |
--enabled | No | Whether workflows can use the server's tools. Defaults to true on creation. |
--no-enabled | No | Send --enabled as false. |
--oauth-client-id <value> | No | Pre-registered OAuth client identifier. Changing it on update revokes the stored OAuth grant and forces reauthorization. |
--oauth-client-secret <value> | No | Write-only pre-registered OAuth client secret. Sending it on update as null or a new value revokes the stored OAuth grant and forces reauthorization, as does switching away from OAuth authentication. (--oauth-client-secret null sends the word, not JSON null). |
studio mcp-servers delete
Delete MCP Server
studio mcp-servers delete <mcpServerId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
mcpServerId | Yes | Unique MCP server identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio mcp-servers get
Get MCP Server
studio mcp-servers get <mcpServerId>Arguments
| Argument | Required | Description |
|---|---|---|
mcpServerId | Yes | Unique MCP server identifier. |
studio mcp-servers list
List MCP Servers
studio mcp-servers list [options]Options
| Option | Required | Description |
|---|---|---|
--search <value> | No | Case-insensitive substring match against the server name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio mcp-servers tools list
List MCP Server Tools (OAuth login or personal API key required)
studio mcp-servers tools list <mcpServerId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
mcpServerId | Yes | Unique MCP server identifier. |
Options
| Option | Required | Description |
|---|---|---|
--refresh | No | Refresh tools using your credentials. Otherwise results may reuse another workspace member's recent discovery and omit newly added tools. |
--no-refresh | No | Send --refresh as false. |
studio mcp-servers update
Update MCP Server
studio mcp-servers update <mcpServerId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
mcpServerId | Yes | Unique MCP server identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Server display name. |
--description <value> | No | Optional server description. |
--transport <value> | No | Transport protocol. Defaults to streamable-http on creation. Accepted values: streamable-http. |
--url <value> | No | Immutable server URL. When provided, it must equal the current URL; use delete and create to change endpoints. |
--auth-type <value> | No | Authentication method. When omitted, and no headers are sent, registration probes the endpoint once to classify it, falling back to headers when the probe fails or the server does not advertise OAuth. A server publishing RFC 9728 metadata is therefore stored as oauth, and headers configured afterwards will not authenticate — send this field explicitly to pin the method. Accepted values: none, headers, oauth. |
--headers <json|@file> | No | Write-only request headers sent to the server. Replaced wholesale rather than merged on update: sending this field drops every stored header it does not repeat. (JSON, or @path / @- to read a file or stdin). |
--timeout <value> | No | Per-request timeout in milliseconds. Defaults to 30000 on creation. |
--retries <value> | No | Number of retries per request. Defaults to 3 on creation. |
--enabled | No | Whether workflows can use the server's tools. Defaults to true on creation. |
--no-enabled | No | Send --enabled as false. |
--oauth-client-id <value> | No | Pre-registered OAuth client identifier. Changing it on update revokes the stored OAuth grant and forces reauthorization. |
--oauth-client-secret <value> | No | Write-only pre-registered OAuth client secret. Sending it on update as null or a new value revokes the stored OAuth grant and forces reauthorization, as does switching away from OAuth authentication. (--oauth-client-secret null sends the word, not JSON null). |
studio meta
studio meta status
Show what this API supports and which limits apply
studio meta statusstudio sandboxes
Also spelled studio sandbox.
studio sandboxes create
Create Sandbox (OAuth login or personal API key required)
studio sandboxes create [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Display name, unique within the workspace; 1 to 64 characters. |
--language <value> | Yes | Dependency ecosystem: javascript installs from npm, python from PyPI. Accepted values: javascript, python. |
--dependencies <value...> | No | Package specifiers installed into the sandbox, one per entry. (space-separated, or @path / @- with one value per line; in a file, blank lines and # comments are ignored, while inline values are sent as typed and may not be empty; @@value for a literal leading @). |
--cli-tools <value...> | No | Pinned managed CLI ids installed into the sandbox, at most 10, no duplicates. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--system-packages <value...> | No | Debian packages installed into the sandbox, one per entry. (space-separated, or @path / @- with one value per line; in a file, blank lines and # comments are ignored, while inline values are sent as typed and may not be empty; @@value for a literal leading @). |
studio sandboxes delete
Delete Sandbox (OAuth login or personal API key required)
studio sandboxes delete <sandboxId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
sandboxId | Yes | Unique sandbox identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio sandboxes get
Get Sandbox
studio sandboxes get <sandboxId>Arguments
| Argument | Required | Description |
|---|---|---|
sandboxId | Yes | Unique sandbox identifier. |
studio sandboxes list
List Sandboxes
studio sandboxes list [options]Options
| Option | Required | Description |
|---|---|---|
--search <value> | No | Case-insensitive substring match against the sandbox name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio sandboxes update
Update Sandbox (OAuth login or personal API key required)
studio sandboxes update <sandboxId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
sandboxId | Yes | Unique sandbox identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | New display name, unique within the workspace; 1 to 64 characters. |
--language <value> | No | Replacement dependency ecosystem. The whole spec is revalidated against it, so a Python dependency list does not survive a switch to JavaScript. Accepted values: javascript, python. |
--dependencies <value...> | No | Replacement package list; replaces the whole list. (space-separated, or @path / @- with one value per line; in a file, blank lines and # comments are ignored, while inline values are sent as typed and may not be empty; @@value for a literal leading @). |
--cli-tools <value...> | No | Replacement managed CLI list; replaces the whole list. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--system-packages <value...> | No | Replacement Debian package list; replaces the whole list. (space-separated, or @path / @- with one value per line; in a file, blank lines and # comments are ignored, while inline values are sent as typed and may not be empty; @@value for a literal leading @). |
studio secrets
Also spelled studio secret.
studio secrets delete
Delete Secret (OAuth login or personal API key required)
studio secrets delete <name> [options]Arguments
| Argument | Required | Description |
|---|---|---|
name | Yes | Secret to delete. |
Options
| Option | Required | Description |
|---|---|---|
--scope <value> | Yes | Whether the secret belongs to the workspace or to the caller. A personal secret belongs to the caller across every workspace, not to one workspace. Accepted values: workspace, personal. |
-y, --yes | Yes | Confirm this operation. |
studio secrets list
List Secrets (OAuth login or personal API key required)
studio secrets list [options]Options
| Option | Required | Description |
|---|---|---|
--scope <value> | No | Restrict results to one ownership scope. Accepted values: workspace, personal. |
--search <value> | No | Case-insensitive substring match against the secret name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio secrets set
Create or replace a named secret (OAuth login or personal API key required)
studio secrets set <name> [options]Arguments
| Argument | Required | Description |
|---|---|---|
name | Yes | Secret name, as referenced in workflows |
Options
| Option | Required | Description |
|---|---|---|
--scope <scope> | Yes | Secret ownership scope. Accepted values: workspace, personal. |
--value <value|@file> | No | Secret value. Passing it inline exposes it to shell history and process listings; @path reads it from a file and @- from stdin, verbatim — a trailing newline is part of the value, so write the file with printf rather than echo. Prefix a literal leading @ with a second one. |
--description <description> | No | What the secret is for, shown to teammates; workspace scope only. Omit to leave an existing description unchanged. |
--unredacted | No | Opt the workspace secret out of redaction: its value then appears in plaintext in run logs, model-visible content, and files, including publicly shared log links. Workspace scope only — sending it for a personal secret is rejected. Omit it to leave the current setting untouched. Pass --no-unredacted to restore redaction. |
--no-unredacted | No | Send --unredacted as false. |
studio selectors
studio selectors get
Get Selector Option (OAuth login or personal API key required)
studio selectors get [options]Options
| Option | Required | Description |
|---|---|---|
--selector-key <value> | Yes | Registered selector key for discovering this field’s destination options. Accepted values: airtable.bases, airtable.tables, asana.workspaces, attio.lists, attio.objects, bigquery.datasets, bigquery.tables, bitbucket.workspaces, bitbucket.repositories, calcom.eventTypes, calcom.schedules, clickup.workspaces, clickup.spaces, clickup.folders, clickup.lists, confluence.spaces, confluence.spacesById, confluence.pages, google.tasks.lists, gmail.labels, google.calendar, google.drive, google.sheets, harmonic.savedSearches, hubspot.lists, hubspot.owners, hubspot.pipelines, hubspot.pipelineStages, hubspot.properties, jsm.requestTypes, jsm.serviceDesks, microsoft.planner.plans, notion.databases, notion.pages, netsuite.recordTypes, netsuite.asyncTasks, pipedrive.pipelines, sharepoint.lists, trello.boards, zoho_desk.organizations, zoho_desk.departments, zoho_desk.agents, zoom.meetings, slack.channels, snowflake.databases, snowflake.schemas, snowflake.tables, snowflake.warehouses, snowflake.roles, snowflake.fileFormats, snowflake.procedures, slack.users, outlook.folders, outlook.calendars, microsoft.teams, microsoft.chats, microsoft.channels, microsoft.planner, onedrive.files, onedrive.folders, sharepoint.sites, microsoft.excel, microsoft.excel.drives, microsoft.excel.sheets, microsoft.word, wealthbox.contacts, jira.issues, jira.projects, jira.projectKeys, linear.projects, linear.teams, monday.boards, monday.groups, webflow.sites, webflow.collections, webflow.items, cloudwatch.logGroups, cloudwatch.logStreams, imap.mailboxes, mcp.tools, managedAgent.agents, managedAgent.environments, managedAgent.vaults, managedAgent.memoryStores, knowledge.documents, studio.workflows, table.columns, table.outputColumns, meta.pages, workspace.secretNames, workspace.sandboxes, providers.ollamaEmbeddingModels, providers.openrouterEmbeddingModels. |
--context <json|@file> | No | Only the dependencies declared by the selector, such as oauthCredential and channelId. Missing OAuth connections require human authorization. (JSON, or @path / @- to read a file or stdin). |
--id <value> | Yes | Resource identifier. |
studio selectors list
List Selector Options (OAuth login or personal API key required)
studio selectors list [options]Options
| Option | Required | Description |
|---|---|---|
--selector-key <value> | Yes | Registered selector key for discovering this field’s destination options. Accepted values: airtable.bases, airtable.tables, asana.workspaces, attio.lists, attio.objects, bigquery.datasets, bigquery.tables, bitbucket.workspaces, bitbucket.repositories, calcom.eventTypes, calcom.schedules, clickup.workspaces, clickup.spaces, clickup.folders, clickup.lists, confluence.spaces, confluence.spacesById, confluence.pages, google.tasks.lists, gmail.labels, google.calendar, google.drive, google.sheets, harmonic.savedSearches, hubspot.lists, hubspot.owners, hubspot.pipelines, hubspot.pipelineStages, hubspot.properties, jsm.requestTypes, jsm.serviceDesks, microsoft.planner.plans, notion.databases, notion.pages, netsuite.recordTypes, netsuite.asyncTasks, pipedrive.pipelines, sharepoint.lists, trello.boards, zoho_desk.organizations, zoho_desk.departments, zoho_desk.agents, zoom.meetings, slack.channels, snowflake.databases, snowflake.schemas, snowflake.tables, snowflake.warehouses, snowflake.roles, snowflake.fileFormats, snowflake.procedures, slack.users, outlook.folders, outlook.calendars, microsoft.teams, microsoft.chats, microsoft.channels, microsoft.planner, onedrive.files, onedrive.folders, sharepoint.sites, microsoft.excel, microsoft.excel.drives, microsoft.excel.sheets, microsoft.word, wealthbox.contacts, jira.issues, jira.projects, jira.projectKeys, linear.projects, linear.teams, monday.boards, monday.groups, webflow.sites, webflow.collections, webflow.items, cloudwatch.logGroups, cloudwatch.logStreams, imap.mailboxes, mcp.tools, managedAgent.agents, managedAgent.environments, managedAgent.vaults, managedAgent.memoryStores, knowledge.documents, studio.workflows, table.columns, table.outputColumns, meta.pages, workspace.secretNames, workspace.sandboxes, providers.ollamaEmbeddingModels, providers.openrouterEmbeddingModels. |
--context <json|@file> | No | Only the dependencies declared by the selector, such as oauthCredential and channelId. Missing OAuth connections require human authorization. (JSON, or @path / @- to read a file or stdin). |
--search <value> | No | Provider option search text. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
studio skills
Also spelled studio skill.
studio skills create
Create Skill (OAuth login or personal API key required)
studio skills create [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Kebab-case name, unique within the workspace and not reserved by a built-in skill. |
--description <value> | Yes | One-line summary of when the skill applies. |
--content <value> | Yes | Skill body containing the instructions given to the agent. |
studio skills delete
Delete Skill (OAuth login or personal API key required)
studio skills delete <skillId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
skillId | Yes | Unique skill identifier. A built-in skill is builtin- followed by its name, for example builtin-research. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio skills get
Get Skill
studio skills get <skillId>Arguments
| Argument | Required | Description |
|---|---|---|
skillId | Yes | Unique skill identifier. A built-in skill is builtin- followed by its name, for example builtin-research. |
studio skills editors create
Grant Skill Editor (OAuth login or personal API key required)
studio skills editors create <skillId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
skillId | Yes | Unique skill identifier. A built-in skill is builtin- followed by its name, for example builtin-research. |
Options
| Option | Required | Description |
|---|---|---|
--email <value> | Yes | Email address of a current workspace member. |
studio skills editors list
List Skill Editors
studio skills editors list <skillId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
skillId | Yes | Unique skill identifier. A built-in skill is builtin- followed by its name, for example builtin-research. |
Options
| Option | Required | Description |
|---|---|---|
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: email, name. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio skills editors delete
Revoke Skill Editor (OAuth login or personal API key required)
studio skills editors delete <skillId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
skillId | Yes | Unique skill identifier. A built-in skill is builtin- followed by its name, for example builtin-research. |
Options
| Option | Required | Description |
|---|---|---|
--email <value> | Yes | Email address of a current workspace member. |
-y, --yes | Yes | Confirm this operation. |
studio skills list
List Skills
studio skills list [options]Options
| Option | Required | Description |
|---|---|---|
--search <value> | No | Case-insensitive substring match against the skill name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio skills update
Update Skill (OAuth login or personal API key required)
studio skills update <skillId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
skillId | Yes | Unique skill identifier. A built-in skill is builtin- followed by its name, for example builtin-research. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | New kebab-case skill name. |
--description <value> | No | New one-line summary of when the skill applies. |
--content <value> | No | Replacement skill body. |
studio tables
Also spelled studio table.
studio tables columns create
Add Column
studio tables columns create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--column <json|@file> | Yes | Column definition to add. (JSON, or @path / @- to read a file or stdin). |
studio tables columns delete
Delete Column
studio tables columns delete <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--column-name <value> | Yes | Name of the column to delete. |
-y, --yes | Yes | Confirm this operation. |
studio tables columns update
Update Column
studio tables columns update <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--column-name <value> | Yes | Current name of the column to update. |
--updates <json|@file> | Yes | Mutable column fields. (JSON, or @path / @- to read a file or stdin). |
studio tables groups create
Add Workflow Group
studio tables groups create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--group <json|@file> | Yes | Workflow or enrichment producer definition. (JSON, or @path / @- to read a file or stdin). |
--output-columns <json|@file> | Yes | Columns created for producer outputs. (JSON, or @path / @- to read a file or stdin). |
--auto-run | No | Whether to schedule existing rows after group creation. |
--no-auto-run | No | Send --auto-run as false. |
studio tables groups delete
Delete Workflow Group
studio tables groups delete <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--group-id <value> | Yes | Workflow group to delete. |
-y, --yes | Yes | Confirm this operation. |
studio tables groups list
List Workflow Groups
studio tables groups list <tableId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
studio tables groups update
Update Workflow Group
studio tables groups update <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--group-id <value> | Yes | Workflow group to update. |
--workflow-id <value> | No | Replacement backing workflow identifier. |
--name <value> | No | Replacement workflow-group display name. |
--dependencies <json|@file> | No | Replacement input dependencies. (JSON, or @path / @- to read a file or stdin). |
--outputs <json|@file> | No | Replacement producer outputs. (JSON, or @path / @- to read a file or stdin). |
--new-output-columns <json|@file> | No | Columns to add for new outputs. (JSON, or @path / @- to read a file or stdin). |
--mapping-updates <json|@file> | No | Existing output-column mapping changes. (JSON, or @path / @- to read a file or stdin). |
--input-mappings <json|@file> | No | Replacement workflow input mappings. (JSON, or @path / @- to read a file or stdin). |
--deployment-mode <value> | No | Replacement workflow execution mode. Accepted values: live, deployed. |
--type <value> | No | Workflow-group producer type. Must match the group's stored type — a group's producer cannot be changed after creation. Accepted values: manual, enrichment. |
--auto-run | No | Replacement automatic-run setting. |
--no-auto-run | No | Send --auto-run as false. |
studio tables batch-delete
Bulk Delete Tables and Folders
studio tables batch-delete [options]Options
| Option | Required | Description |
|---|---|---|
--table-ids <json|@file> | No | Tables to archive, by identifier. (JSON, or @path / @- to read a file or stdin). |
--folder <value...> | No | Folder path as shown in the app; the leading / is optional (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
-y, --yes | Yes | Confirm this operation. |
studio tables rows update-each
Apply a distinct patch to each listed row
studio tables rows update-each <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--updates <json|@file> | Yes | One merge patch per row. Each row identifier may appear at most once. (JSON, or @path / @- to read a file or stdin). |
studio tables rows create
Create Rows
studio tables rows create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--data <json|@file> | No | One row keyed by column name (JSON, or @path / @-; choose exactly one body flag). |
--rows <json|@file> | No | Several rows keyed by column name (JSON, or @path / @-; choose exactly one body flag). |
studio tables rows delete
Delete Row
studio tables rows delete <tableId> <rowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
rowId | Yes | Unique table row identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio tables rows batch-delete
Delete rows matching a filter, or an explicit list of ids
studio tables rows batch-delete <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--filter <json|@file> | No | Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--limit <value> | No | Maximum matching rows to delete. (caps a --filter match only; omit it to act on every match, and note 0 is not accepted). |
--row <value...> | No | Explicit row identifiers to delete. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
-y, --yes | Yes | Confirm this operation. |
studio tables rows get
Get Row
studio tables rows get <tableId> <rowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
rowId | Yes | Unique table row identifier. |
Options
| Option | Required | Description |
|---|---|---|
--include-run-state | No | Include per-workflow-group run state on the returned row. Off by default. |
--no-include-run-state | No | Send --include-run-state as false. |
studio tables rows list
List Rows
studio tables rows list <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--include-run-state | No | Include per-workflow-group run state on every returned row. Off by default: run state is a separate sidecar read and its blockErrors are unbounded, so a full page carries it only when asked. Caps limit at 200. |
--no-include-run-state | No | Send --include-run-state as false. |
studio tables rows query
Query Rows
studio tables rows query <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--filter <json|@file> | No | Condition: {"field":"status","op":"eq","value":"active"}. Groups: {"all":[{"field":"status","op":"eq","value":"active"}]} or {"any":[{"field":"status","op":"eq","value":"active"}]}; group entries may also be nested groups. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--sort <json|@file> | No | Ordered sort keys: [{"field":"createdAt","direction":"desc"}] (direction: asc or desc) (JSON, or @path / @- to read a file or stdin). |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--include-run-state | No | Include per-workflow-group run state on every returned row. Off by default: run state is a separate sidecar read and its blockErrors are unbounded, so a full page carries it only when asked. Incompatible with limit: 0, and caps limit at 200. |
--no-include-run-state | No | Send --include-run-state as false. |
studio tables rows count
Count rows matching a filter
studio tables rows count <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--filter <json|@file> | No | Condition: {"field":"status","op":"eq","value":"active"}. Groups: {"all":[{"field":"status","op":"eq","value":"active"}]} or {"any":[{"field":"status","op":"eq","value":"active"}]}; group entries may also be nested groups. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
studio tables rows enrich
Run one row’s enrichment group
studio tables rows enrich <tableId> <rowId> <groupId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
rowId | Yes | Unique table row identifier. |
groupId | Yes | Workflow or enrichment group to run. |
studio tables rows search
Search cells for a value and return their coordinates
studio tables rows search <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--query <value> | Yes | Value to search for. |
--filter <json|@file> | No | Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--sort <json|@file> | No | Ordered sort keys: [{"field":"createdAt","direction":"desc"}] (direction: asc or desc) (JSON, or @path / @- to read a file or stdin). |
studio tables rows batch-update
Update every row matching a filter
studio tables rows batch-update <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--filter <json|@file> | Yes | Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--data <json|@file> | Yes | Row-data patch applied to every matching row. (JSON, or @path / @- to read a file or stdin). |
--limit <value> | No | Maximum matching rows to update. (caps a --filter match only; omit it to act on every match, and note 0 is not accepted). |
-y, --yes | Yes | Confirm this operation. |
studio tables rows update
Update Row
studio tables rows update <tableId> <rowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
rowId | Yes | Unique table row identifier. |
Options
| Option | Required | Description |
|---|---|---|
--data <json|@file> | Yes | Partial row-data patch keyed by column name. (JSON, or @path / @- to read a file or stdin). |
studio tables dispatches cancel
Cancel a running dispatch
studio tables dispatches cancel <tableId> <dispatchId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
dispatchId | Yes | Unique table run-dispatch identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio tables dispatches create
Start a column or enrichment run
studio tables dispatches create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--group-ids <value...> | Yes | Workflow or enrichment groups to run. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--run-mode <value> | No | Whether to run all or only incomplete cells. Accepted values: all, incomplete. |
--row-ids <value...> | No | Explicit row subset to run. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--filter <json|@file> | No | Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--exclude-row-ids <value...> | No | Rows excluded from a select-all run scope. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--max-rows <n> | No | Stop after this many eligible rows have run (1-1,000,000). Omit for an unbounded run. |
studio tables dispatches get
Get Run Dispatch
studio tables dispatches get <tableId> <dispatchId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
dispatchId | Yes | Unique table run-dispatch identifier. |
studio tables dispatches list
List Active Run Dispatches
studio tables dispatches list <tableId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
studio tables exports cancel
Stop a running export
studio tables exports cancel <tableId> <exportId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
exportId | Yes | Unique table-export identifier. |
studio tables exports create
Create Table Export
studio tables exports create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--format <value> | No | Export file format. Accepted values: csv, json. |
studio tables exports get
Get Table Export
studio tables exports get <tableId> <exportId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
exportId | Yes | Unique table-export identifier. |
studio tables exports download
Get the download URL for a finished export
studio tables exports download <tableId> <exportId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
exportId | Yes | Unique table-export identifier. |
studio tables imports cancel
Stop a running import
studio tables imports cancel <importId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
importId | Yes | Unique table-import identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio tables imports get
Get Table Import
studio tables imports get <importId>Arguments
| Argument | Required | Description |
|---|---|---|
importId | Yes | Unique table-import identifier. |
studio tables cancel-runs
Stop every running column job
studio tables cancel-runs <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--scope <value> | Yes | Whether to cancel across the table or one row. Accepted values: all, row. |
--row-id <value> | No | Row whose runs should be canceled for row scope. |
--filter <json|@file> | No | Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--exclude-row-ids <value...> | No | Rows excluded from an all-scope cancellation. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
-y, --yes | Yes | Confirm this operation. |
studio tables create
Create Table
studio tables create [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Identifier: letters, numbers, and underscores; cannot start with a number. |
--description <value> | No | Optional table description. |
--schema <json|@file> | Yes | Table schema: {"columns":[{"name":"email","type":"string"}]} (JSON, or @path / @- to read a file or stdin). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
studio tables folders create
Create a table folder at a path
studio tables folders create <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
studio tables folders delete
Delete Folder
studio tables folders delete <path> [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
Options
| Option | Required | Description |
|---|---|---|
--recursive | No | Delete the folder and its descendants. |
-y, --yes | Yes | Confirm this operation. |
studio tables folders list
List table folders
studio tables folders list [options]Also available as studio tables folders ls.
Options
| Option | Required | Description |
|---|---|---|
--parent <value> | No | Direct parent folder path. |
--search <value> | No | Case-insensitive substring match against the folder name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
studio tables folders move
Rename or move a table folder
studio tables folders move <path> <destination>Also available as studio tables folders mv.
Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
destination | Yes | Folder path as shown in the app; the leading / is optional |
studio tables folders restore
Restore an archived table folder
studio tables folders restore <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
studio tables views create
Create View
studio tables views create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Saved-view display name. |
--config <json|@file> | Yes | Saved filter, sort, and column-layout configuration. (JSON, or @path / @- to read a file or stdin). |
studio tables views delete
Delete View
studio tables views delete <tableId> <viewId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
viewId | Yes | Unique saved-view identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio tables views get
Get View
studio tables views get <tableId> <viewId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
viewId | Yes | Unique saved-view identifier. |
studio tables views list
List Views
studio tables views list <tableId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
studio tables views update
Update View
studio tables views update <tableId> <viewId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
viewId | Yes | Unique saved-view identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Replacement saved-view display name. |
--config <json|@file> | No | Complete replacement saved-view configuration. (JSON, or @path / @- to read a file or stdin). |
--config-patch <json|@file> | No | Saved-view configuration fields to shallow-merge. (JSON, or @path / @- to read a file or stdin). |
--is-default | No | Whether to promote this view to the table default. |
--no-is-default | No | Send --is-default as false. |
studio tables delete
Delete Table
studio tables delete <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio tables enrichment get
Get Enrichment Run Detail
studio tables enrichment get <tableId> <rowId> <groupId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
rowId | Yes | Unique table row identifier. |
groupId | Yes | Workflow or enrichment group to run. |
studio tables get
Get Table
studio tables get <tableId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
studio tables list
List Tables
studio tables list [options]Options
| Option | Required | Description |
|---|---|---|
--scope <value> | No | Which lifecycle set to list: active (default) for live tables, archived for tables a delete archived and a table restore can bring back. folderPath resolves against active folders only, so pairing it with scope=archived returns an empty page when the containing folder was archived too. Accepted values: active, archived. |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
--search <value> | No | Case-insensitive substring match against the resource name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio tables move
Move Tables and Folders
studio tables move [options]Options
| Option | Required | Description |
|---|---|---|
--table-ids <json|@file> | No | Tables to move, by identifier. (JSON, or @path / @- to read a file or stdin). |
--folder <value...> | No | Table folders to move, by path as shown in the app; the leading / is optional (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--to <value> | No | Destination folder path; omit for root. |
studio tables restore
Restore an archived table
studio tables restore <tableId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
studio tables update
Update Table
studio tables update <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Identifier: letters, numbers, and underscores; cannot start with a number. |
--description <value> | No | Replacement table description, or null to clear it. (--description null sends the word, not JSON null). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
studio tables mv
Move a table to a folder
studio tables mv <tableId> <folder>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
folder | Yes | Folder path as shown in the app; the leading / is optional |
studio tables upsert
Insert a row, or update the one that conflicts on a unique column
studio tables upsert <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--data <json|@file> | Yes | Complete set of row cells keyed by column name. On the update branch this REPLACES the matched row: any column not present here is cleared, unlike a single-row update, which merges. (JSON, or @path / @- to read a file or stdin). |
--on <value> | No | Unique column to resolve the conflict against. |
studio tables import
Import a CSV, into a new table by default
studio tables import [path] [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | No | Local CSV file to import; omit when using --file-id |
Options
| Option | Required | Description |
|---|---|---|
--name <name> | No | Identifier for the new table: letters, numbers, and underscores; defaults to the sanitized file name. |
--table-id <id> | No | Import into this existing table instead of creating one. |
--mode <append|replace> | No | How to write into --table-id (default: append). Accepted values: append, replace. |
--folder <path> | No | Folder path for the new table, as shown in the app. |
--file-id <id> | No | Import a file already in the workspace instead of a local path. |
--mapping <json|@file> | No | Column mapping (--table-id only). |
--create-columns <json|@file> | No | Columns to create (--table-id only). |
--timezone <iana> | No | Timezone for date parsing, e.g. America/New_York. |
-y, --yes | No | Confirm this destructive operation (required with --mode replace). |
--no-wait | No | Return once the import is queued instead of watching it. |
studio tables ls
List table resources and child folders together
studio tables ls [path] [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | No | Folder path to list; defaults to the root folder |
Options
| Option | Required | Description |
|---|---|---|
--search <text> | No | Filter folders and resources by name. |
--limit <n> | No | Maximum combined items to return (0 for everything). Defaults to 0. |
studio tables mkdir
Create a table directory at a path
studio tables mkdir <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path to create; the leading / is optional |
studio tools
studio tools execute
Run one built-in tool and print what it produced (OAuth login or personal API key required)
studio tools execute <toolId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
toolId | Yes | Tool identifier. An unversioned name resolves to the newest version, and the response echoes the resolved id. |
Options
| Option | Required | Description |
|---|---|---|
--input <json|@file> | No | Tool arguments as JSON, keyed by the parameter ids studio tools get <toolId> lists (JSON, or @path / @- to read a file or stdin). |
--credential-id <value> | No | Credential to authenticate with, required for OAuth tools. |
--timeout <value> | No | Seconds to wait before abandoning the call. |
studio tools get
Get Tool
studio tools get <toolId>Arguments
| Argument | Required | Description |
|---|---|---|
toolId | Yes | Tool identifier. An unversioned name resolves to the newest version, and the response echoes the resolved id. |
studio tools list
List Tools
studio tools list [options]Options
| Option | Required | Description |
|---|---|---|
--search <value> | No | Case-insensitive substring match against the tool id, name, and description. |
--hosted-api-key <value> | No | Restrict to tools by how their API key is supplied. Accepted values: always, conditional, none. |
--oauth-provider <value> | No | Restrict to tools that authenticate against this OAuth service. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: id, name. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio workflow-mcp-servers
studio workflow-mcp-servers create
Create Workflow MCP Server (OAuth login or personal API key required)
studio workflow-mcp-servers create [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Server display name, shown to connecting MCP clients. |
--description <value> | No | Optional server description. |
--is-public | No | Whether the server answers MCP clients without a Studio API key. Defaults to false — a public server executes the workflows it publishes for anyone holding its URL. |
--no-is-public | No | Send --is-public as false. |
--workflow <value...> | No | Deployed workflows to publish as tools on the new server. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
studio workflow-mcp-servers delete
Delete Workflow MCP Server (OAuth login or personal API key required)
studio workflow-mcp-servers delete <serverId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
serverId | Yes | Unique workflow-MCP server identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio workflow-mcp-servers tools create
Publish Workflow As MCP Tool (OAuth login or personal API key required)
studio workflow-mcp-servers tools create <serverId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
serverId | Yes | Unique workflow-MCP server identifier. |
Options
| Option | Required | Description |
|---|---|---|
--workflow-id <value> | Yes | Deployed workflow to publish. The workflow must already be deployed. |
--tool-name <value> | No | Name MCP clients call. Normalized to the MCP tool-name grammar, and derived from the workflow name when omitted. |
--tool-description <value> | No | Description shown to MCP clients. Derived from the workflow name when omitted. |
--parameter-descriptions <json|@file> | No | Per-field description overrides applied to the schema generated from the deployed workflow inputs, as [{"name":"email","description":"Customer email address"}]. A name matching no input field is ignored (JSON, or @path / @- to read a file or stdin). |
studio workflow-mcp-servers tools list
List Workflow MCP Tools (OAuth login or personal API key required)
studio workflow-mcp-servers tools list <serverId>Arguments
| Argument | Required | Description |
|---|---|---|
serverId | Yes | Unique workflow-MCP server identifier. |
studio workflow-mcp-servers tools delete
Unpublish Workflow MCP Tool (OAuth login or personal API key required)
studio workflow-mcp-servers tools delete <serverId> <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
serverId | Yes | Unique workflow-MCP server identifier. |
workflowId | Yes | Workflow published as a tool on this server. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio workflow-mcp-servers get
Get Workflow MCP Server (OAuth login or personal API key required)
studio workflow-mcp-servers get <serverId>Arguments
| Argument | Required | Description |
|---|---|---|
serverId | Yes | Unique workflow-MCP server identifier. |
studio workflow-mcp-servers list
List Workflow MCP Servers (OAuth login or personal API key required)
studio workflow-mcp-servers list [options]Options
| Option | Required | Description |
|---|---|---|
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio workflow-mcp-servers update
Update Workflow MCP Server (OAuth login or personal API key required)
studio workflow-mcp-servers update <serverId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
serverId | Yes | Unique workflow-MCP server identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Server display name, shown to connecting MCP clients. |
--description <value> | No | New server description, or null to clear it. (--description null sends the word, not JSON null). |
--is-public | No | Whether the server answers MCP clients without a Studio API key. |
--no-is-public | No | Send --is-public as false. |
studio workflows
Also spelled studio workflow.
studio workflows activate create
Activate Workflow Version (OAuth login or personal API key required)
studio workflows activate create <workflowId> <version> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
version | Yes | Numeric deployment version. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio workflows operations apply
Apply Workflow Operations (OAuth login or personal API key required)
studio workflows operations apply <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--dry-run | No | Validate and lint without persisting. The response is identical to the committed write of the same body, so a caller can inspect lint and then re-send the request for real. Nothing is written, no audit entry is recorded, and collaborators are not notified. |
--no-dry-run | No | Send --dry-run as false. |
--operations <json|@file> | Yes | Edits to apply, in a single batch, keyed by operation_type: [{"operation_type":"add","block_id":"my-fn","params":{"type":"function","name":"My Fn","inputs":{"code":"return {ok:true}"}}},{"operation_type":"edit","block_id":"<uuid>","params":{"name":"Renamed","connections":{"success":"my-fn"}}},{"operation_type":"delete","block_id":"<uuid>"}]. Also extract_from_subflow, whose params carry {"subflowId":"<loop-id>"}, and insert_into_subflow, which creates a block and so takes an add’s params plus that subflowId (JSON, or @path / @- to read a file or stdin). |
--atomic | No | Fail the whole batch when any operation is declined or any block input would be dropped. The default applies what it can and reports the rest in skipped and inputValidationErrors; true writes nothing and answers 409 instead. |
--no-atomic | No | Send --atomic as false. |
--layout <value> | No | Whether to reposition blocks the batch touched. targeted (default) nudges only the affected subgraph; none leaves every position exactly as supplied. Accepted values: targeted, none. |
--set-block-enabled <json|@file> | No | Blocks to enable or disable, applied after --operations: [{"block_id":"<uuid>","enabled":false}]. Disabling a loop or parallel cascades to its unlocked descendants; enabling a block whose container is disabled is declined (JSON, or @path / @- to read a file or stdin). |
-y, --yes | No | Confirm this operation (required unless --dry-run). |
studio workflows variables update
Update Workflow Variables
studio workflows variables update <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--operations <json|@file> | Yes | Variable changes to apply in order, keyed by operation: [{"operation":"add","name":"my_var","type":"string","value":"hello"},{"operation":"edit","name":"my_var","value":"updated"},{"operation":"delete","name":"my_var"}] (JSON, or @path / @- to read a file or stdin). |
-y, --yes | Yes | Confirm this operation. |
studio workflows runs cancel
Cancel a running workflow run
studio workflows runs cancel <runId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
runId | Yes | Unique workflow run identifier. |
Options
| Option | Required | Description |
|---|---|---|
--workflow <workflowId> | Yes | Workflow ID. |
studio workflows runs get
Show run status (requested outputs are included in JSON or YAML output)
studio workflows runs get <runId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
runId | Yes | Unique workflow run identifier. |
Options
| Option | Required | Description |
|---|---|---|
--workflow <workflowId> | Yes | Workflow ID. |
--include-output | No | Include the final output in JSON or YAML output. |
--select-output <value...> | No | Include blockId or blockId.path values in JSON or YAML output; block names are not resolved on a finished run (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--include-file-base64 | No | Inline each produced file's bytes as base64. Requires includeOutput. A file above the inline ceiling answers 413 naming its download path; fetch large files from downloadPath instead. |
--no-include-file-base64 | No | Send --include-file-base64 as false. |
--base64-max-bytes <value> | No | Per-file inline ceiling, lowering but never raising the server limit of 16 MiB. |
studio workflows runs list
List runs for a workflow
studio workflows runs list [options]Options
| Option | Required | Description |
|---|---|---|
--workflow <workflowId> | Yes | Workflow ID. |
--status <value> | No | Filter by run status. Accepted values: pending, running, completed, failed, cancelled, paused. |
--trigger <value> | No | Filter by trigger type. |
--start-date <value> | No | Only include runs started at or after this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant. |
--end-date <value> | No | Only include runs started at or before this UTC ISO 8601 timestamp, e.g. 2026-08-06T00:00:00Z. A date without a time, or a timestamp carrying a UTC offset instead of Z, is rejected, as is year 0000, which names no storable instant. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--order <value> | No | Sort direction by run start time. This list is sortable only by run start time, so it takes order in place of sortBy/sortOrder, which it rejects. Accepted values: asc, desc. |
studio workflows runs resume
Resume a paused run (output is included in JSON or YAML output)
studio workflows runs resume <runId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
runId | Yes | Unique workflow run identifier. |
Options
| Option | Required | Description |
|---|---|---|
--workflow <workflowId> | Yes | Workflow ID. |
--context <value> | Yes | Pause context ID returned by run status. |
--input <json|@file> | No | Resume input as JSON (JSON, or @path / @- to read a file or stdin). |
studio workflows runs wait
Wait for a run to reach a terminal state, then show it
studio workflows runs wait <runId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
runId | Yes | Unique workflow run identifier. |
Options
| Option | Required | Description |
|---|---|---|
--workflow <workflowId> | Yes | Workflow ID. |
--wait-timeout <seconds> | No | Give up after this many seconds, or 0 to wait indefinitely (default: 3600). Bounds the whole wait; STUDIO_TIMEOUT_SECONDS bounds one request. |
studio workflows create
Create Workflow
studio workflows create [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Workflow name. |
--description <value> | No | Optional workflow description. |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
studio workflows folders create
Create a workflow folder at a path
studio workflows folders create <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
studio workflows folders delete
Delete Workflow Folder
studio workflows folders delete <path> [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
Options
| Option | Required | Description |
|---|---|---|
--recursive | No | Delete the folder and its descendants. |
-y, --yes | Yes | Confirm this operation. |
studio workflows folders list
List workflow folders
studio workflows folders list [options]Also available as studio workflows folders ls.
Options
| Option | Required | Description |
|---|---|---|
--parent <value> | No | Direct parent folder path. |
--search <value> | No | Case-insensitive substring match against the folder name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
studio workflows folders move
Rename or move a workflow folder
studio workflows folders move <path> <destination>Also available as studio workflows folders mv.
Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
destination | Yes | Folder path as shown in the app; the leading / is optional |
studio workflows delete
Delete Workflow
studio workflows delete <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio workflows chat unpublish
Take a workflow’s chat deployment offline (OAuth login or personal API key required)
studio workflows chat unpublish <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio workflows chat status
Show a workflow’s chat deployment (OAuth login or personal API key required)
studio workflows chat status <workflowId>Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
studio workflows chat publish
Publish or replace a workflow’s chat deployment (OAuth login or personal API key required)
studio workflows chat publish <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--identifier <value> | Yes | URL slug the deployed chat answers on. Must be free across live deployments. |
--title <value> | Yes | Title shown to visitors. |
--description <value> | No | Description shown to visitors. Omitted clears it. |
--customizations <json|@file> | No | Presentation overrides. Omitted fields take platform defaults. (JSON, or @path / @- to read a file or stdin). |
--auth-type <value> | No | How visitors are gated. public leaves the chat open to anyone holding the URL. Accepted values: public, password, email, sso. |
--password <value> | No | Write-only password. Required whenever authType is password, and rejected otherwise. Never readable back. |
--allowed-emails <json|@file> | No | Email addresses or domains admitted under email and sso gating. At least one is required for those modes. (JSON, or @path / @- to read a file or stdin). |
--output-configs <json|@file> | No | Block outputs to surface to visitors. Omitted surfaces none. (JSON, or @path / @- to read a file or stdin). |
--include-thinking | No | Allow visitors to receive provider thinking events. |
--no-include-thinking | No | Send --include-thinking as false. |
--include-tool-calls | No | Allow visitors to receive tool lifecycle events. |
--no-include-tool-calls | No | Send --include-tool-calls as false. |
-y, --yes | Yes | Confirm this operation. |
studio workflows deploy
Deploy Workflow (OAuth login or personal API key required)
studio workflows deploy <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Optional label for the deployment version. |
--description <value> | No | Optional release note for the deployment version. |
studio workflows duplicate create
Duplicate Workflow
studio workflows duplicate create <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Name for the copy. Defaults to the source name, deduplicated within the folder. |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
studio workflows run
Run a deployed workflow or execute saved state manually
studio workflows run <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--input <json|@file> | No | Trigger input as JSON (JSON, or @path / @- to read a file or stdin). |
--async | No | Queue the run and return immediately. |
--execution-timeout-seconds <value> | No | Maximum duration of an asynchronous run, in seconds, capped by the plan's execution timeout. Requires async: true; otherwise returns 400. |
--select-output <value...> | No | Return streamed outputs as blockName.path or childWorkflowId.blockName.path; selecting a child workflow applies to every invocation, requires --follow (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--include-file-base64 | No | Inline eligible output files as base64 content. Rejected when async is true. |
--no-include-file-base64 | No | Send --include-file-base64 as false. |
--base64-max-bytes <value> | No | Maximum total bytes of file content to inline as base64, lowering but never raising the server limit of 16 MiB. Rejected when async is true. |
--run-id <value> | No | One-shot identifier for this run; NOT an idempotency key — reusing a claimed value fails with RUN_ID_CONFLICT instead of replaying the first result, and a fresh value starts another run. |
--manual | No | Run the current saved workflow state instead of the active deployment. |
--trigger <blockId> | No | Enter a manual run through this runnable trigger (requires --manual). |
--mock-payload | No | Use the selected trigger's server-derived mock payload (requires --manual). |
--from-block <blockId> | No | Run manually from this saved workflow block. |
--source-run <runId> | No | Prior run whose persisted state supplies upstream outputs (requires --from-block). |
--follow | No | Stream the run as it happens; progress on stderr, result on stdout. The stream reports only success and output, so the result omits the run id and timings a non-streaming run returns. |
--include-thinking | No | Show model reasoning while following (requires --follow). |
--include-tool-calls | No | Show tool calls while following (requires --follow). |
studio workflows export
Print a workflow as a portable JSON document
studio workflows export <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--include-references | No | Include non-secret resource identities for mapped import. |
studio workflows get
Get Workflow
studio workflows get <workflowId>Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
studio workflows deployment status
Show a workflow’s current deployment
studio workflows deployment status <workflowId>Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
studio workflows deployment update
Update Workflow Public API Access (OAuth login or personal API key required)
studio workflows deployment update <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--is-public-api <true|false> | Yes | Whether the deployed workflow should accept unauthenticated public API execution. Accepted values: true, false. |
studio workflows state get
Get Workflow State
studio workflows state get <workflowId>Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
studio workflows state replace
Replace Workflow State (OAuth login or personal API key required)
studio workflows state replace <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--dry-run | No | Validate and lint without persisting. The response is identical to the committed write of the same body, so a caller can inspect lint and then re-send the request for real. Nothing is written, no audit entry is recorded, and collaborators are not notified. |
--no-dry-run | No | Send --dry-run as false. |
--blocks <json|@file> | Yes | Blocks keyed by block id. (JSON, or @path / @- to read a file or stdin). |
--edges <json|@file> | Yes | Directed connections between blocks. (JSON, or @path / @- to read a file or stdin). |
--loops <json|@file> | No | Ignored on write: loop containers are recomputed from blocks. (JSON, or @path / @- to read a file or stdin). |
--parallels <json|@file> | No | Ignored on write: parallel containers are recomputed from blocks. (JSON, or @path / @- to read a file or stdin). |
--variables <json|@file> | No | Replacement variable set. Omit to leave the stored variables untouched. (JSON, or @path / @- to read a file or stdin). |
-y, --yes | No | Confirm this operation (required unless --dry-run). |
studio workflows versions get
Get Workflow Version
studio workflows versions get <workflowId> <version>Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
version | Yes | Numeric deployment version. |
studio workflows versions list
List Workflow Versions
studio workflows versions list <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
studio workflows versions update
Update Workflow Version
studio workflows versions update <workflowId> <version> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
version | Yes | Numeric deployment version. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | New label for the deployment version. |
--description <value> | No | New release note for the deployment version, or null to clear it. (--description null sends the word, not JSON null). |
studio workflows import
Import Workflow
studio workflows import [options]Options
| Option | Required | Description |
|---|---|---|
--workflow <json|@file> | Yes | Workflow export object, bare workflow state, or JSON string containing either form. (JSON, or @path / @- to read a file or stdin). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
--name <value> | No | Override for the imported workflow name. |
--description <value> | No | Override for the imported workflow description. |
--mappings <json|@file> | No | Mappings keyed by resource type and source identifier. (JSON, or @path / @- to read a file or stdin). |
--bindings <json|@file> | No | Resolved and unresolved source occurrences with their destination selections. (JSON, or @path / @- to read a file or stdin). |
--dependent-values <json|@file> | No | Destination-dependent choices keyed by source workflow, block, and field identities. (JSON, or @path / @- to read a file or stdin). |
--request-id <value> | No | Stable client request ID for reconciliation and identical retries. |
--preview-fingerprint <value> | No | Fingerprint of the reviewed preview and its choices. |
--wait | No | Wait for the committed operation to finish; missing configuration and failure exit nonzero. |
--wait-timeout <seconds> | No | Maximum operation wait in seconds (default 3600; 0 waits indefinitely). |
studio workflows list
List Workflows
studio workflows list [options]Options
| Option | Required | Description |
|---|---|---|
--scope <value> | No | Which lifecycle set to list: active (default) for live workflows, archived for workflows a DELETE archived. The folder filter resolves against active folders only, so pairing it with archived returns an empty page when the containing folder was archived too. Accepted values: active, archived. |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
--deployed-only | No | Return only workflows with an active deployment when true. |
--no-deployed-only | No | Send --deployed-only as false. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
--search <value> | No | Case-insensitive substring match against the resource name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: position, name, createdAt, updatedAt, runCount. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
studio workflows move
Move Workflows
studio workflows move [options]Options
| Option | Required | Description |
|---|---|---|
--workflow <value...> | Yes | Workflows to move. Duplicates are collapsed. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--to <value> | Yes | Destination folder path; / moves the workflows to the workspace root. |
studio workflows import-preview
Preview Workflow Import
studio workflows import-preview [options]Options
| Option | Required | Description |
|---|---|---|
--workflow <json|@file> | Yes | Workflow export object, bare workflow state, or JSON string containing either form. (JSON, or @path / @- to read a file or stdin). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
--name <value> | No | Override for the imported workflow name. |
--description <value> | No | Override for the imported workflow description. |
--mappings <json|@file> | No | Mappings keyed by resource type and source identifier. (JSON, or @path / @- to read a file or stdin). |
--bindings <json|@file> | No | Resolved and unresolved source occurrences with their destination selections. (JSON, or @path / @- to read a file or stdin). |
--dependent-values <json|@file> | No | Destination-dependent choices keyed by source workflow, block, and field identities. (JSON, or @path / @- to read a file or stdin). |
studio workflows restore
Restore an archived workflow
studio workflows restore <workflowId>Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
studio workflows revert create
Revert Workflow To Version (OAuth login or personal API key required)
studio workflows revert create <workflowId> <version> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
version | Yes | Numeric deployment version, or active for the currently live version. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio workflows rollback
Rollback Workflow (OAuth login or personal API key required)
studio workflows rollback <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--to-version <value> | No | Deployment version to reactivate. Omit to select the previous active version. |
-y, --yes | Yes | Confirm this operation. |
studio workflows undeploy
Take a workflow out of deployment (OAuth login or personal API key required)
studio workflows undeploy <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
studio workflows update
Update Workflow
studio workflows update <workflowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Replacement workflow name. |
--description <value> | No | Replacement workflow description; null clears it. (--description null sends the word, not JSON null). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
studio workflows mv
Move a workflow to a folder
studio workflows mv <workflowId> <folder>Arguments
| Argument | Required | Description |
|---|---|---|
workflowId | Yes | Unique workflow identifier. |
folder | Yes | Folder path as shown in the app; the leading / is optional |
studio workflows ls
List workflow resources and child folders together
studio workflows ls [path] [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | No | Folder path to list; defaults to the root folder |
Options
| Option | Required | Description |
|---|---|---|
--search <text> | No | Filter folders and resources by name. |
--limit <n> | No | Maximum combined items to return (0 for everything). Defaults to 0. |
studio workflows mkdir
Create a workflow directory at a path
studio workflows mkdir <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path to create; the leading / is optional |
studio workspaces
Also spelled studio workspace.
studio workspaces fork
Fork Workspace (OAuth login or personal API key required)
studio workspaces fork [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Display name of the workflow or workspace. |
--copy <json|@file> | No | Explicit resource selections to copy into the new fork; omitted resource kinds are not copied. (JSON, or @path / @- to read a file or stdin). |
--request-id <value> | Yes | Stable client request ID for reconciliation and identical retries. |
--preview-fingerprint <value> | Yes | Fingerprint of the reviewed preview and its choices. |
--wait | No | Wait for the committed operation to finish; missing configuration and failure exit nonzero. |
--wait-timeout <seconds> | No | Maximum operation wait in seconds (default 3600; 0 waits indefinitely). |
studio workspaces get
Get Workspace
studio workspaces getstudio workspaces fork-availability
Get Workspace Fork Availability (OAuth login or personal API key required)
studio workspaces fork-availabilitystudio workspaces lineage
Get Workspace Fork Lineage (OAuth login or personal API key required)
studio workspaces lineagestudio workspaces mappings get
Get Workspace Fork Mappings (OAuth login or personal API key required)
studio workspaces mappings get [options]Options
| Option | Required | Description |
|---|---|---|
--other-workspace-id <value> | Yes | Workspace on the other side of the direct fork edge. |
--direction <value> | Yes | Push means current to other; pull means other to current, independent of parent/child orientation. Accepted values: push, pull. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--sort-by <value> | No | Supported stable sort key for this collection. Accepted values: id. |
--sort-order <value> | No | Sort direction. Accepted values: asc. |
studio workspaces mappings update
Update Workspace Fork Mappings (OAuth login or personal API key required)
studio workspaces mappings update [options]Options
| Option | Required | Description |
|---|---|---|
--other-workspace-id <value> | Yes | Workspace on the other side of the direct fork edge. |
--direction <value> | Yes | Push means current to other; pull means other to current, independent of parent/child orientation. Accepted values: push, pull. |
--mappings <json|@file> | Yes | Mappings keyed by resource type and source identifier. (JSON, or @path / @- to read a file or stdin). |
studio workspaces operations get
Get Workspace Operation
studio workspaces operations get <operationId>Arguments
| Argument | Required | Description |
|---|---|---|
operationId | Yes | Durable operation identifier to use for polling. |
studio workspaces operations list
List Workspace Operations
studio workspaces operations list [options]Options
| Option | Required | Description |
|---|---|---|
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--request-id <value> | No | Stable client request ID for reconciliation and identical retries. |
studio workspaces operations wait
Wait for copy and deployment readiness; exit 3 for configuration, 1 for failure, or 4 for timeout
studio workspaces operations wait <operationId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
operationId | Yes | Operation ID returned by import, fork, push, or pull |
Options
| Option | Required | Description |
|---|---|---|
--wait-timeout <seconds> | No | Maximum total wait (default 3600; 0 waits indefinitely). |
studio workspaces children
List Workspace Fork Children (OAuth login or personal API key required)
studio workspaces children [options]Options
| Option | Required | Description |
|---|---|---|
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--sort-by <value> | No | Supported stable sort key for this collection. Accepted values: createdAt. |
--sort-order <value> | No | Sort direction. Accepted values: desc. |
studio workspaces fork-resources
List Workspace Fork Resources (OAuth login or personal API key required)
studio workspaces fork-resources [options]Options
| Option | Required | Description |
|---|---|---|
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--kind <value> | Yes | Resource or operation kind. Accepted values: files, tables, knowledgeBases, customTools, skills, mcpServers, workflowMcpServers. |
--sort-by <value> | No | Supported stable sort key for this collection. Accepted values: id. |
--sort-order <value> | No | Sort direction. Accepted values: asc. |
studio workspaces members
List workspace members
studio workspaces members [options]Options
| Option | Required | Description |
|---|---|---|
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio workspaces list
List Workspaces
studio workspaces list [options]Options
| Option | Required | Description |
|---|---|---|
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
studio workspaces fork-preview
Preview Workspace Fork (OAuth login or personal API key required)
studio workspaces fork-preview [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Display name of the workflow or workspace. |
--copy <json|@file> | No | Explicit resource selections to copy into the new fork; omitted resource kinds are not copied. (JSON, or @path / @- to read a file or stdin). |
studio workspaces pull-preview
Preview Workspace Pull (OAuth login or personal API key required)
studio workspaces pull-preview [options]Options
| Option | Required | Description |
|---|---|---|
--other-workspace-id <value> | Yes | Workspace on the other side of the direct fork edge. |
--mappings <json|@file> | No | Mappings keyed by resource type and source identifier. (JSON, or @path / @- to read a file or stdin). |
--dependent-values <json|@file> | No | Destination-dependent choices keyed by source workflow, block, and field identities. (JSON, or @path / @- to read a file or stdin). |
--copy-resources <json|@file> | No | Explicit source resources to copy before syncing the workflows. (JSON, or @path / @- to read a file or stdin). |
--drop-references <json|@file> | No | Source-deleted references explicitly acknowledged for removal; live source references cannot be dropped. (JSON, or @path / @- to read a file or stdin). |
--trigger-mappings <json|@file> | No | Public trigger path choices from preview.triggerSlots, addressed by source workflow and block IDs. Duplicate or unavailable choices are rejected. (JSON, or @path / @- to read a file or stdin). |
studio workspaces push-preview
Preview Workspace Push (OAuth login or personal API key required)
studio workspaces push-preview [options]Options
| Option | Required | Description |
|---|---|---|
--other-workspace-id <value> | Yes | Workspace on the other side of the direct fork edge. |
--mappings <json|@file> | No | Mappings keyed by resource type and source identifier. (JSON, or @path / @- to read a file or stdin). |
--dependent-values <json|@file> | No | Destination-dependent choices keyed by source workflow, block, and field identities. (JSON, or @path / @- to read a file or stdin). |
--copy-resources <json|@file> | No | Explicit source resources to copy before syncing the workflows. (JSON, or @path / @- to read a file or stdin). |
--drop-references <json|@file> | No | Source-deleted references explicitly acknowledged for removal; live source references cannot be dropped. (JSON, or @path / @- to read a file or stdin). |
--trigger-mappings <json|@file> | No | Public trigger path choices from preview.triggerSlots, addressed by source workflow and block IDs. Duplicate or unavailable choices are rejected. (JSON, or @path / @- to read a file or stdin). |
studio workspaces pull
Pull Workspace (OAuth login or personal API key required)
studio workspaces pull [options]Options
| Option | Required | Description |
|---|---|---|
--other-workspace-id <value> | Yes | Workspace on the other side of the direct fork edge. |
--mappings <json|@file> | No | Mappings keyed by resource type and source identifier. (JSON, or @path / @- to read a file or stdin). |
--dependent-values <json|@file> | No | Destination-dependent choices keyed by source workflow, block, and field identities. (JSON, or @path / @- to read a file or stdin). |
--copy-resources <json|@file> | No | Explicit source resources to copy before syncing the workflows. (JSON, or @path / @- to read a file or stdin). |
--drop-references <json|@file> | No | Source-deleted references explicitly acknowledged for removal; live source references cannot be dropped. (JSON, or @path / @- to read a file or stdin). |
--trigger-mappings <json|@file> | No | Public trigger path choices from preview.triggerSlots, addressed by source workflow and block IDs. Duplicate or unavailable choices are rejected. (JSON, or @path / @- to read a file or stdin). |
--request-id <value> | Yes | Stable client request ID for reconciliation and identical retries. |
--preview-fingerprint <value> | Yes | Fingerprint of the reviewed preview and its choices. |
--wait | No | Wait for the committed operation to finish; missing configuration and failure exit nonzero. |
--wait-timeout <seconds> | No | Maximum operation wait in seconds (default 3600; 0 waits indefinitely). |
-y, --yes | Yes | Confirm this operation. |
studio workspaces push
Push Workspace (OAuth login or personal API key required)
studio workspaces push [options]Options
| Option | Required | Description |
|---|---|---|
--other-workspace-id <value> | Yes | Workspace on the other side of the direct fork edge. |
--mappings <json|@file> | No | Mappings keyed by resource type and source identifier. (JSON, or @path / @- to read a file or stdin). |
--dependent-values <json|@file> | No | Destination-dependent choices keyed by source workflow, block, and field identities. (JSON, or @path / @- to read a file or stdin). |
--copy-resources <json|@file> | No | Explicit source resources to copy before syncing the workflows. (JSON, or @path / @- to read a file or stdin). |
--drop-references <json|@file> | No | Source-deleted references explicitly acknowledged for removal; live source references cannot be dropped. (JSON, or @path / @- to read a file or stdin). |
--trigger-mappings <json|@file> | No | Public trigger path choices from preview.triggerSlots, addressed by source workflow and block IDs. Duplicate or unavailable choices are rejected. (JSON, or @path / @- to read a file or stdin). |
--request-id <value> | Yes | Stable client request ID for reconciliation and identical retries. |
--preview-fingerprint <value> | Yes | Fingerprint of the reviewed preview and its choices. |
--wait | No | Wait for the committed operation to finish; missing configuration and failure exit nonzero. |
--wait-timeout <seconds> | No | Maximum operation wait in seconds (default 3600; 0 waits indefinitely). |
-y, --yes | Yes | Confirm this operation. |
studio workspaces fork-rollback
Rollback Workspace Fork (OAuth login or personal API key required)
studio workspaces fork-rollback [options]Options
| Option | Required | Description |
|---|---|---|
--other-workspace-id <value> | Yes | Workspace on the other side of the direct fork edge. |
-y, --yes | Yes | Confirm this operation. |
studio workspaces unlink
Unlink Workspace Fork (OAuth login or personal API key required)
studio workspaces unlink [options]Options
| Option | Required | Description |
|---|---|---|
--other-workspace-id <value> | Yes | Workspace on the other side of the direct fork edge. |
-y, --yes | Yes | Confirm this operation. |
studio workspaces sync-exclusions
Update Workspace Fork Exclusions (OAuth login or personal API key required)
studio workspaces sync-exclusions [options]Options
| Option | Required | Description |
|---|---|---|
--workflow <value...> | Yes | Workflow identifiers in the current workspace. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--fork-sync-excluded <true|false> | Yes | Whether the named workflows should be skipped as sync sources and targets. Accepted values: true, false. |