curl --request POST \
--url https://api.example.com/api/graph/v1/action-cards-v2 \
--header 'Content-Type: application/json' \
--data '
{
"underlying_symbol": "<string>",
"instrument_symbol": "<string>",
"entry_price": 123,
"stop_loss": 123,
"targets": [
{
"price": 123,
"exit_pct": 50,
"label": "<string>"
}
],
"source_id": "<string>",
"group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"group_role": "<string>",
"contract": {
"symbol": "<string>",
"expiration": "<string>",
"strike": 123,
"delta": 123,
"gamma": 123,
"theta": 123,
"vega": 123,
"iv": 123,
"iv_percentile": 123,
"bid": 123,
"ask": 123,
"mid": 123,
"spread_pct": 123,
"oi": 123,
"volume": 123,
"dte": 123
},
"premium_levels": {
"entry": 123,
"stop": 123,
"t1": 123,
"t2": 123,
"breakeven": 123
},
"market_context": {
"regime": {
"classification": "<string>",
"confidence": 123,
"vix": 123,
"vix_context": "<string>"
},
"day_type": {
"classification": "<string>",
"confidence": 123,
"size_modifier": 123
},
"confluence": {
"bull": 123,
"bear": 123,
"net": 123,
"tier": "<string>",
"bias": "<string>"
},
"trend": {
"price": 123,
"ema20": 123,
"sma50": 123,
"sma200": 123,
"stack_valid": true
},
"volume": {
"rvol": 123,
"trend": "<string>",
"breakout_node": "<string>"
},
"institutional_levels": {
"vwap": 123,
"ib_high": 123,
"ib_low": 123,
"poc": 123,
"vah": 123,
"val": 123,
"pivots": {}
}
},
"sizing": {
"shares_or_contracts": 123,
"risk_per_unit": 123,
"risk_dollars": 123,
"position_value": 123,
"portfolio_heat_pct": 123,
"day_type_modifier": 123,
"vix_modifier": 123,
"consecutive_loss_modifier": 123
},
"entry_plan": {
"order_type": "<string>",
"limit_price": 123,
"trigger_conditions": [
"<string>"
],
"trigger_type": "<string>",
"trigger_level": 123,
"entry_zone": {},
"scaling": [
{}
],
"invalidation": "<string>",
"time_window": "<string>"
},
"exit_plan": {
"stop_type": "<string>",
"trail_offset": 123,
"time_stop": "<string>",
"partial_targets": [
{}
],
"stop_management": {},
"time_stops": {},
"invalidations": [
{}
]
},
"risk_context": {
"portfolio_heat_before": 123,
"portfolio_heat_after": 123,
"correlated_positions": [
"<string>"
],
"max_daily_loss_used": 123,
"gates_passed": [
"<string>"
],
"gates_failed": [
"<string>"
],
"daily_pnl_pct": 123,
"weekly_pnl_pct": 123,
"open_positions": 123,
"available_slots": 123,
"cleared_to_trade": true
},
"validation": {
"confidence": 123,
"key_risk": "<string>",
"debate_id": "<string>",
"thesis_alignment": "<string>",
"edge_quality": "<string>",
"deciding_factors": [
"<string>"
],
"agent_session_id": "<string>",
"reasoning": "<string>",
"pop": 123,
"pop_source": "<string>",
"pop_sample_size": 123,
"rationale": "<string>"
},
"backtest_edge": {
"total_trades": 123,
"win_rate": 123,
"avg_r": 123,
"profit_factor": 123,
"edge_quality": "<string>",
"similar_setups": [
{}
]
},
"time_validity": "<string>",
"risk_reward": 123
}
'import requests
url = "https://api.example.com/api/graph/v1/action-cards-v2"
payload = {
"underlying_symbol": "<string>",
"instrument_symbol": "<string>",
"entry_price": 123,
"stop_loss": 123,
"targets": [
{
"price": 123,
"exit_pct": 50,
"label": "<string>"
}
],
"source_id": "<string>",
"group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"group_role": "<string>",
"contract": {
"symbol": "<string>",
"expiration": "<string>",
"strike": 123,
"delta": 123,
"gamma": 123,
"theta": 123,
"vega": 123,
"iv": 123,
"iv_percentile": 123,
"bid": 123,
"ask": 123,
"mid": 123,
"spread_pct": 123,
"oi": 123,
"volume": 123,
"dte": 123
},
"premium_levels": {
"entry": 123,
"stop": 123,
"t1": 123,
"t2": 123,
"breakeven": 123
},
"market_context": {
"regime": {
"classification": "<string>",
"confidence": 123,
"vix": 123,
"vix_context": "<string>"
},
"day_type": {
"classification": "<string>",
"confidence": 123,
"size_modifier": 123
},
"confluence": {
"bull": 123,
"bear": 123,
"net": 123,
"tier": "<string>",
"bias": "<string>"
},
"trend": {
"price": 123,
"ema20": 123,
"sma50": 123,
"sma200": 123,
"stack_valid": True
},
"volume": {
"rvol": 123,
"trend": "<string>",
"breakout_node": "<string>"
},
"institutional_levels": {
"vwap": 123,
"ib_high": 123,
"ib_low": 123,
"poc": 123,
"vah": 123,
"val": 123,
"pivots": {}
}
},
"sizing": {
"shares_or_contracts": 123,
"risk_per_unit": 123,
"risk_dollars": 123,
"position_value": 123,
"portfolio_heat_pct": 123,
"day_type_modifier": 123,
"vix_modifier": 123,
"consecutive_loss_modifier": 123
},
"entry_plan": {
"order_type": "<string>",
"limit_price": 123,
"trigger_conditions": ["<string>"],
"trigger_type": "<string>",
"trigger_level": 123,
"entry_zone": {},
"scaling": [{}],
"invalidation": "<string>",
"time_window": "<string>"
},
"exit_plan": {
"stop_type": "<string>",
"trail_offset": 123,
"time_stop": "<string>",
"partial_targets": [{}],
"stop_management": {},
"time_stops": {},
"invalidations": [{}]
},
"risk_context": {
"portfolio_heat_before": 123,
"portfolio_heat_after": 123,
"correlated_positions": ["<string>"],
"max_daily_loss_used": 123,
"gates_passed": ["<string>"],
"gates_failed": ["<string>"],
"daily_pnl_pct": 123,
"weekly_pnl_pct": 123,
"open_positions": 123,
"available_slots": 123,
"cleared_to_trade": True
},
"validation": {
"confidence": 123,
"key_risk": "<string>",
"debate_id": "<string>",
"thesis_alignment": "<string>",
"edge_quality": "<string>",
"deciding_factors": ["<string>"],
"agent_session_id": "<string>",
"reasoning": "<string>",
"pop": 123,
"pop_source": "<string>",
"pop_sample_size": 123,
"rationale": "<string>"
},
"backtest_edge": {
"total_trades": 123,
"win_rate": 123,
"avg_r": 123,
"profit_factor": 123,
"edge_quality": "<string>",
"similar_setups": [{}]
},
"time_validity": "<string>",
"risk_reward": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
underlying_symbol: '<string>',
instrument_symbol: '<string>',
entry_price: 123,
stop_loss: 123,
targets: [{price: 123, exit_pct: 50, label: '<string>'}],
source_id: '<string>',
group_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
group_role: '<string>',
contract: {
symbol: '<string>',
expiration: '<string>',
strike: 123,
delta: 123,
gamma: 123,
theta: 123,
vega: 123,
iv: 123,
iv_percentile: 123,
bid: 123,
ask: 123,
mid: 123,
spread_pct: 123,
oi: 123,
volume: 123,
dte: 123
},
premium_levels: {entry: 123, stop: 123, t1: 123, t2: 123, breakeven: 123},
market_context: {
regime: {classification: '<string>', confidence: 123, vix: 123, vix_context: '<string>'},
day_type: {classification: '<string>', confidence: 123, size_modifier: 123},
confluence: {bull: 123, bear: 123, net: 123, tier: '<string>', bias: '<string>'},
trend: {price: 123, ema20: 123, sma50: 123, sma200: 123, stack_valid: true},
volume: {rvol: 123, trend: '<string>', breakout_node: '<string>'},
institutional_levels: {vwap: 123, ib_high: 123, ib_low: 123, poc: 123, vah: 123, val: 123, pivots: {}}
},
sizing: {
shares_or_contracts: 123,
risk_per_unit: 123,
risk_dollars: 123,
position_value: 123,
portfolio_heat_pct: 123,
day_type_modifier: 123,
vix_modifier: 123,
consecutive_loss_modifier: 123
},
entry_plan: {
order_type: '<string>',
limit_price: 123,
trigger_conditions: ['<string>'],
trigger_type: '<string>',
trigger_level: 123,
entry_zone: {},
scaling: [{}],
invalidation: '<string>',
time_window: '<string>'
},
exit_plan: {
stop_type: '<string>',
trail_offset: 123,
time_stop: '<string>',
partial_targets: [{}],
stop_management: {},
time_stops: {},
invalidations: [{}]
},
risk_context: {
portfolio_heat_before: 123,
portfolio_heat_after: 123,
correlated_positions: ['<string>'],
max_daily_loss_used: 123,
gates_passed: ['<string>'],
gates_failed: ['<string>'],
daily_pnl_pct: 123,
weekly_pnl_pct: 123,
open_positions: 123,
available_slots: 123,
cleared_to_trade: true
},
validation: {
confidence: 123,
key_risk: '<string>',
debate_id: '<string>',
thesis_alignment: '<string>',
edge_quality: '<string>',
deciding_factors: ['<string>'],
agent_session_id: '<string>',
reasoning: '<string>',
pop: 123,
pop_source: '<string>',
pop_sample_size: 123,
rationale: '<string>'
},
backtest_edge: {
total_trades: 123,
win_rate: 123,
avg_r: 123,
profit_factor: 123,
edge_quality: '<string>',
similar_setups: [{}]
},
time_validity: '<string>',
risk_reward: 123
})
};
fetch('https://api.example.com/api/graph/v1/action-cards-v2', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/graph/v1/action-cards-v2",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'underlying_symbol' => '<string>',
'instrument_symbol' => '<string>',
'entry_price' => 123,
'stop_loss' => 123,
'targets' => [
[
'price' => 123,
'exit_pct' => 50,
'label' => '<string>'
]
],
'source_id' => '<string>',
'group_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'group_role' => '<string>',
'contract' => [
'symbol' => '<string>',
'expiration' => '<string>',
'strike' => 123,
'delta' => 123,
'gamma' => 123,
'theta' => 123,
'vega' => 123,
'iv' => 123,
'iv_percentile' => 123,
'bid' => 123,
'ask' => 123,
'mid' => 123,
'spread_pct' => 123,
'oi' => 123,
'volume' => 123,
'dte' => 123
],
'premium_levels' => [
'entry' => 123,
'stop' => 123,
't1' => 123,
't2' => 123,
'breakeven' => 123
],
'market_context' => [
'regime' => [
'classification' => '<string>',
'confidence' => 123,
'vix' => 123,
'vix_context' => '<string>'
],
'day_type' => [
'classification' => '<string>',
'confidence' => 123,
'size_modifier' => 123
],
'confluence' => [
'bull' => 123,
'bear' => 123,
'net' => 123,
'tier' => '<string>',
'bias' => '<string>'
],
'trend' => [
'price' => 123,
'ema20' => 123,
'sma50' => 123,
'sma200' => 123,
'stack_valid' => true
],
'volume' => [
'rvol' => 123,
'trend' => '<string>',
'breakout_node' => '<string>'
],
'institutional_levels' => [
'vwap' => 123,
'ib_high' => 123,
'ib_low' => 123,
'poc' => 123,
'vah' => 123,
'val' => 123,
'pivots' => [
]
]
],
'sizing' => [
'shares_or_contracts' => 123,
'risk_per_unit' => 123,
'risk_dollars' => 123,
'position_value' => 123,
'portfolio_heat_pct' => 123,
'day_type_modifier' => 123,
'vix_modifier' => 123,
'consecutive_loss_modifier' => 123
],
'entry_plan' => [
'order_type' => '<string>',
'limit_price' => 123,
'trigger_conditions' => [
'<string>'
],
'trigger_type' => '<string>',
'trigger_level' => 123,
'entry_zone' => [
],
'scaling' => [
[
]
],
'invalidation' => '<string>',
'time_window' => '<string>'
],
'exit_plan' => [
'stop_type' => '<string>',
'trail_offset' => 123,
'time_stop' => '<string>',
'partial_targets' => [
[
]
],
'stop_management' => [
],
'time_stops' => [
],
'invalidations' => [
[
]
]
],
'risk_context' => [
'portfolio_heat_before' => 123,
'portfolio_heat_after' => 123,
'correlated_positions' => [
'<string>'
],
'max_daily_loss_used' => 123,
'gates_passed' => [
'<string>'
],
'gates_failed' => [
'<string>'
],
'daily_pnl_pct' => 123,
'weekly_pnl_pct' => 123,
'open_positions' => 123,
'available_slots' => 123,
'cleared_to_trade' => true
],
'validation' => [
'confidence' => 123,
'key_risk' => '<string>',
'debate_id' => '<string>',
'thesis_alignment' => '<string>',
'edge_quality' => '<string>',
'deciding_factors' => [
'<string>'
],
'agent_session_id' => '<string>',
'reasoning' => '<string>',
'pop' => 123,
'pop_source' => '<string>',
'pop_sample_size' => 123,
'rationale' => '<string>'
],
'backtest_edge' => [
'total_trades' => 123,
'win_rate' => 123,
'avg_r' => 123,
'profit_factor' => 123,
'edge_quality' => '<string>',
'similar_setups' => [
[
]
]
],
'time_validity' => '<string>',
'risk_reward' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/graph/v1/action-cards-v2"
payload := strings.NewReader("{\n \"underlying_symbol\": \"<string>\",\n \"instrument_symbol\": \"<string>\",\n \"entry_price\": 123,\n \"stop_loss\": 123,\n \"targets\": [\n {\n \"price\": 123,\n \"exit_pct\": 50,\n \"label\": \"<string>\"\n }\n ],\n \"source_id\": \"<string>\",\n \"group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"group_role\": \"<string>\",\n \"contract\": {\n \"symbol\": \"<string>\",\n \"expiration\": \"<string>\",\n \"strike\": 123,\n \"delta\": 123,\n \"gamma\": 123,\n \"theta\": 123,\n \"vega\": 123,\n \"iv\": 123,\n \"iv_percentile\": 123,\n \"bid\": 123,\n \"ask\": 123,\n \"mid\": 123,\n \"spread_pct\": 123,\n \"oi\": 123,\n \"volume\": 123,\n \"dte\": 123\n },\n \"premium_levels\": {\n \"entry\": 123,\n \"stop\": 123,\n \"t1\": 123,\n \"t2\": 123,\n \"breakeven\": 123\n },\n \"market_context\": {\n \"regime\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"vix\": 123,\n \"vix_context\": \"<string>\"\n },\n \"day_type\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"size_modifier\": 123\n },\n \"confluence\": {\n \"bull\": 123,\n \"bear\": 123,\n \"net\": 123,\n \"tier\": \"<string>\",\n \"bias\": \"<string>\"\n },\n \"trend\": {\n \"price\": 123,\n \"ema20\": 123,\n \"sma50\": 123,\n \"sma200\": 123,\n \"stack_valid\": true\n },\n \"volume\": {\n \"rvol\": 123,\n \"trend\": \"<string>\",\n \"breakout_node\": \"<string>\"\n },\n \"institutional_levels\": {\n \"vwap\": 123,\n \"ib_high\": 123,\n \"ib_low\": 123,\n \"poc\": 123,\n \"vah\": 123,\n \"val\": 123,\n \"pivots\": {}\n }\n },\n \"sizing\": {\n \"shares_or_contracts\": 123,\n \"risk_per_unit\": 123,\n \"risk_dollars\": 123,\n \"position_value\": 123,\n \"portfolio_heat_pct\": 123,\n \"day_type_modifier\": 123,\n \"vix_modifier\": 123,\n \"consecutive_loss_modifier\": 123\n },\n \"entry_plan\": {\n \"order_type\": \"<string>\",\n \"limit_price\": 123,\n \"trigger_conditions\": [\n \"<string>\"\n ],\n \"trigger_type\": \"<string>\",\n \"trigger_level\": 123,\n \"entry_zone\": {},\n \"scaling\": [\n {}\n ],\n \"invalidation\": \"<string>\",\n \"time_window\": \"<string>\"\n },\n \"exit_plan\": {\n \"stop_type\": \"<string>\",\n \"trail_offset\": 123,\n \"time_stop\": \"<string>\",\n \"partial_targets\": [\n {}\n ],\n \"stop_management\": {},\n \"time_stops\": {},\n \"invalidations\": [\n {}\n ]\n },\n \"risk_context\": {\n \"portfolio_heat_before\": 123,\n \"portfolio_heat_after\": 123,\n \"correlated_positions\": [\n \"<string>\"\n ],\n \"max_daily_loss_used\": 123,\n \"gates_passed\": [\n \"<string>\"\n ],\n \"gates_failed\": [\n \"<string>\"\n ],\n \"daily_pnl_pct\": 123,\n \"weekly_pnl_pct\": 123,\n \"open_positions\": 123,\n \"available_slots\": 123,\n \"cleared_to_trade\": true\n },\n \"validation\": {\n \"confidence\": 123,\n \"key_risk\": \"<string>\",\n \"debate_id\": \"<string>\",\n \"thesis_alignment\": \"<string>\",\n \"edge_quality\": \"<string>\",\n \"deciding_factors\": [\n \"<string>\"\n ],\n \"agent_session_id\": \"<string>\",\n \"reasoning\": \"<string>\",\n \"pop\": 123,\n \"pop_source\": \"<string>\",\n \"pop_sample_size\": 123,\n \"rationale\": \"<string>\"\n },\n \"backtest_edge\": {\n \"total_trades\": 123,\n \"win_rate\": 123,\n \"avg_r\": 123,\n \"profit_factor\": 123,\n \"edge_quality\": \"<string>\",\n \"similar_setups\": [\n {}\n ]\n },\n \"time_validity\": \"<string>\",\n \"risk_reward\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/graph/v1/action-cards-v2")
.header("Content-Type", "application/json")
.body("{\n \"underlying_symbol\": \"<string>\",\n \"instrument_symbol\": \"<string>\",\n \"entry_price\": 123,\n \"stop_loss\": 123,\n \"targets\": [\n {\n \"price\": 123,\n \"exit_pct\": 50,\n \"label\": \"<string>\"\n }\n ],\n \"source_id\": \"<string>\",\n \"group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"group_role\": \"<string>\",\n \"contract\": {\n \"symbol\": \"<string>\",\n \"expiration\": \"<string>\",\n \"strike\": 123,\n \"delta\": 123,\n \"gamma\": 123,\n \"theta\": 123,\n \"vega\": 123,\n \"iv\": 123,\n \"iv_percentile\": 123,\n \"bid\": 123,\n \"ask\": 123,\n \"mid\": 123,\n \"spread_pct\": 123,\n \"oi\": 123,\n \"volume\": 123,\n \"dte\": 123\n },\n \"premium_levels\": {\n \"entry\": 123,\n \"stop\": 123,\n \"t1\": 123,\n \"t2\": 123,\n \"breakeven\": 123\n },\n \"market_context\": {\n \"regime\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"vix\": 123,\n \"vix_context\": \"<string>\"\n },\n \"day_type\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"size_modifier\": 123\n },\n \"confluence\": {\n \"bull\": 123,\n \"bear\": 123,\n \"net\": 123,\n \"tier\": \"<string>\",\n \"bias\": \"<string>\"\n },\n \"trend\": {\n \"price\": 123,\n \"ema20\": 123,\n \"sma50\": 123,\n \"sma200\": 123,\n \"stack_valid\": true\n },\n \"volume\": {\n \"rvol\": 123,\n \"trend\": \"<string>\",\n \"breakout_node\": \"<string>\"\n },\n \"institutional_levels\": {\n \"vwap\": 123,\n \"ib_high\": 123,\n \"ib_low\": 123,\n \"poc\": 123,\n \"vah\": 123,\n \"val\": 123,\n \"pivots\": {}\n }\n },\n \"sizing\": {\n \"shares_or_contracts\": 123,\n \"risk_per_unit\": 123,\n \"risk_dollars\": 123,\n \"position_value\": 123,\n \"portfolio_heat_pct\": 123,\n \"day_type_modifier\": 123,\n \"vix_modifier\": 123,\n \"consecutive_loss_modifier\": 123\n },\n \"entry_plan\": {\n \"order_type\": \"<string>\",\n \"limit_price\": 123,\n \"trigger_conditions\": [\n \"<string>\"\n ],\n \"trigger_type\": \"<string>\",\n \"trigger_level\": 123,\n \"entry_zone\": {},\n \"scaling\": [\n {}\n ],\n \"invalidation\": \"<string>\",\n \"time_window\": \"<string>\"\n },\n \"exit_plan\": {\n \"stop_type\": \"<string>\",\n \"trail_offset\": 123,\n \"time_stop\": \"<string>\",\n \"partial_targets\": [\n {}\n ],\n \"stop_management\": {},\n \"time_stops\": {},\n \"invalidations\": [\n {}\n ]\n },\n \"risk_context\": {\n \"portfolio_heat_before\": 123,\n \"portfolio_heat_after\": 123,\n \"correlated_positions\": [\n \"<string>\"\n ],\n \"max_daily_loss_used\": 123,\n \"gates_passed\": [\n \"<string>\"\n ],\n \"gates_failed\": [\n \"<string>\"\n ],\n \"daily_pnl_pct\": 123,\n \"weekly_pnl_pct\": 123,\n \"open_positions\": 123,\n \"available_slots\": 123,\n \"cleared_to_trade\": true\n },\n \"validation\": {\n \"confidence\": 123,\n \"key_risk\": \"<string>\",\n \"debate_id\": \"<string>\",\n \"thesis_alignment\": \"<string>\",\n \"edge_quality\": \"<string>\",\n \"deciding_factors\": [\n \"<string>\"\n ],\n \"agent_session_id\": \"<string>\",\n \"reasoning\": \"<string>\",\n \"pop\": 123,\n \"pop_source\": \"<string>\",\n \"pop_sample_size\": 123,\n \"rationale\": \"<string>\"\n },\n \"backtest_edge\": {\n \"total_trades\": 123,\n \"win_rate\": 123,\n \"avg_r\": 123,\n \"profit_factor\": 123,\n \"edge_quality\": \"<string>\",\n \"similar_setups\": [\n {}\n ]\n },\n \"time_validity\": \"<string>\",\n \"risk_reward\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/graph/v1/action-cards-v2")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"underlying_symbol\": \"<string>\",\n \"instrument_symbol\": \"<string>\",\n \"entry_price\": 123,\n \"stop_loss\": 123,\n \"targets\": [\n {\n \"price\": 123,\n \"exit_pct\": 50,\n \"label\": \"<string>\"\n }\n ],\n \"source_id\": \"<string>\",\n \"group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"group_role\": \"<string>\",\n \"contract\": {\n \"symbol\": \"<string>\",\n \"expiration\": \"<string>\",\n \"strike\": 123,\n \"delta\": 123,\n \"gamma\": 123,\n \"theta\": 123,\n \"vega\": 123,\n \"iv\": 123,\n \"iv_percentile\": 123,\n \"bid\": 123,\n \"ask\": 123,\n \"mid\": 123,\n \"spread_pct\": 123,\n \"oi\": 123,\n \"volume\": 123,\n \"dte\": 123\n },\n \"premium_levels\": {\n \"entry\": 123,\n \"stop\": 123,\n \"t1\": 123,\n \"t2\": 123,\n \"breakeven\": 123\n },\n \"market_context\": {\n \"regime\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"vix\": 123,\n \"vix_context\": \"<string>\"\n },\n \"day_type\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"size_modifier\": 123\n },\n \"confluence\": {\n \"bull\": 123,\n \"bear\": 123,\n \"net\": 123,\n \"tier\": \"<string>\",\n \"bias\": \"<string>\"\n },\n \"trend\": {\n \"price\": 123,\n \"ema20\": 123,\n \"sma50\": 123,\n \"sma200\": 123,\n \"stack_valid\": true\n },\n \"volume\": {\n \"rvol\": 123,\n \"trend\": \"<string>\",\n \"breakout_node\": \"<string>\"\n },\n \"institutional_levels\": {\n \"vwap\": 123,\n \"ib_high\": 123,\n \"ib_low\": 123,\n \"poc\": 123,\n \"vah\": 123,\n \"val\": 123,\n \"pivots\": {}\n }\n },\n \"sizing\": {\n \"shares_or_contracts\": 123,\n \"risk_per_unit\": 123,\n \"risk_dollars\": 123,\n \"position_value\": 123,\n \"portfolio_heat_pct\": 123,\n \"day_type_modifier\": 123,\n \"vix_modifier\": 123,\n \"consecutive_loss_modifier\": 123\n },\n \"entry_plan\": {\n \"order_type\": \"<string>\",\n \"limit_price\": 123,\n \"trigger_conditions\": [\n \"<string>\"\n ],\n \"trigger_type\": \"<string>\",\n \"trigger_level\": 123,\n \"entry_zone\": {},\n \"scaling\": [\n {}\n ],\n \"invalidation\": \"<string>\",\n \"time_window\": \"<string>\"\n },\n \"exit_plan\": {\n \"stop_type\": \"<string>\",\n \"trail_offset\": 123,\n \"time_stop\": \"<string>\",\n \"partial_targets\": [\n {}\n ],\n \"stop_management\": {},\n \"time_stops\": {},\n \"invalidations\": [\n {}\n ]\n },\n \"risk_context\": {\n \"portfolio_heat_before\": 123,\n \"portfolio_heat_after\": 123,\n \"correlated_positions\": [\n \"<string>\"\n ],\n \"max_daily_loss_used\": 123,\n \"gates_passed\": [\n \"<string>\"\n ],\n \"gates_failed\": [\n \"<string>\"\n ],\n \"daily_pnl_pct\": 123,\n \"weekly_pnl_pct\": 123,\n \"open_positions\": 123,\n \"available_slots\": 123,\n \"cleared_to_trade\": true\n },\n \"validation\": {\n \"confidence\": 123,\n \"key_risk\": \"<string>\",\n \"debate_id\": \"<string>\",\n \"thesis_alignment\": \"<string>\",\n \"edge_quality\": \"<string>\",\n \"deciding_factors\": [\n \"<string>\"\n ],\n \"agent_session_id\": \"<string>\",\n \"reasoning\": \"<string>\",\n \"pop\": 123,\n \"pop_source\": \"<string>\",\n \"pop_sample_size\": 123,\n \"rationale\": \"<string>\"\n },\n \"backtest_edge\": {\n \"total_trades\": 123,\n \"win_rate\": 123,\n \"avg_r\": 123,\n \"profit_factor\": 123,\n \"edge_quality\": \"<string>\",\n \"similar_setups\": [\n {}\n ]\n },\n \"time_validity\": \"<string>\",\n \"risk_reward\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "manual",
"underlying_symbol": "<string>",
"instrument_type": "equity",
"instrument_symbol": "<string>",
"direction": "LONG",
"timeframe": "intraday",
"entry_price": "<string>",
"stop_loss": "<string>",
"targets": [
{
"price": "<string>",
"exit_pct": 50,
"label": "<string>"
}
],
"status": "draft",
"completeness": "skeleton",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"risk_reward": "<string>",
"source_id": "<string>",
"group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"group_role": "<string>",
"contract": {
"symbol": "<string>",
"expiration": "<string>",
"strike": "<string>",
"option_type": "call",
"delta": 123,
"gamma": 123,
"theta": 123,
"vega": 123,
"iv": 123,
"iv_percentile": 123,
"bid": "<string>",
"ask": "<string>",
"mid": "<string>",
"spread_pct": 123,
"oi": 123,
"volume": 123,
"dte": 123
},
"premium_levels": {
"entry": "<string>",
"stop": "<string>",
"t1": "<string>",
"t2": "<string>",
"breakeven": "<string>"
},
"market_context": {
"regime": {
"classification": "<string>",
"confidence": 123,
"vix": 123,
"vix_context": "<string>"
},
"day_type": {
"classification": "<string>",
"confidence": 123,
"size_modifier": 123
},
"confluence": {
"bull": 123,
"bear": 123,
"net": 123,
"tier": "<string>",
"bias": "<string>"
},
"trend": {
"price": 123,
"ema20": 123,
"sma50": 123,
"sma200": 123,
"stack_valid": true
},
"volume": {
"rvol": 123,
"trend": "<string>",
"breakout_node": "<string>"
},
"institutional_levels": {
"vwap": 123,
"ib_high": 123,
"ib_low": 123,
"poc": 123,
"vah": 123,
"val": 123,
"pivots": {}
}
},
"sizing": {
"shares_or_contracts": 123,
"risk_per_unit": "<string>",
"risk_dollars": "<string>",
"position_value": "<string>",
"portfolio_heat_pct": 123,
"day_type_modifier": 123,
"vix_modifier": 123,
"consecutive_loss_modifier": 123
},
"entry_plan": {
"order_type": "<string>",
"limit_price": "<string>",
"trigger_conditions": [
"<string>"
],
"trigger_type": "<string>",
"trigger_level": "<string>",
"entry_zone": {},
"scaling": [
{}
],
"invalidation": "<string>",
"time_window": "<string>"
},
"exit_plan": {
"stop_type": "<string>",
"trail_offset": "<string>",
"time_stop": "<string>",
"partial_targets": [
{}
],
"stop_management": {},
"time_stops": {},
"invalidations": [
{}
]
},
"risk_context": {
"portfolio_heat_before": 123,
"portfolio_heat_after": 123,
"correlated_positions": [
"<string>"
],
"max_daily_loss_used": 123,
"gates_passed": [
"<string>"
],
"gates_failed": [
"<string>"
],
"daily_pnl_pct": 123,
"weekly_pnl_pct": 123,
"open_positions": 123,
"available_slots": 123,
"cleared_to_trade": true
},
"validation": {
"confidence": 123,
"key_risk": "<string>",
"debate_id": "<string>",
"thesis_alignment": "<string>",
"edge_quality": "<string>",
"deciding_factors": [
"<string>"
],
"agent_session_id": "<string>",
"reasoning": "<string>",
"pop": 123,
"pop_source": "<string>",
"pop_sample_size": 123,
"rationale": "<string>"
},
"backtest_edge": {
"total_trades": 123,
"win_rate": 123,
"avg_r": 123,
"profit_factor": 123,
"edge_quality": "<string>",
"similar_setups": [
{}
]
},
"execution_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"outcome": {
"pnl_dollars": "<string>",
"pnl_pct": 123,
"r_multiple": 123,
"exit_reason": "<string>",
"hold_days": 123,
"filled_price": "<string>",
"closed_at": "2023-11-07T05:31:56Z"
},
"time_validity": "<string>",
"change_log": [
{}
],
"expires_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Create action card
Create a new action card with auto-enrichment.
Accepts sparse payloads (manual) or rich payloads (debate/agent). Enrichment pipeline fills market context, sizing, and risk automatically.
curl --request POST \
--url https://api.example.com/api/graph/v1/action-cards-v2 \
--header 'Content-Type: application/json' \
--data '
{
"underlying_symbol": "<string>",
"instrument_symbol": "<string>",
"entry_price": 123,
"stop_loss": 123,
"targets": [
{
"price": 123,
"exit_pct": 50,
"label": "<string>"
}
],
"source_id": "<string>",
"group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"group_role": "<string>",
"contract": {
"symbol": "<string>",
"expiration": "<string>",
"strike": 123,
"delta": 123,
"gamma": 123,
"theta": 123,
"vega": 123,
"iv": 123,
"iv_percentile": 123,
"bid": 123,
"ask": 123,
"mid": 123,
"spread_pct": 123,
"oi": 123,
"volume": 123,
"dte": 123
},
"premium_levels": {
"entry": 123,
"stop": 123,
"t1": 123,
"t2": 123,
"breakeven": 123
},
"market_context": {
"regime": {
"classification": "<string>",
"confidence": 123,
"vix": 123,
"vix_context": "<string>"
},
"day_type": {
"classification": "<string>",
"confidence": 123,
"size_modifier": 123
},
"confluence": {
"bull": 123,
"bear": 123,
"net": 123,
"tier": "<string>",
"bias": "<string>"
},
"trend": {
"price": 123,
"ema20": 123,
"sma50": 123,
"sma200": 123,
"stack_valid": true
},
"volume": {
"rvol": 123,
"trend": "<string>",
"breakout_node": "<string>"
},
"institutional_levels": {
"vwap": 123,
"ib_high": 123,
"ib_low": 123,
"poc": 123,
"vah": 123,
"val": 123,
"pivots": {}
}
},
"sizing": {
"shares_or_contracts": 123,
"risk_per_unit": 123,
"risk_dollars": 123,
"position_value": 123,
"portfolio_heat_pct": 123,
"day_type_modifier": 123,
"vix_modifier": 123,
"consecutive_loss_modifier": 123
},
"entry_plan": {
"order_type": "<string>",
"limit_price": 123,
"trigger_conditions": [
"<string>"
],
"trigger_type": "<string>",
"trigger_level": 123,
"entry_zone": {},
"scaling": [
{}
],
"invalidation": "<string>",
"time_window": "<string>"
},
"exit_plan": {
"stop_type": "<string>",
"trail_offset": 123,
"time_stop": "<string>",
"partial_targets": [
{}
],
"stop_management": {},
"time_stops": {},
"invalidations": [
{}
]
},
"risk_context": {
"portfolio_heat_before": 123,
"portfolio_heat_after": 123,
"correlated_positions": [
"<string>"
],
"max_daily_loss_used": 123,
"gates_passed": [
"<string>"
],
"gates_failed": [
"<string>"
],
"daily_pnl_pct": 123,
"weekly_pnl_pct": 123,
"open_positions": 123,
"available_slots": 123,
"cleared_to_trade": true
},
"validation": {
"confidence": 123,
"key_risk": "<string>",
"debate_id": "<string>",
"thesis_alignment": "<string>",
"edge_quality": "<string>",
"deciding_factors": [
"<string>"
],
"agent_session_id": "<string>",
"reasoning": "<string>",
"pop": 123,
"pop_source": "<string>",
"pop_sample_size": 123,
"rationale": "<string>"
},
"backtest_edge": {
"total_trades": 123,
"win_rate": 123,
"avg_r": 123,
"profit_factor": 123,
"edge_quality": "<string>",
"similar_setups": [
{}
]
},
"time_validity": "<string>",
"risk_reward": 123
}
'import requests
url = "https://api.example.com/api/graph/v1/action-cards-v2"
payload = {
"underlying_symbol": "<string>",
"instrument_symbol": "<string>",
"entry_price": 123,
"stop_loss": 123,
"targets": [
{
"price": 123,
"exit_pct": 50,
"label": "<string>"
}
],
"source_id": "<string>",
"group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"group_role": "<string>",
"contract": {
"symbol": "<string>",
"expiration": "<string>",
"strike": 123,
"delta": 123,
"gamma": 123,
"theta": 123,
"vega": 123,
"iv": 123,
"iv_percentile": 123,
"bid": 123,
"ask": 123,
"mid": 123,
"spread_pct": 123,
"oi": 123,
"volume": 123,
"dte": 123
},
"premium_levels": {
"entry": 123,
"stop": 123,
"t1": 123,
"t2": 123,
"breakeven": 123
},
"market_context": {
"regime": {
"classification": "<string>",
"confidence": 123,
"vix": 123,
"vix_context": "<string>"
},
"day_type": {
"classification": "<string>",
"confidence": 123,
"size_modifier": 123
},
"confluence": {
"bull": 123,
"bear": 123,
"net": 123,
"tier": "<string>",
"bias": "<string>"
},
"trend": {
"price": 123,
"ema20": 123,
"sma50": 123,
"sma200": 123,
"stack_valid": True
},
"volume": {
"rvol": 123,
"trend": "<string>",
"breakout_node": "<string>"
},
"institutional_levels": {
"vwap": 123,
"ib_high": 123,
"ib_low": 123,
"poc": 123,
"vah": 123,
"val": 123,
"pivots": {}
}
},
"sizing": {
"shares_or_contracts": 123,
"risk_per_unit": 123,
"risk_dollars": 123,
"position_value": 123,
"portfolio_heat_pct": 123,
"day_type_modifier": 123,
"vix_modifier": 123,
"consecutive_loss_modifier": 123
},
"entry_plan": {
"order_type": "<string>",
"limit_price": 123,
"trigger_conditions": ["<string>"],
"trigger_type": "<string>",
"trigger_level": 123,
"entry_zone": {},
"scaling": [{}],
"invalidation": "<string>",
"time_window": "<string>"
},
"exit_plan": {
"stop_type": "<string>",
"trail_offset": 123,
"time_stop": "<string>",
"partial_targets": [{}],
"stop_management": {},
"time_stops": {},
"invalidations": [{}]
},
"risk_context": {
"portfolio_heat_before": 123,
"portfolio_heat_after": 123,
"correlated_positions": ["<string>"],
"max_daily_loss_used": 123,
"gates_passed": ["<string>"],
"gates_failed": ["<string>"],
"daily_pnl_pct": 123,
"weekly_pnl_pct": 123,
"open_positions": 123,
"available_slots": 123,
"cleared_to_trade": True
},
"validation": {
"confidence": 123,
"key_risk": "<string>",
"debate_id": "<string>",
"thesis_alignment": "<string>",
"edge_quality": "<string>",
"deciding_factors": ["<string>"],
"agent_session_id": "<string>",
"reasoning": "<string>",
"pop": 123,
"pop_source": "<string>",
"pop_sample_size": 123,
"rationale": "<string>"
},
"backtest_edge": {
"total_trades": 123,
"win_rate": 123,
"avg_r": 123,
"profit_factor": 123,
"edge_quality": "<string>",
"similar_setups": [{}]
},
"time_validity": "<string>",
"risk_reward": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
underlying_symbol: '<string>',
instrument_symbol: '<string>',
entry_price: 123,
stop_loss: 123,
targets: [{price: 123, exit_pct: 50, label: '<string>'}],
source_id: '<string>',
group_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
group_role: '<string>',
contract: {
symbol: '<string>',
expiration: '<string>',
strike: 123,
delta: 123,
gamma: 123,
theta: 123,
vega: 123,
iv: 123,
iv_percentile: 123,
bid: 123,
ask: 123,
mid: 123,
spread_pct: 123,
oi: 123,
volume: 123,
dte: 123
},
premium_levels: {entry: 123, stop: 123, t1: 123, t2: 123, breakeven: 123},
market_context: {
regime: {classification: '<string>', confidence: 123, vix: 123, vix_context: '<string>'},
day_type: {classification: '<string>', confidence: 123, size_modifier: 123},
confluence: {bull: 123, bear: 123, net: 123, tier: '<string>', bias: '<string>'},
trend: {price: 123, ema20: 123, sma50: 123, sma200: 123, stack_valid: true},
volume: {rvol: 123, trend: '<string>', breakout_node: '<string>'},
institutional_levels: {vwap: 123, ib_high: 123, ib_low: 123, poc: 123, vah: 123, val: 123, pivots: {}}
},
sizing: {
shares_or_contracts: 123,
risk_per_unit: 123,
risk_dollars: 123,
position_value: 123,
portfolio_heat_pct: 123,
day_type_modifier: 123,
vix_modifier: 123,
consecutive_loss_modifier: 123
},
entry_plan: {
order_type: '<string>',
limit_price: 123,
trigger_conditions: ['<string>'],
trigger_type: '<string>',
trigger_level: 123,
entry_zone: {},
scaling: [{}],
invalidation: '<string>',
time_window: '<string>'
},
exit_plan: {
stop_type: '<string>',
trail_offset: 123,
time_stop: '<string>',
partial_targets: [{}],
stop_management: {},
time_stops: {},
invalidations: [{}]
},
risk_context: {
portfolio_heat_before: 123,
portfolio_heat_after: 123,
correlated_positions: ['<string>'],
max_daily_loss_used: 123,
gates_passed: ['<string>'],
gates_failed: ['<string>'],
daily_pnl_pct: 123,
weekly_pnl_pct: 123,
open_positions: 123,
available_slots: 123,
cleared_to_trade: true
},
validation: {
confidence: 123,
key_risk: '<string>',
debate_id: '<string>',
thesis_alignment: '<string>',
edge_quality: '<string>',
deciding_factors: ['<string>'],
agent_session_id: '<string>',
reasoning: '<string>',
pop: 123,
pop_source: '<string>',
pop_sample_size: 123,
rationale: '<string>'
},
backtest_edge: {
total_trades: 123,
win_rate: 123,
avg_r: 123,
profit_factor: 123,
edge_quality: '<string>',
similar_setups: [{}]
},
time_validity: '<string>',
risk_reward: 123
})
};
fetch('https://api.example.com/api/graph/v1/action-cards-v2', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/graph/v1/action-cards-v2",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'underlying_symbol' => '<string>',
'instrument_symbol' => '<string>',
'entry_price' => 123,
'stop_loss' => 123,
'targets' => [
[
'price' => 123,
'exit_pct' => 50,
'label' => '<string>'
]
],
'source_id' => '<string>',
'group_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'group_role' => '<string>',
'contract' => [
'symbol' => '<string>',
'expiration' => '<string>',
'strike' => 123,
'delta' => 123,
'gamma' => 123,
'theta' => 123,
'vega' => 123,
'iv' => 123,
'iv_percentile' => 123,
'bid' => 123,
'ask' => 123,
'mid' => 123,
'spread_pct' => 123,
'oi' => 123,
'volume' => 123,
'dte' => 123
],
'premium_levels' => [
'entry' => 123,
'stop' => 123,
't1' => 123,
't2' => 123,
'breakeven' => 123
],
'market_context' => [
'regime' => [
'classification' => '<string>',
'confidence' => 123,
'vix' => 123,
'vix_context' => '<string>'
],
'day_type' => [
'classification' => '<string>',
'confidence' => 123,
'size_modifier' => 123
],
'confluence' => [
'bull' => 123,
'bear' => 123,
'net' => 123,
'tier' => '<string>',
'bias' => '<string>'
],
'trend' => [
'price' => 123,
'ema20' => 123,
'sma50' => 123,
'sma200' => 123,
'stack_valid' => true
],
'volume' => [
'rvol' => 123,
'trend' => '<string>',
'breakout_node' => '<string>'
],
'institutional_levels' => [
'vwap' => 123,
'ib_high' => 123,
'ib_low' => 123,
'poc' => 123,
'vah' => 123,
'val' => 123,
'pivots' => [
]
]
],
'sizing' => [
'shares_or_contracts' => 123,
'risk_per_unit' => 123,
'risk_dollars' => 123,
'position_value' => 123,
'portfolio_heat_pct' => 123,
'day_type_modifier' => 123,
'vix_modifier' => 123,
'consecutive_loss_modifier' => 123
],
'entry_plan' => [
'order_type' => '<string>',
'limit_price' => 123,
'trigger_conditions' => [
'<string>'
],
'trigger_type' => '<string>',
'trigger_level' => 123,
'entry_zone' => [
],
'scaling' => [
[
]
],
'invalidation' => '<string>',
'time_window' => '<string>'
],
'exit_plan' => [
'stop_type' => '<string>',
'trail_offset' => 123,
'time_stop' => '<string>',
'partial_targets' => [
[
]
],
'stop_management' => [
],
'time_stops' => [
],
'invalidations' => [
[
]
]
],
'risk_context' => [
'portfolio_heat_before' => 123,
'portfolio_heat_after' => 123,
'correlated_positions' => [
'<string>'
],
'max_daily_loss_used' => 123,
'gates_passed' => [
'<string>'
],
'gates_failed' => [
'<string>'
],
'daily_pnl_pct' => 123,
'weekly_pnl_pct' => 123,
'open_positions' => 123,
'available_slots' => 123,
'cleared_to_trade' => true
],
'validation' => [
'confidence' => 123,
'key_risk' => '<string>',
'debate_id' => '<string>',
'thesis_alignment' => '<string>',
'edge_quality' => '<string>',
'deciding_factors' => [
'<string>'
],
'agent_session_id' => '<string>',
'reasoning' => '<string>',
'pop' => 123,
'pop_source' => '<string>',
'pop_sample_size' => 123,
'rationale' => '<string>'
],
'backtest_edge' => [
'total_trades' => 123,
'win_rate' => 123,
'avg_r' => 123,
'profit_factor' => 123,
'edge_quality' => '<string>',
'similar_setups' => [
[
]
]
],
'time_validity' => '<string>',
'risk_reward' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/graph/v1/action-cards-v2"
payload := strings.NewReader("{\n \"underlying_symbol\": \"<string>\",\n \"instrument_symbol\": \"<string>\",\n \"entry_price\": 123,\n \"stop_loss\": 123,\n \"targets\": [\n {\n \"price\": 123,\n \"exit_pct\": 50,\n \"label\": \"<string>\"\n }\n ],\n \"source_id\": \"<string>\",\n \"group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"group_role\": \"<string>\",\n \"contract\": {\n \"symbol\": \"<string>\",\n \"expiration\": \"<string>\",\n \"strike\": 123,\n \"delta\": 123,\n \"gamma\": 123,\n \"theta\": 123,\n \"vega\": 123,\n \"iv\": 123,\n \"iv_percentile\": 123,\n \"bid\": 123,\n \"ask\": 123,\n \"mid\": 123,\n \"spread_pct\": 123,\n \"oi\": 123,\n \"volume\": 123,\n \"dte\": 123\n },\n \"premium_levels\": {\n \"entry\": 123,\n \"stop\": 123,\n \"t1\": 123,\n \"t2\": 123,\n \"breakeven\": 123\n },\n \"market_context\": {\n \"regime\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"vix\": 123,\n \"vix_context\": \"<string>\"\n },\n \"day_type\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"size_modifier\": 123\n },\n \"confluence\": {\n \"bull\": 123,\n \"bear\": 123,\n \"net\": 123,\n \"tier\": \"<string>\",\n \"bias\": \"<string>\"\n },\n \"trend\": {\n \"price\": 123,\n \"ema20\": 123,\n \"sma50\": 123,\n \"sma200\": 123,\n \"stack_valid\": true\n },\n \"volume\": {\n \"rvol\": 123,\n \"trend\": \"<string>\",\n \"breakout_node\": \"<string>\"\n },\n \"institutional_levels\": {\n \"vwap\": 123,\n \"ib_high\": 123,\n \"ib_low\": 123,\n \"poc\": 123,\n \"vah\": 123,\n \"val\": 123,\n \"pivots\": {}\n }\n },\n \"sizing\": {\n \"shares_or_contracts\": 123,\n \"risk_per_unit\": 123,\n \"risk_dollars\": 123,\n \"position_value\": 123,\n \"portfolio_heat_pct\": 123,\n \"day_type_modifier\": 123,\n \"vix_modifier\": 123,\n \"consecutive_loss_modifier\": 123\n },\n \"entry_plan\": {\n \"order_type\": \"<string>\",\n \"limit_price\": 123,\n \"trigger_conditions\": [\n \"<string>\"\n ],\n \"trigger_type\": \"<string>\",\n \"trigger_level\": 123,\n \"entry_zone\": {},\n \"scaling\": [\n {}\n ],\n \"invalidation\": \"<string>\",\n \"time_window\": \"<string>\"\n },\n \"exit_plan\": {\n \"stop_type\": \"<string>\",\n \"trail_offset\": 123,\n \"time_stop\": \"<string>\",\n \"partial_targets\": [\n {}\n ],\n \"stop_management\": {},\n \"time_stops\": {},\n \"invalidations\": [\n {}\n ]\n },\n \"risk_context\": {\n \"portfolio_heat_before\": 123,\n \"portfolio_heat_after\": 123,\n \"correlated_positions\": [\n \"<string>\"\n ],\n \"max_daily_loss_used\": 123,\n \"gates_passed\": [\n \"<string>\"\n ],\n \"gates_failed\": [\n \"<string>\"\n ],\n \"daily_pnl_pct\": 123,\n \"weekly_pnl_pct\": 123,\n \"open_positions\": 123,\n \"available_slots\": 123,\n \"cleared_to_trade\": true\n },\n \"validation\": {\n \"confidence\": 123,\n \"key_risk\": \"<string>\",\n \"debate_id\": \"<string>\",\n \"thesis_alignment\": \"<string>\",\n \"edge_quality\": \"<string>\",\n \"deciding_factors\": [\n \"<string>\"\n ],\n \"agent_session_id\": \"<string>\",\n \"reasoning\": \"<string>\",\n \"pop\": 123,\n \"pop_source\": \"<string>\",\n \"pop_sample_size\": 123,\n \"rationale\": \"<string>\"\n },\n \"backtest_edge\": {\n \"total_trades\": 123,\n \"win_rate\": 123,\n \"avg_r\": 123,\n \"profit_factor\": 123,\n \"edge_quality\": \"<string>\",\n \"similar_setups\": [\n {}\n ]\n },\n \"time_validity\": \"<string>\",\n \"risk_reward\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/graph/v1/action-cards-v2")
.header("Content-Type", "application/json")
.body("{\n \"underlying_symbol\": \"<string>\",\n \"instrument_symbol\": \"<string>\",\n \"entry_price\": 123,\n \"stop_loss\": 123,\n \"targets\": [\n {\n \"price\": 123,\n \"exit_pct\": 50,\n \"label\": \"<string>\"\n }\n ],\n \"source_id\": \"<string>\",\n \"group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"group_role\": \"<string>\",\n \"contract\": {\n \"symbol\": \"<string>\",\n \"expiration\": \"<string>\",\n \"strike\": 123,\n \"delta\": 123,\n \"gamma\": 123,\n \"theta\": 123,\n \"vega\": 123,\n \"iv\": 123,\n \"iv_percentile\": 123,\n \"bid\": 123,\n \"ask\": 123,\n \"mid\": 123,\n \"spread_pct\": 123,\n \"oi\": 123,\n \"volume\": 123,\n \"dte\": 123\n },\n \"premium_levels\": {\n \"entry\": 123,\n \"stop\": 123,\n \"t1\": 123,\n \"t2\": 123,\n \"breakeven\": 123\n },\n \"market_context\": {\n \"regime\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"vix\": 123,\n \"vix_context\": \"<string>\"\n },\n \"day_type\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"size_modifier\": 123\n },\n \"confluence\": {\n \"bull\": 123,\n \"bear\": 123,\n \"net\": 123,\n \"tier\": \"<string>\",\n \"bias\": \"<string>\"\n },\n \"trend\": {\n \"price\": 123,\n \"ema20\": 123,\n \"sma50\": 123,\n \"sma200\": 123,\n \"stack_valid\": true\n },\n \"volume\": {\n \"rvol\": 123,\n \"trend\": \"<string>\",\n \"breakout_node\": \"<string>\"\n },\n \"institutional_levels\": {\n \"vwap\": 123,\n \"ib_high\": 123,\n \"ib_low\": 123,\n \"poc\": 123,\n \"vah\": 123,\n \"val\": 123,\n \"pivots\": {}\n }\n },\n \"sizing\": {\n \"shares_or_contracts\": 123,\n \"risk_per_unit\": 123,\n \"risk_dollars\": 123,\n \"position_value\": 123,\n \"portfolio_heat_pct\": 123,\n \"day_type_modifier\": 123,\n \"vix_modifier\": 123,\n \"consecutive_loss_modifier\": 123\n },\n \"entry_plan\": {\n \"order_type\": \"<string>\",\n \"limit_price\": 123,\n \"trigger_conditions\": [\n \"<string>\"\n ],\n \"trigger_type\": \"<string>\",\n \"trigger_level\": 123,\n \"entry_zone\": {},\n \"scaling\": [\n {}\n ],\n \"invalidation\": \"<string>\",\n \"time_window\": \"<string>\"\n },\n \"exit_plan\": {\n \"stop_type\": \"<string>\",\n \"trail_offset\": 123,\n \"time_stop\": \"<string>\",\n \"partial_targets\": [\n {}\n ],\n \"stop_management\": {},\n \"time_stops\": {},\n \"invalidations\": [\n {}\n ]\n },\n \"risk_context\": {\n \"portfolio_heat_before\": 123,\n \"portfolio_heat_after\": 123,\n \"correlated_positions\": [\n \"<string>\"\n ],\n \"max_daily_loss_used\": 123,\n \"gates_passed\": [\n \"<string>\"\n ],\n \"gates_failed\": [\n \"<string>\"\n ],\n \"daily_pnl_pct\": 123,\n \"weekly_pnl_pct\": 123,\n \"open_positions\": 123,\n \"available_slots\": 123,\n \"cleared_to_trade\": true\n },\n \"validation\": {\n \"confidence\": 123,\n \"key_risk\": \"<string>\",\n \"debate_id\": \"<string>\",\n \"thesis_alignment\": \"<string>\",\n \"edge_quality\": \"<string>\",\n \"deciding_factors\": [\n \"<string>\"\n ],\n \"agent_session_id\": \"<string>\",\n \"reasoning\": \"<string>\",\n \"pop\": 123,\n \"pop_source\": \"<string>\",\n \"pop_sample_size\": 123,\n \"rationale\": \"<string>\"\n },\n \"backtest_edge\": {\n \"total_trades\": 123,\n \"win_rate\": 123,\n \"avg_r\": 123,\n \"profit_factor\": 123,\n \"edge_quality\": \"<string>\",\n \"similar_setups\": [\n {}\n ]\n },\n \"time_validity\": \"<string>\",\n \"risk_reward\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/graph/v1/action-cards-v2")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"underlying_symbol\": \"<string>\",\n \"instrument_symbol\": \"<string>\",\n \"entry_price\": 123,\n \"stop_loss\": 123,\n \"targets\": [\n {\n \"price\": 123,\n \"exit_pct\": 50,\n \"label\": \"<string>\"\n }\n ],\n \"source_id\": \"<string>\",\n \"group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"group_role\": \"<string>\",\n \"contract\": {\n \"symbol\": \"<string>\",\n \"expiration\": \"<string>\",\n \"strike\": 123,\n \"delta\": 123,\n \"gamma\": 123,\n \"theta\": 123,\n \"vega\": 123,\n \"iv\": 123,\n \"iv_percentile\": 123,\n \"bid\": 123,\n \"ask\": 123,\n \"mid\": 123,\n \"spread_pct\": 123,\n \"oi\": 123,\n \"volume\": 123,\n \"dte\": 123\n },\n \"premium_levels\": {\n \"entry\": 123,\n \"stop\": 123,\n \"t1\": 123,\n \"t2\": 123,\n \"breakeven\": 123\n },\n \"market_context\": {\n \"regime\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"vix\": 123,\n \"vix_context\": \"<string>\"\n },\n \"day_type\": {\n \"classification\": \"<string>\",\n \"confidence\": 123,\n \"size_modifier\": 123\n },\n \"confluence\": {\n \"bull\": 123,\n \"bear\": 123,\n \"net\": 123,\n \"tier\": \"<string>\",\n \"bias\": \"<string>\"\n },\n \"trend\": {\n \"price\": 123,\n \"ema20\": 123,\n \"sma50\": 123,\n \"sma200\": 123,\n \"stack_valid\": true\n },\n \"volume\": {\n \"rvol\": 123,\n \"trend\": \"<string>\",\n \"breakout_node\": \"<string>\"\n },\n \"institutional_levels\": {\n \"vwap\": 123,\n \"ib_high\": 123,\n \"ib_low\": 123,\n \"poc\": 123,\n \"vah\": 123,\n \"val\": 123,\n \"pivots\": {}\n }\n },\n \"sizing\": {\n \"shares_or_contracts\": 123,\n \"risk_per_unit\": 123,\n \"risk_dollars\": 123,\n \"position_value\": 123,\n \"portfolio_heat_pct\": 123,\n \"day_type_modifier\": 123,\n \"vix_modifier\": 123,\n \"consecutive_loss_modifier\": 123\n },\n \"entry_plan\": {\n \"order_type\": \"<string>\",\n \"limit_price\": 123,\n \"trigger_conditions\": [\n \"<string>\"\n ],\n \"trigger_type\": \"<string>\",\n \"trigger_level\": 123,\n \"entry_zone\": {},\n \"scaling\": [\n {}\n ],\n \"invalidation\": \"<string>\",\n \"time_window\": \"<string>\"\n },\n \"exit_plan\": {\n \"stop_type\": \"<string>\",\n \"trail_offset\": 123,\n \"time_stop\": \"<string>\",\n \"partial_targets\": [\n {}\n ],\n \"stop_management\": {},\n \"time_stops\": {},\n \"invalidations\": [\n {}\n ]\n },\n \"risk_context\": {\n \"portfolio_heat_before\": 123,\n \"portfolio_heat_after\": 123,\n \"correlated_positions\": [\n \"<string>\"\n ],\n \"max_daily_loss_used\": 123,\n \"gates_passed\": [\n \"<string>\"\n ],\n \"gates_failed\": [\n \"<string>\"\n ],\n \"daily_pnl_pct\": 123,\n \"weekly_pnl_pct\": 123,\n \"open_positions\": 123,\n \"available_slots\": 123,\n \"cleared_to_trade\": true\n },\n \"validation\": {\n \"confidence\": 123,\n \"key_risk\": \"<string>\",\n \"debate_id\": \"<string>\",\n \"thesis_alignment\": \"<string>\",\n \"edge_quality\": \"<string>\",\n \"deciding_factors\": [\n \"<string>\"\n ],\n \"agent_session_id\": \"<string>\",\n \"reasoning\": \"<string>\",\n \"pop\": 123,\n \"pop_source\": \"<string>\",\n \"pop_sample_size\": 123,\n \"rationale\": \"<string>\"\n },\n \"backtest_edge\": {\n \"total_trades\": 123,\n \"win_rate\": 123,\n \"avg_r\": 123,\n \"profit_factor\": 123,\n \"edge_quality\": \"<string>\",\n \"similar_setups\": [\n {}\n ]\n },\n \"time_validity\": \"<string>\",\n \"risk_reward\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "manual",
"underlying_symbol": "<string>",
"instrument_type": "equity",
"instrument_symbol": "<string>",
"direction": "LONG",
"timeframe": "intraday",
"entry_price": "<string>",
"stop_loss": "<string>",
"targets": [
{
"price": "<string>",
"exit_pct": 50,
"label": "<string>"
}
],
"status": "draft",
"completeness": "skeleton",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"risk_reward": "<string>",
"source_id": "<string>",
"group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"group_role": "<string>",
"contract": {
"symbol": "<string>",
"expiration": "<string>",
"strike": "<string>",
"option_type": "call",
"delta": 123,
"gamma": 123,
"theta": 123,
"vega": 123,
"iv": 123,
"iv_percentile": 123,
"bid": "<string>",
"ask": "<string>",
"mid": "<string>",
"spread_pct": 123,
"oi": 123,
"volume": 123,
"dte": 123
},
"premium_levels": {
"entry": "<string>",
"stop": "<string>",
"t1": "<string>",
"t2": "<string>",
"breakeven": "<string>"
},
"market_context": {
"regime": {
"classification": "<string>",
"confidence": 123,
"vix": 123,
"vix_context": "<string>"
},
"day_type": {
"classification": "<string>",
"confidence": 123,
"size_modifier": 123
},
"confluence": {
"bull": 123,
"bear": 123,
"net": 123,
"tier": "<string>",
"bias": "<string>"
},
"trend": {
"price": 123,
"ema20": 123,
"sma50": 123,
"sma200": 123,
"stack_valid": true
},
"volume": {
"rvol": 123,
"trend": "<string>",
"breakout_node": "<string>"
},
"institutional_levels": {
"vwap": 123,
"ib_high": 123,
"ib_low": 123,
"poc": 123,
"vah": 123,
"val": 123,
"pivots": {}
}
},
"sizing": {
"shares_or_contracts": 123,
"risk_per_unit": "<string>",
"risk_dollars": "<string>",
"position_value": "<string>",
"portfolio_heat_pct": 123,
"day_type_modifier": 123,
"vix_modifier": 123,
"consecutive_loss_modifier": 123
},
"entry_plan": {
"order_type": "<string>",
"limit_price": "<string>",
"trigger_conditions": [
"<string>"
],
"trigger_type": "<string>",
"trigger_level": "<string>",
"entry_zone": {},
"scaling": [
{}
],
"invalidation": "<string>",
"time_window": "<string>"
},
"exit_plan": {
"stop_type": "<string>",
"trail_offset": "<string>",
"time_stop": "<string>",
"partial_targets": [
{}
],
"stop_management": {},
"time_stops": {},
"invalidations": [
{}
]
},
"risk_context": {
"portfolio_heat_before": 123,
"portfolio_heat_after": 123,
"correlated_positions": [
"<string>"
],
"max_daily_loss_used": 123,
"gates_passed": [
"<string>"
],
"gates_failed": [
"<string>"
],
"daily_pnl_pct": 123,
"weekly_pnl_pct": 123,
"open_positions": 123,
"available_slots": 123,
"cleared_to_trade": true
},
"validation": {
"confidence": 123,
"key_risk": "<string>",
"debate_id": "<string>",
"thesis_alignment": "<string>",
"edge_quality": "<string>",
"deciding_factors": [
"<string>"
],
"agent_session_id": "<string>",
"reasoning": "<string>",
"pop": 123,
"pop_source": "<string>",
"pop_sample_size": 123,
"rationale": "<string>"
},
"backtest_edge": {
"total_trades": 123,
"win_rate": 123,
"avg_r": 123,
"profit_factor": 123,
"edge_quality": "<string>",
"similar_setups": [
{}
]
},
"execution_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"outcome": {
"pnl_dollars": "<string>",
"pnl_pct": 123,
"r_multiple": 123,
"exit_reason": "<string>",
"hold_days": 123,
"filled_price": "<string>",
"closed_at": "2023-11-07T05:31:56Z"
},
"time_validity": "<string>",
"change_log": [
{}
],
"expires_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Body
Create a new action card.
Source-adaptive: manual cards need only core fields while debate/agent cards carry richer validation and market context.
How the action card was created.
manual, debate, rules, agent Instrument type for the action card.
equity, option LONG, SHORT intraday, swing, position Show child attributes
Show child attributes
Options contract details.
Show child attributes
Show child attributes
Premium-based levels for options trades.
Show child attributes
Show child attributes
Combined market context for enrichment.
Show child attributes
Show child attributes
Position sizing details.
Show child attributes
Show child attributes
Entry execution plan.
Show child attributes
Show child attributes
Exit execution plan.
Show child attributes
Show child attributes
Risk guardian context at card creation.
Show child attributes
Show child attributes
Validation context from debate or analysis.
Show child attributes
Show child attributes
Historical backtest edge data.
Show child attributes
Show child attributes
Response
Successful Response
Full action card response.
How the action card was created.
manual, debate, rules, agent Instrument type for the action card.
equity, option LONG, SHORT intraday, swing, position ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Show child attributes
Show child attributes
Action card lifecycle status.
draft, active, monitoring, closed, expired, dismissed Completeness tier based on enrichment sections present.
skeleton, enriched, actionable, validated ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Options contract details.
Show child attributes
Show child attributes
Premium-based levels for options trades.
Show child attributes
Show child attributes
Combined market context for enrichment.
Show child attributes
Show child attributes
Position sizing details.
Show child attributes
Show child attributes
Entry execution plan.
Show child attributes
Show child attributes
Exit execution plan.
Show child attributes
Show child attributes
Risk guardian context at card creation.
Show child attributes
Show child attributes
Validation context from debate or analysis.
Show child attributes
Show child attributes
Historical backtest edge data.
Show child attributes
Show child attributes
Post-trade outcome tracking.
Show child attributes
Show child attributes