Updated Apr 14, 2026

Webhook reference

Everything TransisTrade accepts in an incoming alert — fields, defaults, and templating.

Endpoint

Your TransisTrade webhook URL is unique to your workspace. Find it in Bridge → Modifier:

POST https://hooks.transistrade.com/v1/ingest/:workspace_token

Payload shape

TransisTrade accepts any JSON object as the request body. Fields you don't provide fall back to safe defaults (see the field list below).

json
{
  "secret": "tt_sk_live_•••",
  "account": "main",
  "symbol": "{{ticker}}",
  "side": "{{strategy.order.action}}",
  "type": "market",
  "qty": {{strategy.position_size}},
  "tif": "day",
  "tags": ["swing-v3", "tv"]
}

Supported fields

FieldTypeDescription
secretstringRequired. Your workspace secret.
accountstringOptional. Targets a specific connection by name or ID.
symbolstringTicker as sent by the signal source. Mapped before routing.
side"buy" | "sell" | "flat"Order direction. flat closes the position.
type"market" | "limit" | "stop" | "stop_limit"Order type. Default is market.
qtynumberQuantity in broker units. Honours account risk limits.
pricenumberRequired for limit and stop-limit orders.
tif"day" | "gtc" | "ioc" | "fok"Time in force. Default is day.
tagsstring[]Free-form labels, searchable in Bridge → Logs.

TradingView templating

TransisTrade understands every standard TradingView placeholder. The most common:

{{ticker}}                   -> "BTCUSD"
{{strategy.order.action}}    -> "buy" or "sell"
{{strategy.position_size}}   -> number of contracts / units
{{close}}                    -> current price at alert time
{{time}}                     -> alert timestamp
Type coercion
Numbers wrapped in quotes are coerced automatically. Booleans accept true/false, 1/0, and yes/no.

Response codes

CodeMeaning
202Accepted. The signal entered the execution pipeline.
400Malformed payload. Check field names and types.
401Missing or invalid secret.
409Deduped. An identical signal arrived within 2 seconds.
429Rate limit hit. Back off and retry.
5xxTransisTrade-side issue — signal will be retried automatically.

Examples

Market order

json
{
  "secret": "tt_sk_live_•••",
  "symbol": "BTCUSD",
  "side": "buy",
  "qty": 0.25
}

Limit order with tags

json
{
  "secret": "tt_sk_live_•••",
  "symbol": "AAPL",
  "side": "sell",
  "type": "limit",
  "qty": 50,
  "price": 182.35,
  "tif": "gtc",
  "tags": ["earnings-fade", "swing-v3"]
}

Close the position (flat)

json
{
  "secret": "tt_sk_live_•••",
  "symbol": "ETHUSD",
  "side": "flat"
}