PUT /v1/organizations/{orgId}/auto-swap-settings
Update automatic token swap settings for an organization. Owners only.
PUT
/v1/organizations/{orgId}/auto-swap-settings
Update automatic token swap settings for an organization. Owners only.
Path Parameters
orgId
string
required
path
Organization ID
Request Body required
Auto-swap settings
application/jsonOne of:
Option 1
Option 2
enabled
boolean
Enabled turns the feature on or off for the org.
maxSwapAmountUsd
number
MaxSwapAmountUsd caps each individual swap's output USD value. 0 = no limit.
mode
string
Mode controls how sources are selected. Valid values: "manual",
"auto_highest_balance", "auto_lowest_balance". Defaults to "auto_lowest_balance".
sources
object[]
Sources is the ordered list of token sources to try when a balance top-up is needed.
Array of:
chainId
integer
ChainID is the source chain to sell from.
id
string
ID is a stable identifier for this source. Leave empty to auto-generate on create.
priority
integer
Priority controls evaluation order (lower = tried first).
slippageBps
integer
SlippageBps is the swap slippage tolerance in basis points (0-8000). Default 300 (3%).
tokenAddress
string
TokenAddress is the token to sell. Use "native" for native gas tokens or a 0x address.
tokenDecimals
integer
TokenDecimals is the number of decimal places for the token (e.g. 18 for ETH, 6 for USDC). UI only.
walletId
string
WalletID is the org wallet to sell tokens from.
Responses
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 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
description
string
forkCount
integer
id
string
isPromoted
boolean
maxRuns
integer
name
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
slug
string
sourceWorkflowId
string
Source workflow link (nil for built-in or legacy templates)
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
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>}}.
...
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
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
500
Internal Server Error
curl -X PUT 'https://api.example.com/v1/organizations/string/auto-swap-settings' \ -H 'Authorization: Bearer YOUR_API_TOKEN' \ -H 'Content-Type: application/json' \ -d '{}'
const response = await fetch('https://api.example.com/v1/organizations/string/auto-swap-settings', { method: 'PUT', 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.put('https://api.example.com/v1/organizations/string/auto-swap-settings', headers=headers, json={})print(response.json())
package mainimport ( "fmt" "io" "net/http" "strings")func main() { body := strings.NewReader(`{}`) req, _ := http.NewRequest("PUT", "https://api.example.com/v1/organizations/string/auto-swap-settings", 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>" }, "description": "<string>", "forkCount": 123, "id": "<string>", "isPromoted": true, "maxRuns": 123, "name": "<string>", "organizationDescription": "<string>", "organizationId": "<string>", "organizationName": "<string>", "organizationPhoto": "<string>", "promotedAt": "<string>", "promotedBy": "<string>", "promotedOrder": 123, "slug": "<string>", "sourceWorkflowId": "<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
PUT
/v1/organizations/{orgId}/auto-swap-settings
