GET /v1/workflows/{id}
Get a workflow by ID
GET
/v1/workflows/{id}
Get a workflow by ID
Path Parameters
id
string
required
path
Workflow ID
Responses
200
OK
application/jsoncode
integer
data
object
aiDescription
string
aiName
string
conversationId
string
cooldownMs
integer
createdAt
string
createdBy
string
definition
object
Definition is the full workflow graph to execute. Must contain a
"root" node with type "manual". All action nodes referenced in
children arrays must be present.
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
descManuallySet
boolean
description
string
fundAutoSwapConfig
object
enabled
boolean
maxSwapAmountUsd
number
mode
string
sources
object[]
Array of:
chainId
integer
ChainID is the source chain to sell from.
id
string
ID is a unique identifier for this source (e.g., "src_abc123").
priority
integer
Priority controls order of evaluation (lower = tried first).
slippageBps
integer
SlippageBps is the slippage tolerance in basis points. Default 300 (3%).
tokenAddress
string
TokenAddress is the token to sell. Use "native" for native gas tokens.
tokenDecimals
integer
TokenDecimals is the number of decimal places for the token (e.g. 18 for ETH, 6 for USDC).
Stored so the UI can display the human-readable amount without re-fetching on-chain metadata.
walletId
string
WalletID is the org wallet to sell from.
hasDraft
boolean
Response-only fields (not persisted to database)
HasDraft indicates a draft exists (for live workflows in API responses)
hasLiveVersion
boolean
HasLiveVersion indicates a live version exists (for drafts in API responses)
id
string
lastTriggeredAt
string
maxRuns
integer
name
string
nameManuallySet
boolean
organizationId
string
ownerUserId
string
pausedReason
string
Enum:
cu_exhausted, disabled_action, consecutive_failurespublicRunCooldownSeconds
integer
publicRunDailyLimit
integer
publicWidgetConfig
object
buttonLabel
string
ButtonLabel is the text displayed on the trigger button
description
string
Description explains what the workflow does
enabled
boolean
Enabled controls whether the public widget is active
maxAmount
string
MaxAmount is the maximum amount allowed per trigger (in smallest unit)
minAmount
string
MinAmount is the minimum amount required to trigger (in smallest unit)
title
string
Title is the display title for the widget
remainRuns
integer
sourceTemplateId
string
status
string
Enum:
draft, active, paused, archivedtriggerSecret
string
type
string
Enum:
token-price-cexes, evm-log, cronjob, schedule, manual, telegram-channel, polymarket-user-bet, polymarket-market-trade, polymarket-new-market, polymarket-market-close, slack-mentions, erc20-receive, erc20-send, anyspend, shopify-order-created, shopify-order-paid, shopify-inventory-level-updated, ramp-new-transaction, ramp-transaction-status-updated, ramp-transfer-payment-updated, slack-new-reaction-added, slack-new-message-in-channels, slack-new-channel-created, slack-new-direct-message, slack-new-keyword-mention, slack-new-user-added, slack-new-user-mention, slack-new-interaction-event, telegram-new-interaction-event, email-new-email-received, email-new-email-matching-criteria, gmail-new-email-received, gmail-new-email-matching-search, stripe-payment-receive, eth-receive, eth-send, farcaster-new-cast, farcaster-new-follower, farcaster-new-reaction, x-new-tweet, exchange-listing, coinbase-payment-received, coinbase-checkout-received, solana-transactionuiMetadata
object
comments
object[]
Array of:
createdAt
string
createdBy
object
clientId
string
name
string
id
string
nodeId
string
position
object
x
number
y
number
replies
object[]
Array of:
createdAt
string
createdBy
object
...
id
string
text
string
updatedAt
string
resolved
boolean
text
string
updatedAt
string
nodePositions
object
stickyNotes
object[]
Array of:
color
string
createdAt
string
createdBy
object
clientId
string
name
string
id
string
position
object
x
number
y
number
size
object
height
number
width
number
text
string
updatedAt
string
zIndex
integer
updatedAt
string
updatedBy
string
version
integer
visibility
string
Enum:
private, org, public_view, public_executex402Config
object
chainId
integer
Chain ID where payment should be made (e.g., 8453 for Base)
discoverable
boolean
Discoverable controls whether this workflow is listed in the Bazaar public catalog.
Bazaar is a discovery marketplace where users can find and pay for x402-enabled endpoints.
When true: Endpoint is publicly listed, anyone can trigger with payment only (no secret needed).
When false: Endpoint is private, requires both secret and payment to trigger.
discoveryInput
object
example
unknown
Example provides a sample value for documentation and testing
schema
object
Schema is a JSON Schema definition for validation
discoveryMetadata
object
category
string
Category groups workflows (e.g., "data", "automation", "ai")
description
string
Description provides details about what the workflow does
documentation
string
Documentation URL for additional documentation
logo
string
Logo URL for the workflow/provider logo
name
string
Name is the display name for the workflow
provider
string
Provider is the name of the entity providing this workflow
tags
string[]
Tags for searchable keywords
Array of:
discoveryOutput
object
example
unknown
Example provides a sample value for documentation and testing
schema
object
Schema is a JSON Schema definition for validation
price
string
Price in the smallest unit of the token (e.g., wei for ETH, 6 decimals for USDC)
recipient
string
Recipient address that will receive the payment
token
string
Token address (e.g., USDC contract address)
message
string
requestId
string
404
Not Found
curl -X GET 'https://api.example.com/v1/workflows/string' \ -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://api.example.com/v1/workflows/string', { method: 'GET', headers: { "Authorization": "Bearer YOUR_API_TOKEN" }});const data = await response.json();console.log(data);
import requestsheaders = { 'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.get('https://api.example.com/v1/workflows/string', headers=headers)print(response.json())
package mainimport ( "fmt" "io" "net/http")func main() { req, _ := http.NewRequest("GET", "https://api.example.com/v1/workflows/string", nil) req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() result, _ := io.ReadAll(resp.Body) fmt.Println(string(result))}
200
Response
{ "code": 200, "data": { "aiDescription": "<string>", "aiName": "<string>", "conversationId": "<string>", "cooldownMs": 123, "createdAt": "<string>", "createdBy": "<string>", "definition": { "blockExpansions": "<object>", "inputSchema": [ { "description": "<string>", "key": "<string>", "required": true, "type": "<string>" } ], "nodes": "<object>" }, "descManuallySet": true, "description": "<string>", "fundAutoSwapConfig": { "enabled": true, "maxSwapAmountUsd": 123, "mode": "<string>", "sources": [ { "chainId": 123, "id": "<string>", "priority": 123, "slippageBps": 123, "tokenAddress": "<string>", "tokenDecimals": 123, "walletId": "<string>" } ] }, "hasDraft": true, "hasLiveVersion": true, "id": "<string>", "lastTriggeredAt": "<string>", "maxRuns": 123, "name": "<string>", "nameManuallySet": true, "organizationId": "<string>", "ownerUserId": "<string>", "pausedReason": "cu_exhausted", "publicRunCooldownSeconds": 123, "publicRunDailyLimit": 123, "publicWidgetConfig": { "buttonLabel": "<string>", "description": "<string>", "enabled": true, "maxAmount": "<string>", "minAmount": "<string>", "title": "<string>" }, "remainRuns": 123, "sourceTemplateId": "<string>", "status": "draft", "triggerSecret": "<string>", "type": "token-price-cexes", "uiMetadata": { "comments": [ { "createdAt": "<string>", "createdBy": { "clientId": {}, "name": {} }, "id": "<string>", "nodeId": "<string>", "position": { "x": {}, "y": {} }, "replies": [ {} ], "resolved": true, "text": "<string>", "updatedAt": "<string>" } ], "nodePositions": "<object>", "stickyNotes": [ { "color": "<string>", "createdAt": "<string>", "createdBy": { "clientId": {}, "name": {} }, "id": "<string>", "position": { "x": {}, "y": {} }, "size": { "height": {}, "width": {} }, "text": "<string>", "updatedAt": "<string>", "zIndex": 123 } ] }, "updatedAt": "<string>", "updatedBy": "<string>", "version": 123, "visibility": "private", "x402Config": { "chainId": 123, "discoverable": true, "discoveryInput": { "example": "<unknown>", "schema": "<object>" }, "discoveryMetadata": { "category": "<string>", "description": "<string>", "documentation": "<string>", "logo": "<string>", "name": "<string>", "provider": "<string>", "tags": [ "<string>" ] }, "discoveryOutput": { "example": "<unknown>", "schema": "<object>" }, "price": "<string>", "recipient": "<string>", "token": "<string>" } }, "message": "success", "requestId": "abc-123"}
API Playground
Try this endpoint
GET
/v1/workflows/{id}
