POST /v1/workflows/{id}/pause
Pause a workflow
POST
/v1/workflows/{id}/pause
Pause a workflow
Path Parameters
id
string
required
path
Workflow ID
Request Body
application/jsonResponses
200
OK
application/jsondata
object
hasMore
boolean
items
object[]
Array of:
archived
boolean
category
string
Deprecated: Use Tags instead
cooldownMs
integer
createdAt
string
createdBy
string
definition
object
Definition is the inline workflow graph to analyze. Same shape as a
saved workflow's definition. Unlike the ephemeral-run endpoint there
is no trigger restriction — analysis is read-only and method-agnostic.
blockExpansions
object
Set on run snapshots only (not workflow DB)
inputSchema
object[]
Array of:
description
string
key
string
required
boolean
type
string
"string", "number", "boolean", "object", "array"
nodes
object
REQUIRED
triggerNodeIds
string[]
TriggerNodeIDs lists the node IDs that are trigger (root) nodes. Every
workflow declares this — single-trigger workflows ship ["root"] (the
legacy node id), multi-trigger workflows list every trigger node id.
Treating single-trigger as a forest-of-1 removes the two-path branching
throughout the BE + FE; older rows without the field are backfilled by
migration 000282 and the field-missing path stays as a read-side safety
net (see FindTriggerNodeIDs) but is no longer exercised by saves.
"root" is also a runtime alias for "the trigger that fired this run" —
{{root.X}} variable references resolve to the firing trigger regardless
of which trigger fired. Don't repurpose the literal "root" as a trigger
id on a multi-trigger workflow.
Array of:
variableDefs
object[]
VariableDefs is a snapshot of the workflow's declared variables at run
creation time. The canonical source lives on the workflows row
(Workflow.VariableDefs column). Snapshotted into the run definition
so the worker can resolve {{$vars.x}} lookups and route variable-action
writes to the right scope without an extra DB round trip.
Array of:
default
unknown
description
string
lifetime
string
Enum:
persist, resetname
string
type
string
Enum:
number, text, boolean, list, objectdescription
string
forkCount
integer
generatedAppId
string
Generated-app attachment (nil when the template ships no app). On
adoption the referenced app is CLONED into the adopting org's new
workflow. GeneratedAppVersionID optionally pins a specific version
whose manifest is used as the clone source.
generatedAppVersionId
string
id
string
isPromoted
boolean
maxRuns
integer
moderationStatus
string
Moderation fields (B3-4168). Only meaningful for public templates;
org templates are always approved.
Enum:
pending, approved, rejectedname
string
organizationDescription
string
organizationId
string
Fields for user-generated templates (nil for built-in templates)
organizationName
string
organizationPhoto
string
promotedAt
string
promotedBy
string
promotedOrder
integer
rejectionReason
string
reviewedAt
string
reviewedBy
string
slug
string
sourceWorkflowId
string
Source workflow link (nil for built-in or legacy templates)
submittedAt
string
tableSchemas
object
tags
object[]
Array of:
categories
string[]
e.g., ["blockchain", "finance"]
Array of:
...
count
integer
Scope-dependent: template, action, trigger, or connector count
createdAt
string
description
string
id
string
imageUrl
string
name
string
promotedTemplateCount
integer
publicTemplateCount
integer
slug
string
updatedAt
string
weight
integer
Higher weight = more prominent
templateProps
object[]
Array of:
default
unknown
description
string
key
string
name
string
properties
object
accountType
string
AccountType filters the wallet picker by account type on
inputType="walletConnector" fields (e.g. "polymarket_deposit_wallet").
allowWalletPicker
boolean
allowedChannels
string[]
...
autoFillFromWallet
boolean
AutoFillFromWallet, when true, auto-fills this prop with the selected
workflow wallet address and hides it from the form. Pointer so an
explicit false survives the JSON round-trip (same rationale as
AllowWalletPicker).
bindsConnectorNodes
string[]
BindsConnectorNodes lists workflow node IDs whose wallet-type connector
should be prefilled from this prop's picked wallet (inputType:
"walletConnector"). The connector stays a plain, editable connector —
this is a prefill, not a permanent bind.
...
chainId
integer
For tokenAmount: hardcoded chain ID
chainPropKey
string
For tokenSelector/tokenAmount: prop key providing chainId
columns
object[]
Columns describes a csvTable prop (inputType: "csvTable"). The stored
value is an object-of-columnar-arrays: {colKey: []value}. Payload
templates reference each column via {{$props.<propKey>.<colKey>}}.
...
dex
string
For hyperliquidAsset: hardcoded DEX name (fallback when no dexPropKey)
dexPropKey
string
For hyperliquidAsset: prop key providing HIP-3 DEX name
enum
unknown[]
...
enumLabels
string[]
...
excludeNative
boolean
For tokenSelector/multiTokenSelector: hide native tokens (field only accepts ERC-20 contract addresses)
groupKey
string
Groups related props for unified UI rendering
inputType
string
maxRows
integer
csvTable: maximum allowed rows (0 = no cap)
maximum
number
minRows
integer
csvTable: minimum required rows (0 = default 1)
minimum
number
pattern
string
placeholder
string
showWalletBalances
boolean
For tokenSelector: show wallet balances (useful for "sell" tokens)
sources
object[]
...
summary
object
Summary drives the csvTable footer summary. Nil means no summary is
rendered. See PropSchemaSummary for details.
...
tokenAddress
string
For tokenAmount: hardcoded token address
tokenAddressPropKey
string
For tokenAmount: prop key providing tokenAddress
visibleWhen
object
VisibleWhen controls conditional visibility: show this prop only when
the referenced prop has the specified value.
...
required
boolean
sensitive
boolean
type
string
"string", "number", "integer", "boolean", "object" (for csvTable)
uiMetadata
object
comments
object[]
Array of:
createdAt
string
createdBy
object
...
id
string
nodeId
string
position
object
...
replies
object[]
...
resolved
boolean
text
string
updatedAt
string
nodePositions
object
stickyNotes
object[]
Array of:
color
string
createdAt
string
createdBy
object
...
id
string
position
object
...
size
object
...
text
string
updatedAt
string
zIndex
integer
updatedAt
string
updatedBy
string
version
integer
visibility
string
Enum:
org, public, org, publiclimit
integer
offset
integer
400
Bad Request
404
Not Found
curl -X POST 'https://api.example.com/v1/workflows/string/pause' \ -H 'Authorization: Bearer YOUR_API_TOKEN' \ -H 'Content-Type: application/json' \ -d '{}'
const response = await fetch('https://api.example.com/v1/workflows/string/pause', { method: 'POST', headers: { "Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json" }, body: JSON.stringify({})});const data = await response.json();console.log(data);
import requestsheaders = { 'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.post('https://api.example.com/v1/workflows/string/pause', headers=headers, json={})print(response.json())
package mainimport ( "fmt" "io" "net/http" "strings")func main() { body := strings.NewReader(`{}`) req, _ := http.NewRequest("POST", "https://api.example.com/v1/workflows/string/pause", body) req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN") req.Header.Set("Content-Type", "application/json") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() result, _ := io.ReadAll(resp.Body) fmt.Println(string(result))}
200
Response
{ "data": { "hasMore": true, "items": [ { "archived": true, "category": "<string>", "cooldownMs": 123, "createdAt": "<string>", "createdBy": "<string>", "definition": { "blockExpansions": "<object>", "inputSchema": [ {} ], "nodes": "<object>", "triggerNodeIds": [ {} ], "variableDefs": [ {} ] }, "description": "<string>", "forkCount": 123, "generatedAppId": "<string>", "generatedAppVersionId": "<string>", "id": "<string>", "isPromoted": true, "maxRuns": 123, "moderationStatus": "pending", "name": "<string>", "organizationDescription": "<string>", "organizationId": "<string>", "organizationName": "<string>", "organizationPhoto": "<string>", "promotedAt": "<string>", "promotedBy": "<string>", "promotedOrder": 123, "rejectionReason": "<string>", "reviewedAt": "<string>", "reviewedBy": "<string>", "slug": "<string>", "sourceWorkflowId": "<string>", "submittedAt": "<string>", "tableSchemas": "<object>", "tags": [ { "categories": {}, "count": {}, "createdAt": {}, "description": {}, "id": {}, "imageUrl": {}, "name": {}, "promotedTemplateCount": {}, "publicTemplateCount": {}, "slug": {}, "updatedAt": {}, "weight": {} } ], "templateProps": [ { "default": {}, "description": {}, "key": {}, "name": {}, "properties": {}, "required": {}, "sensitive": {}, "type": {} } ], "uiMetadata": { "comments": [ {} ], "nodePositions": "<object>", "stickyNotes": [ {} ] }, "updatedAt": "<string>", "updatedBy": "<string>", "version": 123, "visibility": "org" } ], "limit": 123, "offset": 123 }}
API Playground
Try this endpoint
POST
/v1/workflows/{id}/pause
